- 39
- 0
- 约1.92千字
- 约 10页
- 2018-07-31 发布于天津
- 举报
DSSDigitalSignatureStandard是EIGamal数字签名算法的一个变形
* * 5.4 EIGamal数字签名 1)密钥生成 是 的本原元素,A选择 , . 是公钥, 是私钥 2)签名算法 A选择秘密随机数 , 其中 3)验证算法 对于EIGamal数字签名算法有下面两种伪造攻击 欺骗者O同时选择 计算 。不难 证明 ( ) 是A对消息x的合法签名。 2) O已知( )是A对消息x的合法签名,利用它再伪 造一批A的签名。选择整数 。计算 () 不难证明是A对消息 的合法签名 可以通过事先对消息进行散列来抵抗上述攻击 在使用ElGamal签名时特别要注意 1)不能泄露随机数k。如果泄露随机数k,可由 求出密钥 。 2)不能使用相同的k去签两个不同信息。假如使用 相同的k对消息x1,x2的签名分别是 , 。由签名算法得知 ,又 得出 ,令 ,由 得到d个k的后选值。 通过验证 确定唯一的k值。再由 求出 。 5.5 数据签名标准DSS 许多被签名的是合同、遗嘱等法律文件要在签署后许多年之后验证。考虑到技术的发展,对数字签名算法更强调安全性。DSS(Digital Signature Standard)是EIGamal数字签名算法的一个变形。1991年8月30日第一次提出。它的修改版于1994年5月19日公布,并于同年12月1日采纳为美国的数字签名标准。当选择p是512 位的素数时,ElGamal签名算法的大小是1024位。DSS中通过又引入一个160位的素数将签名的大小减少为320位,从而减少存储空间和传输带宽。 令p是512 位的素数,以使 中的离散对数是困难问 题, q 是160 位的素数且 任选 ,计 算 ,如果 ,则 是q阶元。取秘 密指数a, ,计算 是公钥 , 是私钥 。 签名算法 : 选取随机数 k, 计算 若: ,(概率只为: ),则重新选择k 是对消息x的签名 验证算法 : 计算 若 , 则接受 是对消 息x的签名。否则拒绝。 具体实施中的细节: 1) 可以事先选好一批 计算出相应的 和
原创力文档

文档评论(0)