DSA签名算法
dyplm123
这个作者很懒,什么都没留下…
展开
-
python Crypto中DSA签名的源码分析(1)——密钥生成
DSA需要的密钥有三种,分别是全局公开钥:p、q、g;私钥x;公钥y,具体要求如下: -全局公钥p:满足的大素数,其中512≤L≤1024且L是64的倍数; -全局公钥q:p-1的素因子,满足,即q一定是160bit; -全局公钥g:,其中h是满足1<h<p-1且使得的任一整数; -服务器私钥x:满足0<x<q的随机数或伪随机数; ...原创 2019-03-11 22:40:19 · 1905 阅读 · 0 评论 -
python Crypto包中DSA签名的源码分析(2)——签名与验证签名
DSA签名过程如下: 计算和,其中p、q、g是第一步生成的全局公钥,k是的随机数或者伪随机数,H是杂凑函数,M是待签名的信息 Crypto中DSA签名关键源码如下: inv_k = inverse(k, self.q) # Compute k**-1 mod q r = pow(self.g, k, self.p) % self.q # r = (g*...原创 2019-03-12 16:40:52 · 1149 阅读 · 0 评论