标题: DSA相关的趣味数学题(1) https://scz.617.cn/misc/201607011637.txt DSA算法简要描述: -------------------------------------------------------------------------- Digital Signature Algorithm http://en.wikipedia.org/wiki/Digital_Signature_Algorithm -------------------------------------------------------------------------- p L-bits的素数,L是64的倍数,过去的范围[512,1024],现在推荐2048或3072 2^(L-1) < p < 2^L p-1至少包含一个大素因子,以抵御Pohlig-Hellman算法 q p-1的素因子 q的位数必须小于等于HASH值的位数 g=h^((p-1)/q) mod p 1 < h < p-1 h^((p-1)/q) mod p > 1 g是满足"g^q mod p=1"的最小正整数,ord(g)=q。 由g生成Zp*中唯一的q阶循环子群 x 0 < x < q (p,q,g,x)是私钥 y y=g^x mod p (p,q,g,y)是公钥 -------------------------------------------------------------------------- 签名过程: -------------------------------------------------------------------------- a. 产生随机数0