- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 数字签名 数字签名和认证协议 数字签名基本概念 数字签名的执行方式 RSA数字签名 数字签名标准 数字签名基本概念 数字签名概述 是密码学中的重要技术之一,是对传统文件手写签名的模拟,用公钥密码实现。 提供认证技术,保证消息的来源和完整性。 基本方法是消息的产生者添加一个起签名作用的码字(通过计算消息的散列值,并用其私钥加密散列值来生成签名)。 数字签名基本概念 数字签名基本概念 数字签名的基本功能 数字签名将消息与发起实体相关联,由签名算法和相应验证算法组成。 数字签名的组成 签名过程:包括数字签名生成算法,以及某种将数据编码成可签名消息的方法。 验证过程:包括验证算法,以及某种将消息恢复数据的解码方法。 数字签名基本概念 数学定义 数字签名基本概念 数字签名的安全性要求 数字签名的执行方式 直接数字签名(非对称密码): 直接数字签名是只涉及到通信双方的数字签名。 数字签名方法本质上是加密算法的逆应用: 发送方用自己的私钥对消息加密生成签名 接收方收到消息后用发送方的公钥进行解密验证签名。 攻击者只知道发送方的公钥,不能伪造签名,从而起到对签名认证的效果。 直接数字签名的实现方案 直接数字签名的实现方案 改进措施 直接数字签名的实现方案 直接数字签名的实现方案 数字签名基本概念 可仲裁数字签名 参与者包括:通信双方和仲裁者。 仲裁者对发送的签名进行测试,检查其来源和内容,然后加上时间戳,并与已被仲裁者通过验证的签名一起发送给接收方。 仲裁者扮演了裁判的角色 这种签名的前提是参与者相信仲裁的公平公正。 可仲裁数字签名 可仲裁数字签名的分类 条件:仲裁者绝对诚实可信 对称密钥加密方式,仲裁者A可以阅读消息。 对称密钥加密方式,仲裁者A不能阅读消息。 公钥加密方式,仲裁者A不能阅读消息。 对称加密,仲裁者可以获知消息 X与A之间共享密钥 Kxa,Y 与 A 之间共享密钥 KYa。 X 计算 m 的哈希值 H(m),用 X 的身份标示符 IDX和H(m) 构成签名 EKxa[ IDX|| H(m) ],并将消息和签名经 Kxa 加密后发送给 A, A 解密签名,用 H(m) 验证 m 后将计算并发送 Y 解密 A 发来的信息并将 m 和签名并验证。 对称加密,仲裁者不获知消息 在该方案中实体 X 和 Y 之间共享密钥 Kxy。 X将标示符 IDX、密文 h(m) 以及对 IDX 和 h[EKxy(m)]用 Kxa 加密后发送给 A。 A 解密签名并验证签名,此时 A 只能验证消息的密文而不能读取其内容。然后 A 将来自 X的所有信息加上时间戳并用 Kya 加密后发送给 Y。 Y 通过解密即可验证。 双密钥加密方式 X 对消息 m 进行双重加密:先用自己的私钥 SKx,然后用 Y 的公钥 PKy 形成一个签名的保密的消息,然后将该消息以及 X 的身份标识 IDx 一起用 SKx 签名后与 IDx 一起发送给 A。 A检查 X 的公钥/私钥对是否有效,有效则认证消息。并将包含 IDX 、双重加密的消息和时间戳一起用 Ska签名后发送给Y. 双重加密方式对 A 以及除 Y 以外的其他人都是安全的,且通信之前双方无需共享任何信息。 RSA数字签名 RSA数字签名 RSA密码和数字签名 每个实体生成各自RSA公钥和相应的私钥,对A: RSA数字签名 将RSA密码体制用于数字签名中 RSA数字签名 RSA签名方案 Alice 使用 RSA 解密规则 dk 为消息 x 签名。因为 dk = sigk 是保密的,所以 Alice 是能够产生这一签名的唯一的人。 验证算法使用 RSA 加密规则 ek。任何人都能验证签名,因为 ek 是公开的。 RSA数字签名 基于离散对数的数字签名 ElGamal签名方案 该方案是由1985年提出的签名方案,其变型已被美国国家标准技术研究所采纳为数字签名算法(DSA)。DSA同时吸收了被称为schnorr签名方案的一些思想。 ElGamal签名方案是一个随机化签名方案,他对任意长度的二元消息生成数字签名,且需要一个杂凑函数h: {0,1}?Zp,其中p是大素数。 基于离散对数的数字签名 ElGamal签名方案的密钥生成 每个实体产生各自的公钥和相应私钥,实体A: 基于离散对数的数字签名 ElGamal签名生成 基于离散对数的数字签名 ElGamal签名验证 ElGamal签名举例 数字签名标准 数字签名算法 1991年最早提出 1993年做了一些修改 1996年第二次修改 2000年颁布该标准的扩充版FIPS 186-2,包含了RSA签名算法和椭圆曲线数字签名算法。 DSS只提供签名,不能象RSA那样用于加密和密钥分配。 基于离散对数的数字签名 DSS中安全参数的选择 该组参数是公开的,并为一组用户
文档评论(0)