- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代密码学第八讲:数字签名136027.ppt
数字签名 上章内容回顾 公钥密码体制的提出及分类 公钥密码体制的基本概念 单向陷门函数的概念 设计公钥加密算法--背包密码体制 RSA算法及攻击方法 ElGmal算法 椭圆曲线密码体制 本章主要内容 数字签名的基本概念 一般数字签名算法 RSA数字签名技术 数字签名标准 基于离散对数的数字签名 椭圆曲线数字签名 数字签名的基本概念 手写签名与数字签名的区别 手写签名是一种传统的确认方式,如写信、签订协议、支付确认、批复文件等. 手写签名是所签文件的物理组成部分;数字签名必须与所签文件捆绑在一起。 手写签名通过与标准签名比较或检查笔迹来验证,伪造签名比较容易;数字签名是通过公开的验证算法来验证。好的数字签名算法应该伪造签名十分困难。 手写签名不易复制;数字签名是一个二进制信息,十分容易复制,所以必须防止数字签名重复使用。 数字签名和消息认证码的异同: 消息完整性验证、消息源认证. 消息认证的作用是保护通信双方以防第三方的攻击,然而却不能保护通信双方中的一方防止另一方的欺骗或伪造. ① B伪造一个消息并使用与A共享的密钥产生该消息的认证码,然后声称该消息来自于A. ② 由于B有可能伪造A发来的消息,所以A就可以对自己发过的消息予以否认. 数字签名技术则可有效解决这一问题, 类似于手书签名,数字签名应具有以下性质: ① 能够验证签名产生者的身份,以及产生签名的日期和时间. ② 能保证被签消息的内容的完整性. ③ 数字签名可由第三方公开验证,从而能够解决通信双方的上述争议. 数字签名在网络安全中提供数据完整性、数据源认证性、数据不可否认性等性质 数字签名的基本概念 所谓数字签名(Digital Signature),也称电子签名,是指附加在某一电子文档中的一组特定的符号或代码,它是利用数学方法对该电子文档进行关键信息提取并与用户私有信息进行混合运算而形成的,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子文档在传输过程中是否被篡改或伪造. 数字签名的基本概念 数字签名的目的是提供一种手段,使得一个实体把他的身份与某个信息捆绑在一起. 一个消息的数字签名实际上是一个数,它仅仅依赖于签名者知道的某个秘密和被签名信息的本身. 数字签名基于两条基本的假设:一是私钥是安全的,只有其拥有者才能获得;二是产生数字签名的惟一途径是使用私钥。 数字签名的基本概念 1976, W Diffie 和 M Hellman 在“New Directions in Cryptography”, 首先提出了数字签名的思想并猜测存在这样的方案 1978,R Rivest, A Shamir, 和 L Adleman 发明了RSA算法可以用作数字签名算法. 1984, S Goldwasser, S Micali, 和 R Rivest 首次粗略提出了数字签名算法的安全性要求. 2004,中国颁布电子签章法 数字签名的基本概念 数字签名的攻击: 惟密钥攻击:攻击者只有用户公开的密钥. 已知消息攻击:攻击者拥有一些消息的合法签名,但是消息不由他选择. 选择消息攻击:攻击者可以自由选择消息并获取消息的签名. 攻击结果: 完全破译:攻击者恢复出用户的密钥. 一致伪造:攻击者对于任意消息可以伪造其签名. 选择性伪造:攻击者可以对一个自己选取的消息伪造签名. 存在性伪造:攻击者可以生成一些消息的签名,但在伪造前对该消息一无所知. 数字签名的基本概念 数字签名算法满足的条件: 签名是可以被确认--接受者能够核实发送者对消息的签名. 签名是不可伪造-- 除了发送者,任何人(包括接受者)不能伪造消息的签名. 签名是不可重用-- 同一消息不同时刻其签名是有区别的. 签名是不可抵赖-- 发送者事后不能抵赖对消息的签名,出现争议时,第三方可解决争端. 一般签名算法包含 密钥生成(公钥/私钥) 消息签名 S Sigx M 用私钥对消息(消息摘要)进行签名运算 消息验证 用公钥验证消息的签名是否正确,输出“True”或“False” ① 参数和密钥生成 选两个保密的大素数p和q,计算n p×q,φ n p-1 q-1 ; 选一整数e,满足1 e φ n ,且gcd φ n ,e 1; 计算d,满足d·e≡1 mod φ n ; 以 e,n 为公开钥, d,n 为秘密密钥. ② 签名过程 设消息为m,对其签名为 s≡md mod n ③ 验证过程 接收方在收到消息m和签名s后,验证 是否成立,若成立,则发送方的签名有效. RSA数字签名 加密算法和签名算法同用,攻击者可以方便解密 一般攻击者是将某一信息作一下伪装 Blind ,让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。 解决方法: 不对自己一无所
文档评论(0)