第6章身份认证与数字签名分析.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章身份认证与数字签名分析

基于仲裁的数字签名--对称加密,仲裁不能看到报文内容 前提:发送方X和仲裁A共享密钥Kax,接收方Y和A共享密钥Kay,X 与 Y 之间共享密钥 Kxy 。 过程 (1)X→A:IDx‖EKxy (M)‖EKax(IDx‖H(EKxy(M))) (2)A验证H(EKxy(M))的有效性。 (3)A→Y:EKay(IDx‖EKxy(M)‖EKax(IDx‖H(EKxy(M))‖T) (4)Y解密EKxy(M)存储签名。 (5)争执Y→A:EKay(IDx‖EKxy(M)‖EKax(IDx‖H(EKxy(M))) (6)仲裁:A验证EKax(IDx‖H(EKxy(M)))。 基于仲裁的数字签名--对称加密,仲裁不能看到报文内容 特征: (1)DS 的构成:IDx 和消息密文的散列码用 Kxa 加密 (2)DS 的验证:A 解密签名,用散列码验证消息。 (3)A 只能验证消息的密文,而不能读取其内容。 (4)A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y 。 两种签名方案存在的问题 (1)A 和发送方 X 联手可以否认签名的信息。 (2)A和接收方 Y 联手可以伪造发送方 X 的签名。 基于仲裁的数字签名—公开密钥加密方式 (1)X?A:IDx||EKRx[IDx||EKUy[EKRx(M)]] (2)A验证X的公开/私钥对是否仍然有效。 (3)A→Y:EKRa[IDx||EKUy[EKRx(M)]||T] (4)Y解密得到M。 Y存储签名IDX||EKRx(M)||T。 Y→A:EKua(IDx‖EKRx(M)) X?A:EKRx[M] 发生争执怎样仲裁? 特点:仲裁者看不见消息的内容。 优点: (1)通信各方之间无须共享任何信息,从而避免了联手作弊; (2)只要KRa安全,则不会出现伪造A发送的消息; (3)消息的内容是保密的,包括对A在内。 (4)即使KRx暴露,只要KRa未暴露,不会有错误标定日期的消息被发送。 基于仲裁的数字签名—公开密钥加密方式 RSA签名体制 体制参数 大素数p,q,n=p×q, y(n)=(p-1)(q-1)。选整数1e y(n),且gcd(e, y(n))=1;计算d满足de≡1 mod y(n). {e,n}为公开密钥,{d,n}为秘密密钥。 签名过程 S=Md mod n 验证过程 M=Se mod n 实际应用中加密是对H(M)进行的。 RSA签名方案 M || H E SKA M H D PKA 比较 数字签名标准 Digital Signature Standard (DSS) 概况 由NIST1991年公布 1993年公布修改版 美国联邦信息处理标准FIPS PUB 186 签名长度320bit 只能用于数字签名,不能用于加密 数字签名算法( DSA ) (1)设计基础基于离散对数的计算具有很高的难度。 (2)三个p、q、g作为全局公开的密钥分量: p是一个素数,长度在512比特到1024比特之间,对p更精确的描述:p是素数,且满足2L-1 ≤ p ≤ 2L(其中512≤ L ≤1024,且L是64的倍数); q是一个长度在160为素数,且q是p-1的一个素因子,即2159 ≤ p ≤ 2160,且(p-1) mod q = 0; g定义为g = h(p-1)/q mod p ,其中h是一个整数,且满足1 ≤ h ≤ (p-1),故g = h(p-1)/q mod p 1。 (3)用户的私有密钥x必须是一个1~(p-l)之间的随机数或伪随机数(即1xp)。 (4)公开密钥y利用私有密钥计算出来的:y=gxmodp 。 由Y计算X需要计算Y的以g为底、模p的离散数对,复杂度高,不可行 DSS的数字签名方案 同时采用散列函数H()和签名函数Sig()。 签名函数的输入是散列函数输出的散列码及一个用于生成签名的随机数k。 签名函数还需要使用发送方的私有密钥(用KRa表示)和由参数集构成了组成一个全局公开密钥(KUG)。 签名函数输出的最终结果(即数字签名)由两个分量组成,记为s和r。 在接收端,验证函数的输入包括了报文的散列码、数字签名、全局公开密钥KUG以及发送方公开密钥KUa 。 DSS的数字签名方案 签名函数Sig() 数字签名是通过签名函数生成的,签名函数包含r和s。 签名函数的输入包括: (1)公开的密钥分量(p,q,g); (2)用户私有密钥x; (3)报文的散列码H(M),报文的散列码采用SHA-1算法计算; (4)一个额外的整数密数k,k是随机或伪随机整数,且对每个签名是惟一,也就是说对每一个报文需要选择不同的k。 (5)签名=(r,s) 验证函数(Ver) 验证函数(Ver) 检验:v=r’ M’,r’,s’=M,r,s DSS的签名和验

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档