Digital Signature Algorithm(DSA)
three public parameters:
1.160-bit prime number q is chosen;
2.prime number p is selected with a length between 512 and 1024 bits , such that q divides(p-1).
3.g is chosen to be of the form h^((p-1)/q)mod p. 1<g<p-1.
With these numbers in hand, each user selects a private key and genertes a public key. The private key x must be a number from 1 to q-1 and should be chose randomly or pseudorandomly. The public key is calculated from the private key as y=g^x mod p. The calculation of y given x is relatively straightforward. However, given the public key y, it is believed to be computationally infeasible to determine x, which is the discrete logarithm of y to the base g, mod p.