- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 数字签名
8.1思想
手写签名:Alice对一个文档利用手写签名后, 人们就可以验证她的签名,并且其他人很难模仿她的签名.
数字签名(digital signature),也称电子签名,就是对电子文档利用电子手段进行签名,电子签名必须至少具备手写签名的两个性质,即可验证性与不可伪造性.
!公钥密码体制可提供数字签名:
用私 钥d对文档签名,
用公钥e对签名进行验证。
一个数字签名方案包括3个部分
(1)密钥生成:产生公钥与私钥如公钥密码体制;
(2)签名算法:利用私钥对文档签名;
(3)验证算法:利用公钥对签名进行验证.
8.2 数字签名的安全性
安全模型
(1) 攻击目标
完全攻破(total break):Oscar找到私钥d. UB:Unbreakability
泛伪造(universal forgery):Oscar可以对任何文档
产生合法的签名,即能通过验证算法的签名.
UU:Universal Unforgeability
选择性伪造(selective forgery):Oscar能以不可忽略的概率对另外某个人选择的文档产生一个合法的签名.
SU: Selective Unforgeability
存在性伪造(existential forgery):Oscar至少能为一
则文档签名.
EU:Existential Unforgeability
(2) 攻击类型
唯密钥攻击(key only attack):Oscar只拥有公钥.
KOA
已知消息攻击(known message attack):Oscar拥有一些消息与相应的签名.
KMA
选择消息攻击(chosen message attack):Oscar可以请求Alice对他选择的任意消息签名.
CMA
!数字签名设计的最高安全要求是:设计的数字签名方案在选择消息攻击下不可存在性伪造(EU-CMA).
对教科书式RSA签名的攻击:
(1)惟密钥攻击下的存在性伪造;
(2)已知消息攻击下的存在性伪造;
(3)选择消息攻击下的泛伪造。
8.3 两类改进的RSA签名方案
可通过加盐或使用hash函数克服前面对
教科书式RSA签名方案的攻击.
(1)加盐(添加冗余)
如,只对二进制展开型为w||w(其中w是0,1序列)的消息m进行签名.也可以利用其它的添加冗余方式.这种方法也被称是消息恢复签名方法.
带消息恢复的RSA数字签名
(1)密钥生成如RSA密码体制:n=pq, ed≡1mod(p-1)(q-
1),(n,e)是Alice的公钥,d是Alice的私钥.
(2)签名算法:
利用一个公开的冗余函数R.
[1]对文档D∈Zn,Alice计算R(D)= w||w,
[2]计算s= (w||w) d mod n,s就是Alice对文档D的
签名.
(3)验证算法:任何人在收到s后,可利用Alice的公钥验证签名,计算se modn,看结果是否具有w||w的形式, ①若有则签名是Alice的合法签名, ②若不具有,则签名非法.
(2)先hash,后签名的方法
这种方法也被称是带附录的方法.
这是密码学界目前流行的方法.
带附录的RSA数字签名
(1)密钥生成如RSA密码体制:n=pq, ed≡1mod(p-1)(q-
1),(n,e)是Alice的公钥,d是Alice的私钥.
(2)签名算法:
利用一个公开的密码学hash函数h,如SHA-1.
[1]对文档D∈Zn,Alice先计算m=h(D)
[2]计算s=md mod n,s就是Alice对文档D的签名.
(3)验证算法:任何人在收到(D,s)后,
[1]计算m=h(D)
[2]可利用Alice的公钥验证签名,计算se modn,看结果是否等于m, ①若相等,则签名是Alice的合法签名; ②若不相等,则签名非法.
注:(1)前面构造的两种数字签名目前还没有严格证明表明它们在选择消息攻击下不可存在性伪造(EU-CMA);
(2)存在RSA数字签名的变形在某些假设下能被证明在选择消息攻击下不可存在性伪造(EU-CMA)。
8.4 利用公钥密码体制构造数字签名的方法
方法如下
8.5 Elgamal数字签名
Elgamal数字签名
(1)密钥生成如ELgamal密码体制:g是Zp﹡的一个本原元,
p是一个随机素数,A=ga mod p, a随机,a∈{0,1,…,p-2},
文档评论(0)