数字签名的基本知识和专业知识.ppt

上传人:b****1 文档编号:1758790 上传时间:2022-10-23 格式:PPT 页数:19 大小:359.50KB
下载 相关 举报
数字签名的基本知识和专业知识.ppt_第1页
第1页 / 共19页
数字签名的基本知识和专业知识.ppt_第2页
第2页 / 共19页
数字签名的基本知识和专业知识.ppt_第3页
第3页 / 共19页
数字签名的基本知识和专业知识.ppt_第4页
第4页 / 共19页
数字签名的基本知识和专业知识.ppt_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数字签名的基本知识和专业知识.ppt

《数字签名的基本知识和专业知识.ppt》由会员分享,可在线阅读,更多相关《数字签名的基本知识和专业知识.ppt(19页珍藏版)》请在冰豆网上搜索。

数字签名的基本知识和专业知识.ppt

第七章数字签名,7.1基于公钥密码的数字签名,数字签名,主要用于对数字消息(digitalmessage)进行签名,以防消息的冒名伪造和篡改,亦可以用于通信双方的身份鉴别。

数字签名(digitalsignature),数字签名具有以下特性:

签名是不可伪造的:

除了合法的签名者之外,任何其他人伪造签名是困难的。

签名是不可复制的:

对一个消息的签名不能通过复制变为另一个消息的签名。

如果对一个消息的签名是从别处复制得到的,则任何人都可以发现消息与签名之间的不一致性,从而可拒绝签名的消息。

签名是可信的:

任何人都可以验证签名的有效性。

签名的消息是不可改变的:

经签名的消息不能被篡改。

一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。

签名是不可抵赖的:

签名者事后不能否认自己的签名。

(1)Alice用其保密的解密密钥对消息m加密.密文s就是Alice对消息的签名。

(2)Alice将签名的消息(m,s)传送给Bob。

(3)Bob用Alice的公开密钥对s进行解密,得到m。

如果mm,则确认s是消息的有效签名。

7.1基于公钥密码的数字签名,基于公钥密码的一般数字签名方案的签名和验证过程,并不是每一个公钥密码体制都可以按上述方式来设计数字签名方案,只有满足,的公钥密码体制才可以按上述方式来设计数字签名方案,这里和分别是公钥密码的加密变换和解密变换,和分别是公钥密码的加密密钥和解密密钥。

基于RSA公钥密码体制的数字签名方案通常称为RSA数字签名方案。

(1)秘密选取两个大素数p和q。

(2)计算n=pq,(n)=(p-1)(q-1).n公开,(n)保密。

(3)随机选取正整数1e(n),满足gcd(e,(n)=1.e是公开的密钥。

(4)计算d,满足d1(mod(n).d是保密的密钥。

(5)签名变换:

对于消息mZn,签名为(6)签名验证:

对于m,sZn,如果m=semodn,则确认s为有效签名。

RSA数字签名方案:

RSA数字签名方案的缺陷,

(1)因为对任意yZn,任何人都可以计算x=yemodn,所以任何人都可以伪造对随机消息x的签名y。

(2)如果消息x1和x2的签名分别是y1和y2,则任何知道x1,y1,x2,y2的人都可以伪造对随机消息x1x2的签名y1y2,这是因为在RSA数字签名方案中,Sig(x1x2)Sig(x1)Sig(x2)。

(3)由于在RSA数字签名方案中,要签名的信息xZn,所以每次只能对位长的消息进行签名。

一般说来,实际应用中要签名的消息都比较长,可能比n大。

在这种情况下,我们先对消息进行分组,然后对每组消息分别进行签名,这样做的不良后果是签名变长,签名速度变慢。

克服方法:

对消息进行签名之前先对消息作Hash变换,然后对变换后的消息进行签名。

7.2ElGamal签名方案,由T.ElGamal于1985年提出,其安全性主要是基于有限域上离散对数问题的难解性。

ElGamal签名方案描述如下:

(1)选取大素数是一个本原元。

P和g公开。

(2)随机选取整数x,1xp-2。

计算y是公开的密钥,x是保密的密钥。

(3)签名变换:

设是待签名的消息。

秘密随机选取一个整数k,1kp-2,(k,p-1)=1,对消息m的签名为,如果,则确认了(,)为消息m的有效签名。

在ElGamal签名方案中,签名过程需要保密的密钥x和一个秘密的随机数k,而对签名进行验证则只需要公开的参数。

期中,(4)签名验证:

对于,例7.1设p=11,g=2,x=3,求y=?

并对m=5签名。

7.3数字签名标准DSS,1991年8月,美国国家标准技术研究所提出了数字签名算法DSA(DigitalSignatureAlgorithm)用于其数字签名标准DSS(DigitalSignatureStandard)。

DSA的安全性主要是基于有限域上离散对数问题的难解性。

DSA中的参数为,

(1)p是一个素数,2L-1p2L,其中L是一个指定的整数,L512+64j,0j8。

显然,p的长度为L比特,L至少为512并且是64的倍数。

(2)q是p-1的一个素因子,2159q2160,即q的长度为160比特。

(3)g=h(p-1)/qmodp,其中h是一个整数,满足11.(4)随机选取整数x,0xq.(5)ygxmodp.在上述参数中,p和q以及g是公开的参数,x和y分别是用户的私钥和公钥,x保密,y公开。

另外,根据Fermat定理,显然有gqmodp=hp-1modp=1.,DSA的签名过程为,

(1)Alice秘密随机选取整数k,0kq.

(2)Alice计算r=(gkmodp)modq,S=(k-1(H(m)+xr)modq.(r,s)为Alice对消息m的签名。

在上述签名过程中,H是一个安全的Hash函数,m是要签名的消息,k是随机秘密选取的整数。

为安全起见,每次签名应当选取不同的k。

DSA的签名验证过程为,

(1)Bob计算s-1modqu1=H(m)modqu2=rmodq

(2)如果则Bob确认(r,s)是Alice对消息m的有效签名;否则,签名无效。

7.4基于离散对数问题的一般数字签名方案,

(1)选取一个大素数p和q,q|(p-1).选取1gp满足gqmodp=1.p,q以及g都公开。

(2)Alice选取1xq,计算y=gxmodp.x保密,y公开。

(3)签名过程:

Alice秘密随机选取整数1kq,首先计算r=gkmodp,再计算满足ak=(b+cx)modq(7.1)的s,则(r,s)就是Alice对消息m的签名。

式(7.1)中a,b,c的取值可以是表7.1中任一行的任意一个排列。

表7.1中的r=rmodq.,表7.1式(7.1)中a,b,c的取值,(4)签名验证过程:

如果ra=gbycmodp(7.2)成立,则Bob确认(r,s)就是Alice对消息的有效签名。

式(7.1)和式(7.2)分别称为签名方案的签名等式和验证等式。

表7.2列出了当时的签名等式和验证等式。

表7.2实际上是给出了6个不同的基于离散对数问题的签名方案。

表7.2基于一些离散对数的签名方案,根据表7.1中列出的a,b,c的不同取值,可以得到120个不同的基于有限域上离散对数的签名方案。

基于有限域上离散对数问题的签名方案可以移植到椭圆曲线上。

另外,我们还可以设计一些具有特殊性质的数字签名方案。

譬如:

盲签名(blindsignature)、不可否认签名(undeniablesignature)、防失败签名(fail-stopsignature)以及群签名(groupsignature)等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1