第6章数字签名技术1分析.ppt

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

6.1.2 数字签名的产生方式 数字签名的产生可用加密算法或特定的签名算法。 1. 由加密算法产生数字签名 利用加密算法产生数字签名是指将消息或消息的摘要加密后的密文作为对该消息的数字签名,其用法又根据是单钥加密还是公钥加密而有所不同。 (1) 单钥加密 如图7.1(a)所示,发送方A根据单钥加密算法以与接收方B共享的密钥K对消息M加密后的密文作为对M的数字签名发往B。该系统能向B保证所收到的消息的确来自A,因为只有A知道密钥K。 再者B恢复出M后,可相信M未被篡改。具体来说,就是B执行解密运算Y=DK(X),如果X是合法消息M加密后的密文,则B得到的Y就是明文消息M,否则Y将是无意义的比特序列。 (2) 公钥加密 如图7.1(b)所示,发送方A使用自己的秘密钥SKA对消息M加密后的密文作为对M的数字签名,B使用A的公开钥PKA对消息解密,由于只有A才拥有加密密钥SKA,因此可使B相信自己收到的消息的确来自A。 然而由于任何人都可使用A的公开钥解密密文,所以这种方案不提供保密性。为提供保密性,A可用B的公开钥再一次加密,如图7.1(c)所示。 由加密算法产生数字签名又分为外部保密方式和内部保密方式,外部保密方式是指数字签名是直接对需要签名的消息生成而不是对已加密的消息生成,否则称为内部保密方式。 外部保密方式便于解决争议,因为第3方在处理争议时,需得到明文消息及其签名。但如果采用内部保密方式,第3方必须得到消息的解密密钥后才能得到明文消息。 如果采用外部保密方式,接收方就可将明文消息及其数字签名存储下来以备以后万一出现争议时使用。 2. 由签名算法产生数字签名 签名算法的输入是明文消息M和密钥x,输出是对M的数字签名,表示为S=Sigx(M)。相应于签名算法,有一验证算法,表示为Verx(S,M),其取值为 算法的安全性在于从M和S难以推出密钥x或伪造一个消息M′,使M′和S可被验证为真。 (2) 应用对称加密,仲裁者不能看到消息内容 该方案的前提是每个用户都有与仲裁者共享的秘密密钥,而且两两用户间也有共享密钥。数字签名过程如下: (1)S→A:IDS||EKSR[M]||EKSA[IDS||H(EKSR[M])] (2)A→R:EKAR[IDS||EKSR[M]||EKSA[IDS||H(EKSR[M])]||T] 其中KSR是S,R共享的密钥,其他符号与前面相同。 S以EKSA[IDS‖H(EKSR [M])]作为对M的签名,与由KSR加密的消息M一起发给A。A对EKSA[IDS‖H(EKSR[M])]解密后通过验证散列值以验证S的签名,但始终未能读取明文M。A验证完S的签名后,对S发来的消息加一时戳,再用KAR加密后发往R。 数字签名算法(DSA) 数字签名标准(digital signature standard,DSS),中使用的签名算法称为数字签名算法(digital signature algorithm,DSA),其安全性基于离散对数问题的难解性。 DSA数字签名过程可分为初始过程、签名过程和验证过程三个部分。 (1)初始过程(即系统参数与密钥生成) ① 系统参数p,q,g,可以供所有用户使用,在系统内公开。 p:一个大素数,满足2L-1p2L,其中512≤L≤1024且L是64倍数,即p的比特长度在512到1024间,长度增量为64比特。 q:p-1的素因子,满足2159q2160,即q的比特长度为160位。 g:g=h(p-1)/qmod p ,其中h是一个整数,1h(p-1),且满足h(p-1)/qmod p1 。 ② 用户随机选取一个整数x为私钥,0xq。 ③ 用户公钥y,公开。 计算y=gxmod p。给定私钥x计算公钥y很容易,但给定y求x却是离散对数问题,目前被认为在计算上是安全的。 签名者的公钥是{p,q,g,y},私钥为x。 (2)签名过程 ① 对待签消息m,且0mp,任选一随机整数k,要求0kq。 ②计算 (3)验证过程 ① 首先验证是否满足:0rq,0sq,若不符合,则(r,s)不是签名。 DSA数字签名算法证明 根据上述后三个公式有: DSA签名算法的安全性 DSA的公共参数p—NIST建议p的长度为1024比特。 签名过程中,签名者要选取一个秘密参数k,在DSA的应用中,应借助一个好的随机数生成器来产生随机参数k。 DSA签名算法共用模数存在一定的潜在威胁。 DSA中采用了SHA-1,但目前SHA-1已被证明是不安全的,因此也会导致其签名方案的不安全性。 2 例子 盲签名在电子投票中的应用 代理签名 在现实世界里,人们经常需要将自己的某

文档评论(0)

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

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

1亿VIP精品文档

相关文档