- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章分组密码-电子科技大学
第5章 数字签名 5.1 数字签名的基本概念 5.2 RSA数字签名 5.3 ElGamal数字签名 5.4 数字签名标准DSS 5.5 其他数字签名 5.5.1 基于离散对数问题的数字签名 5.5.2 基于大整数分解问题的数字签名 5.5.3 具有特殊用途的数字签名 5.1 数字签名的基本概念 一个数字签名体制(也称为数字签名方案)一般有两个组成部分,即签名算法(signature algorithm)和验证算法(verification algorithm)。签名算法的输入是消息m和密钥k,输出是对m的数字签名,记为s = (m)。验证算法输入的是消息m和签名s,输出是真或伪,记为: 算法的安全性在于从m和s难以推出密钥k或伪造一个消息使和s可被验证为真。 数字签名可按以下几种方式进行分类: ① 按用途来分,数字签名可分为普通数字签名和具有特殊用途的数字签名[如盲签名(blind signature)、不可否认签名(undeniable signature)、群签名(group signature)、代理签名(proxy signature)等]。 5.2 RSA数字签名 1.参数与密钥生成 (1)选取两个保密的大素数p和q。 (2)计算n = pq, ,其中 是n的欧拉函数值。 (3)随机选取整数e,1<e< ,满足 。 (4)计算d,满足 。 (5)公钥为(e,n),私钥为d。 2.签名 对于消息m∈ ,签名为: 3.验证 对于消息签名对(m, s),如果: 则s是m的有效签名。 RSA数字签名方案存在以下缺陷: ① 任何人都可以伪造某签名者对于随机消息m的签名s。其方法是先选取s,再用该签名者的公钥(e,n)计算 。s就是该签名者对消息m的签名。 ② 如果敌手知道消息 和 的签名分别是 和 ,则敌手可以伪造 的签名 ,这是因为在RSA签名方案中,存在以下性质: ③ 由于在RSA签名方案中,要签名的消息 ,所以每次只能对位长的消息进行签名。然而,实际需要签名的消息可能比n大,解决的办法是先对消息进行分组,然后对每组消息分别进行签名。这样做的缺点是签名长度变长,运算量增大。 克服上述缺陷的方法之一是在对消息进行签名前先对消息做Hash变换,然后对变换后的消息进行签名。即签名为: 验证时,先计算h(m),再检查等式: 是否成立。 5.3 ElGamal数字签名 5.3 ElGamal数字签名算法 1.参数与密钥生成 ① 选取大素数p, 是一个本原元。p和g公开。 ② 随机选取整数x,1≤x≤p?2,计算 ③ 公钥为y,私钥为x。 2.签名 对于消息m,首先随机选取一个整数k, 1≤k≤p?2 ,然后计算: 则m的签名为(r, s),其中h为Hash函数。 3.验证 对于消息签名对(m, (r, s)),如果: 则(r, s)是m的有效签名。 5.4 DSS数字签名标准 5.4 DSS数字签名标准 1.参数与密钥生成 ① 选取大素数p,满足 <p< ,其中512≤L≤1024且L是64的倍数。显然,p是L位长的素数,L从512到1024且是64的倍数。 ② 选取大素数q,q是p?1的一个素因子且 ,即q是160位的素数且是p?1的素因子。 1.参数与密钥生成 ③ 选取一个生成元 ,其中h是一个整数,满足1<h<p?1并且 。 ④ 随机选取整数x,0<x<q,计算 。 ⑤ p、q和g是公开参数,y为公钥,x为私钥。 5.4 DSS数字签名标准 2.签名 对于消息m,首先随机选取一个整数k , 0<k<q,然后计算: 则m的签名为(r, s),其中h为Hash函数,DSS规定
文档评论(0)