In this thesis, we investigate in detail, certain important problems in cryptography and coding theory. In the first part of this thesis, we discuss the number field sieve and compare the two ways in which the sieving step is implemented - one method using the line sieve and the other using the lattice sieve. We discuss why the lattice sieve performs better than the line sieve in the presence of large primes - this has not been attempted before. In the second part of this thesis, we design low-correlation CDMA sequences over the Quadrature Amplitude Modulation (QAM) alphabet. The sequences proposed in this thesis have the lowest value of the maximum correlation parameter as compared to any other family in the literature. In the third part of this thesis, we design large families of optimal two-dimensional optical orthogonal codes for optical CDMA. The size of these codes is larger than any other code in the literature.