《数字签名技术》ppt课件

上传人:tia****nde 文档编号:69672471 上传时间:2019-01-14 格式:PPT 页数:47 大小:577.81KB
返回 下载 相关 举报
《数字签名技术》ppt课件_第1页
第1页 / 共47页
《数字签名技术》ppt课件_第2页
第2页 / 共47页
《数字签名技术》ppt课件_第3页
第3页 / 共47页
《数字签名技术》ppt课件_第4页
第4页 / 共47页
《数字签名技术》ppt课件_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《《数字签名技术》ppt课件》由会员分享,可在线阅读,更多相关《《数字签名技术》ppt课件(47页珍藏版)》请在金锄头文库上搜索。

1、1/47,兰州交通大学电子与信息工程学院,2019/1/14,应用密码学手册 数字签名,2/47,兰州交通大学电子与信息工程学院,2019/1/14,参考书籍,Handbook of Applied Cryptography: Chapter 11 数字签名理论:赵泽茂 应用密码学: 孙淑玲 应用密码学:协议、算法与C源程序W.迪菲,3/47,兰州交通大学电子与信息工程学院,2019/1/14,11.1 引言 11.2 数字签名机制的框架 11.3 RSA和相关的签名方案 11.4 Fiat-Shamir签名方案 11.5 DSA和相关签名方案 11.6 一次数字签名 11.7 其他数字签名

2、11.8 带附加功能的签名,主要内容:,4/47,兰州交通大学电子与信息工程学院,2019/1/14,11.1 引言,本章要研究的问题,本章要考虑的技术是如何设计手写签名的数字相似物数字签名,5/47,兰州交通大学电子与信息工程学院,2019/1/14,研究背景,计算机网络的产生把我们带进一个信息化社会。在信息社会里,大量传输和存储信息的安全保密和防伪问题成为人们关注的一个重要课题。,普遍的观点认为,现代密码技术是解决信息安全的最有效地方法,因此,密码学的研究成为当前国际上的一个热点。,6/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名的产生,重要证书、证件采用的防 伪技术

3、是使用特殊材料或 者信息隐藏等,网 络,1.否认 2.伪造 3.冒充 4.篡改,数字签名,7/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名标准,ISO/IEC 9796是数字签名的第一个国际标准,1991公布。 1994年美国政府正式颁发了美国数字签名标准DSS(Digital Signature Standard) 1995年我国也制定了自己的数字签名标准(GB15851-1995) 2004年我国颁发中华人民共和国电子签名法,8/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名的原理,9/47,兰州交通大学电子与信息工程学院,2019/1/14,数字

4、签名的功能,1.机密性 2.完整性 3.身份验证 4.防伪造 5.防抵赖 6.防重放攻击,10/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名技术的应用,用户登录 认证 数据完整性 不可抵赖性 大型网络的公钥证书中 电子交易和电子货币等领域,11/47,兰州交通大学电子与信息工程学院,2019/1/14,准备知识,1.Hash函数(即杂凑函数)(见参考书籍1/1.9) 2.冗余函数 3.整数因子分解问题(见参考书籍1/3.2) 4.计算两个整数的最大公因子的欧几里得算法 (见参考书籍1/2.1.4) 5.扩展的欧几里得算法(见参考书籍1/2.107) 6.模n平方根的困难性

5、(见参考书籍1/3.5.2) 7.求a模素数p的平方根(见参考书籍1/3.39) 8.模n的二次剩余集(见参考书籍4/11.3.9) 9.剩余类集合 10.勒让德符号(见参考书籍4/11.3.10) 11.雅可比符号(见参考书籍4/11.3.11),12/47,兰州交通大学电子与信息工程学院,2019/1/14,11.2 数字签名机制的框架,基本定义,1.数字签名是一个数字串,它将一条数字形式的消息与某发 起实体相关联。,2.数字签名生成算法是产生数字签名的某种方法。,3.数字签名验证算法是检验一个数字签名是否可信(即是否 真的是由指定的实体生成)的某种方法。,4.数字签名方案(或机制)由签名

