Abstract: We wish to find the smallest non-negative integer, , for which y=g where, y, GF(p) (if such an exists). This is the Discrete Logarithm Problem (DLP). A number of strategies have been proposed to solve the DLP, among them, Shanks Baby-Step Giant-Step algorithm, the Pollard Rho algorithm, the Pohlig-Hellman algorithm and the Index-Calculus method. We show that, given certain assumptions about the smoothness of the integers, the index calculus will, in general, out-perform the other three methods, substantially increasing the range of problems which are feasible to solve and thereby threatening the security of the DLP-based crypto-algorithms like, DH key exchange protocol, ElGamal cryptosystem, DSA and many others. In this paper we describe basic principle and implementation procedure to these DLP-crypto algorithms. We will also discuss the general methods of attacking DLP cryptosystems and how secure they are against these general attacks. The mathematical challenge here lies in computing discrete logarithms in finite fields of type Zp, which consist of the integers modulo a large prime p.