E 和 N 就是签名者的公钥。
[h2]
[/h2]DSA(Digital Signature Algorithm)
NIST(National Institute of Standards and Technology)于 1991 年制定的数字签名规范(Digital Signature Standard,DSS)。DSA 是 Schnorr 算法和 ElGamal 方式的变体,只能用于数字签名,不能进行加密解密。
DSA算法中应用了下述参数:
p:L 比特长的素数。L 是 64 的倍数,范围是 512 到 1024;
q:p – 1 的 160 比特的素因子;
g:g = h^((p-1)/q) mod p,h 满足 h < p – 1, h^((p-1)/q) mod p > 1;
x:x < q,x 为私钥;
y:y = g^x mod p ,( p, q, g, y )为公钥;
H( x ):单向Hash函数。DSS 中 选用 SHA( Secure Hash Algorithm )。
[h2]
[/h2][h2]生成 DSA 密钥对[/h2]