6、生成算法和相关的验证算 法组成。,5.数字签名的签名过程包括数字签名生成算法,以及某种将 数据格式化为可签名消息的方法。,6.数字签名的验证过程包括验证算法,以及某种由消息恢复 数据的方法。,13/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名机制中的记号,14/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名方案的分类,带附录的数字签名方案:要求初始消息作为验证算法的输入 DSA、ElGamal和Schnorr签名方案 消息可以是任意长度 带消息恢复的数字签名方案:消息可从签名自身恢复,不要求初始消息作为验证算法的输入 RSA、Rabin等公钥签名方案

7、通常消息的长度固定,15/47,兰州交通大学电子与信息工程学院,2019/1/14,数字签名方案的分类,数字签名方案,带消息恢复,带附录,随机化的,确定性的,随机化的,确定性的,针对一个数字签名方案,如果有 R 1,则称此签名方案是随机化数字签名方案,否则称它是确定性数字签名方案。,16/47,兰州交通大学电子与信息工程学院,2019/1/14,带附录的数字签名方案,M:消息空间=m Mh:消息摘要空间= S:消息签名空间=s* h: Hash函数 SA,k: 签名变换(1-1映射) VA:验证变换,17/47,兰州交通大学电子与信息工程学院,2019/1/14,带消息恢复的数字签名方案,M:

8、消息空间=m MR:消息的冗余值空间= MS:待签空间 S:消息的签名空间=s* R: 冗余函数(可逆) (1-1映射) SA,k: 签名变换(1-1映射),18/47,兰州交通大学电子与信息工程学院,2019/1/14,从带消息恢复的方案得到带附录的签名方案,先杂凑消息m; 再对该杂凑值h(m)签名,19/47,兰州交通大学电子与信息工程学院,2019/1/14,签名方案的攻击类型,敌手的目标是:伪造签名 完全攻克:敌手能计算出私钥 选择性伪造:敌手能对一个特殊的消息或者预先选定的一类消息构造出正确的签名 存在性伪造:敌手能伪造至少一个消息的签名,但敌手对被伪造签名所对应的消息几乎没有控制能

9、力,20/47,兰州交通大学电子与信息工程学院,2019/1/14,11.3 RSA和相关签名方案,RSA签名方案 有关RSA签名的可能攻击 实际中的RSA签名 Rabin签名方案 ISO/IEC 9796规范 PKCS #1规范,21/47,兰州交通大学电子与信息工程学院,2019/1/14,RSA签名方案,RSA是以它的三个发明者Ron Rivest,Adi Shamir和Leoard Adleman的名字命名。 RSA算法既可以用于加密,也可以用于数字签名。因为其加密变换是双射的,所以只要互换加密与解密的角色就可以得到数字签名方案。 RSA的安全性基于大数分解的困难性,该算法已经经受住了

10、多年深入的密码分析,密码分析者既不能证明也不能否认RSA的安全性,这恰恰说明该算法有一定的可信度。,22/47,兰州交通大学电子与信息工程学院,2019/1/14,RSA签名方案的密钥生成,实体A执行如下操作: 随即产生大小相近的两个不同大素数p和q 计算 n=pq,其欧拉函数值(n)=(p1)(q1) 随机选一整数e,1e(n),满足gcd(n), e)=1 利用扩展的欧几里德算法,计算惟一的整数d, 1d (n),满足de 1 mod (n) 公钥为(n,e) ;私钥为d。(p, q不再需要,可以销毁。),23/47,兰州交通大学电子与信息工程学院,2019/1/14,RSA的签名生成与验

11、证,实体A执行如下操作:,为验证A的签名s且恢复消息m,B执行如下操作:,24/47,兰州交通大学电子与信息工程学院,2019/1/14,RSA签名实例讲解,1)若Bob选择了p=11和q13 2)那么,n=11 13=143, (n)=1012120 3)再选取一个与(n)=120互质的数,例如e=7 4)找到一个值d=103满足ed1 mod (n) (7103=721,除以120余1) 5)(n=143,e=7)为公钥,d=103为私钥。 6)Bob在一个目录中公开公钥:n=143和e=7 7)现假设Bob想发送消息85给Alice,他用自己的密钥 (d=103)进行签名:85103(m

12、od 143)=6,于是发送消息85 和签名6给Alice 8)当Alice接收到消息85和签名6时,用Bob公开的公钥 (e7)进行验证:67(mod 143)=85,跟Bob发送的消 息一致,于是确定该消息是由Bob所发送,且没有被修改。,25/47,兰州交通大学电子与信息工程学院,2019/1/14,RSA签名和RSA加密的异同点,相同点,都使用一对密钥:公钥(n,e)和私钥d,不同点,RSA加密:用公钥加密,用私钥解密,多人加密,一人解密 s=me mod n m=sd mod n RSA签名:用私钥签名,用公钥验证,一人签名,多人验证 s=md mod n m=se mod n,26

13、/47,兰州交通大学电子与信息工程学院,2019/1/14,有关RSA签名的可能攻击,整数因子分解 (公钥为(n,e) ) de1 mod (n) 分解n=pq 再计算出(n)=(p1)(q1) 由(n)和e,推导出私钥d RSA的乘性质 s1=m1d mod n s2=m2d mod n (s1s2)=(m1m2)d mod n 要求冗余函数R具有非乘性,即R(ab)R(a) R(b) (必要条件),为了防止此攻击,签署者必须选择p和q,使得分解n是一个计算上不可行的任务。,为了防止此攻击,要求冗余函数R的非乘性。,27/47,兰州交通大学电子与信息工程学院,2019/1/14,实际中的RS

14、A签名,通常是:实体A将消息先签名再加密,然后发给B 假设(nA,eA)和(nB,eB)分别是A和B的公钥 有以下问题: 1.重分组问题 2.冗余函数的选择 3.参数的选取 4.带宽效率 5.系统范围参数 6.消息长短的比较,28/47,兰州交通大学电子与信息工程学院,2019/1/14,使用RSA签名的建议,(1)参数的选取:p,q,e,d。 (2)不可使用公共模数。 (3)明文的熵要尽可能的大。 (4)尽量使用散列函数。 (5)若RSA的模数n=2k bits,则: 若消息的长度k bits,采用带消息恢复的RSA签名 否则,采用带附录的RSA签名,29/47,兰州交通大学电子与信息工程学

15、院,2019/1/14,Rabin公钥签名方案,Rabin公钥签名方案与RSA方案类似,不过它使用的公开指数e是偶数。为简单起见,假定e=2.待签名空间Ms是Qn(模n的二次剩余集),并且签名是Qn中元素的平方根。,用到的知识: 1.模n的二次剩余集 2.模n的平方根 3.剩余类的集合 4.合数 5.勒让德符号 6.雅可比符号,RSA签名方案中p和q是不同的素数,从而(n)=(p1)(q1)是偶数。而e必须满足gcd(e, )=1,所以e是奇数。,30/47,兰州交通大学电子与信息工程学院,2019/1/14,Rabin公钥签名方案的密钥生成,概要:每个实体生成各自的公钥和相应私钥。,1.随机

16、产生两个不同的大素数p和q,实体A执行如下操作:,2.计算n=pq,3.A的公钥是n,私钥是(p,q),31/47,兰州交通大学电子与信息工程学院,2019/1/14,Rabin方案的签名生成和验证,概要:实体A签署消息m,任何实体B都可以验证A的签名,并从中恢复消息m。,实体A执行如下操作:,为验证A的签名s且恢复消息m,B执行如下操作:,32/47,兰州交通大学电子与信息工程学院,2019/1/14,签名验证: B计算 。既然 ,那么B接受签名并恢复出消息,密钥生成: 实体A选择素数p=7,q=11,计算n=77.则A的公钥是n=77,私钥是(p=7,q=11)。待签空间(模n的二次剩余集) MS=Qn=1,4,9,15,16,23,25,36,37,53,58,60,64,67,71。为简单起见,取M=MS,并且设冗余函数R是恒等映射(即 ),签

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号