网络与信息安全第5章数字签名_第1页
网络与信息安全第5章数字签名_第2页
网络与信息安全第5章数字签名_第3页
网络与信息安全第5章数字签名_第4页
网络与信息安全第5章数字签名_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章Hash函数与数字签名

网络信息安全

1第5章Hash函数与数字签名5.6数字签名概念5.7RSA数字签名体制5.8ElGamal数字签名体制5.9其它数字签名方案5.10数字签名标准5.11应用25.6数字签名概念在政治、军事、外交、商业和日常生活中,人们经常需要对纸质材料进行签名。签名起到确认、核准、生效和负责任等多种作用。随着计算机网络技术的发展,电子商务、电子政务和电子金融等系统得到广泛应用,人们需要通过网络信息传输对电子的文件、契约、合同、信件和张单等进行数字签名以替代手写签名。35.6数字签名概念签名是证明当事人的身份和数据真实性的一种信息。在传统的以书面文件为基础的事物处理中,采用书面签名的形式,如手签、手印和印章等。书面签名得到司法部门的支持,具有一定的法律意义45.6数字签名概念在以计算机文件为基础的现代事物处理中,应采用电子形式的签名,即数字签名(digitalsignature)。数字签名的目的是提供一种手段,使得一个实体把他的身份与某个信息捆绑在一起。一个信息的数字签名实际上是一个数,它仅仅依赖于签名者的密钥和被签名的消息。10011100010100011000sigK密钥K55.6.1数字签名的基本概念(1)消息空间:由所有任意长度消息组成的集合

(2)签名空间:由所有签名组成的集合。签名长度不超过n。(3)密钥空间:(4)sigK称为签名算法(signingalgorithm)

一个数字签名体制是一个满足以下条件的五元组:65.6.1数字签名的基本概念(5)verK称为验证算法(verificationalgorithm)(6)

则将数据对(x,y)称为消息x的一个数字签名,或直接把y称为消息x的数字签名75.6.1数字签名的基本概念数字签名基本要求对每一个密钥K,sigK和verK应该是多项式时间函数verK是公开的函数,而sigK是保密的

给定一个消息x,除了发送者本人以外,任何其他人找到满足verK(x,y)为真的数字签名y,应该是计算上不可行的如果攻击者能够找到满足verK(x,y)的数据对(x,y),而发送者事先又没有对x签名,则称y是伪造(forgery)的数字签名。

数字签名算法必须满足的条件签名者事后不能否认自己的签名;其他人不能伪造签名;当通信双方为签名真伪发生争执时,可以由第三方解决争端85.6.1数字签名的基本概念手写签名与数字签名的区别手写签名是所签文件的物理组成部分,数字签名必须与所签文件捆绑在一起。手写签名通过与标准签名进行比较或检查笔迹来验证,数字签名是通过验证算法来验证。手写签名容易伪造,好的数字签名算法应该使伪造签名十分困难。手写签名不易复制。数字签名是一个二进制串,容易复制。所以必须防止数字签名重复使用。95.6.1数字签名的基本概念签名算法进行分类按应用目的普通数字签名特殊目的数字签名:不可否认数字签名、盲签名、群签名等按验证方法在验证时需要输入被签名信息在验证时自动恢复被签名信息按签名时是否使用随机数分成确定性数字签名随机数字签名105.6.2数字签名的基本构造方法利用Hash函数和加密算法可以构造有效的数字签名方案。基于Hash函数和单钥密码算法构造数字签名115.6.2数字签名的基本构造方法基于Hash函数和双钥密码算法构造数字签名125.6.2数字签名的基本构造方法具有保密作用的数字签名双钥密码体制:SK是发送方的私钥,PK是发送方的公钥,E1和D1分别是加密算法与解密算法。单钥密码体制密钥:K是双方公用密钥,E2和D2分别是对应的加密算法和解密算法。135.6.3数字签名的安全需求数字签名的攻击模型唯密钥攻击(keyonlyattack)攻击者E拥有签名者A的公钥K,因而能够计算验证函数verK。已知消息攻击(knownmessageattack)攻击者E拥有一系列以前由签名者A所签名的消息。即E具有数据对(xi,yi),其中xi是消息,yi=sigK(xi)是A对xi的签名(i=1,2,…)。选择消息攻击(chosenmessageattack)攻击者E可以选择一些消息请求签名者A签名。即E选择消息xi,并将xi发送给签名者A,请求A对xi签名。A计算yi=sigK(xi),并将yi发给E。所以,E具有A的有效数字签名(xi,yi)(i=1,2,…)。145.6.3数字签名的安全需求攻击者对数字签名系统的攻击目的完全破译(totalbreak)攻击者E能确定签名者A的私钥K,因而能够计算签名函数sigK,可以对任何消息产生有效的签名。选择性伪造(selectiveforgery)攻击者E能以某一个不可忽略的概率对另外某个人选定的消息产生一个有效的签名。也就是说,如果给E选定一个消息x,那么他能以一个正的概率找到x的签名y=sigK(x),并且签名者A以前未对x签名。存在性伪造(existentialforgery)攻击者E至少能够为一个消息产生一个有效的签名。也就是说,E可能生成一个数据对(x,y),其中x是消息,y=sigK(x)。签名者A以前未对x签名。155.6.3数字签名的安全需求Hash函数与数字签名的安全性对消息的散列值签名165.6.3数字签名的安全需求使用已知消息攻击的存在性伪造

攻击者E从一个有效的签名(x,y)开始,其中y=sigK(h(x)).然后他计算z=h(x),并企图找到x’x,使得h(x’)=h(x).如果E能做到这一点,则(x’,y)就是一个有效的签名,从而y是消息x’的一个伪造签名.为了阻止这种攻击,必须要求Hash函数h是弱无碰撞的.使用选择消息攻击的存在性伪造

攻击者E首先找到x’x,使得h(x’)=h(x).然后将消息x发给签名者A,并让A对消息的散列值h(x)签名,从而得到y=sigK(h(x)).所以E能够成功伪造签名(x’,y).为了阻止这种攻击,必须要求Hash函数h是强无碰撞的.175.6.3数字签名的安全需求使用唯密钥攻击的存在性伪造

当签名算法遭到唯密钥攻击时,即攻击者E拥有签名者A的公钥K.E就可能对一个随机的散列值z伪造签名y=sigK(z).此时,如果Hash函数h不是单向的,则E可能找到一个消息x,使得z=h(x).所以E能够成功伪造一个签名(x,y).为了阻止这种攻击,必须要求Hash函数h是单向的.18第5章Hash函数与数字签名5.6数字签名概念5.7RSA数字签名体制

5.8ElGamal数字签名体制5.9其它数字签名方案5.10数字签名标准5.11应用195.7RSA数字签名体制利用RSA加密算法构造的数字签名称为RAS数字签名体制。5.7.1RSA算法描述1.密钥生成算法选取两个大素数p,q,计算n=pq,(n)=(p

1)(q

1)。任选整数e,满足:0e(n),且gcd(e,(n))=1。用扩展Euclidean算法求e模(n)的逆d,即ed=1mod(n)。签名者的公钥:{n,e},私钥:{p,q,d}。

205.7.1RSA算法描述2.签名算法设消息为x,则x的RAS签名是3.验证算法当接收方收到签名(x,y)后,计算如果x=x’,则y是x的RAS签名。215.7.2RSA数字签名的安全性1.一般攻击攻击方法:设n与e为用户A的公钥,攻击者首先随意选择一个数据y,并用A的公钥计算

x=yemodn,于是可以伪造A的一个RSA数字签名(x,y)。因为

xd=(ye)d=yed=ymodn,所以用户A对x的RSA数字签名是y。这种攻击实际上成功的概率是不高的因为对于选择的数据y,得到的x=yemodn具有正确语义的概率是很低的。抵抗措施仔细设计数据格式对数据的Hash值进行签名225.7.2RSA数字签名的安全性2.选择消息攻击攻击方法:假设攻击者E想伪造消息x的签名,他容易找到两个数据x1和x2,使得

攻击者E设法让用户A分别对x1和x2进行签名,得到然后E可以计算于是攻击者E得到了用户A对消息x的RSA数字签名y抵抗措施用户不要轻易地对其他人提供的随机数据进行签名对数据的Hash值进行签名

235.7.2RSA数字签名的安全性3.利用签名进行攻击从而获得明文攻击方法

假设攻击者E已截获了秘文c=xemodn,他想求出明文x。于是,他选择一个小的随机数r,并计算

因为s=re,所以sd=(re)d=modn,r=sdmodn.然后E设法让签名者对l签名.于是E又获得k=ldmodn.攻击者E再计算:

于是,获得了秘文x。抵抗措施用户不要轻易地对其他人提供的随机数据进行签名对数据的Hash值进行签名

245.7.2RSA数字签名的安全性4.对先加密后签名方案的攻击攻击方法假设签名者A采用先加密后签名的方案把消息x发送给接收者B,则他先用B的公开密钥eB对x加密,然后用自己的私钥dA签名.设A的模数为nA,B的模数为nB.于是A发送给B的数据为:

如果B是不诚实的,那么B可能伪造A的签名.例如,假设B想抵赖收到A发的消息x,慌称收到的是x1.因为nB是B的模数,所以B知道nB的分解,于是能够计算模nB的离散对数.即他能找到k满足:然后,B再公布他的新公开密钥为keB。现在B宣布他收到的消息是x1,而不是x。由于下式成立,所以A无法争辩。255.7.2RSA数字签名的安全性4.对先加密后签名方案的攻击抵抗措施签名者A应当在发送的数据中加入时间戳,从而可证明是用公开密钥eB对x加密,而不是用新公开密钥keB对x1加密。对数据的Hash值进行签名。

综上所述,对于RSA数字签名系统,必须采取如下安全措施:不直接对消息进行签名,而应该对消息的Hash值进行签名。要采用先签名后加密的方式,而不要采用先加密后签名的方式。26第5章Hash函数与数字签名5.6数字签名概念5.7RSA数字签名体制5.8ElGamal数字签名体制

5.9其它数字签名方案5.10数字签名标准5.11应用275.8ElGamal数字签名体制在1985年,ElGamalT.提出了一个基于离散对数问题的数字签名体制,通常称为ElGamal数字签名体制。ElGamal签名体制的安全性主要是基于有限域上离散对数问题的难解性。285.8.1ElGamal签名算法描述1.参数生成算法选取一个大素数p,gZp*是一个本原元,p和g是系统公开参数。任选整数x,满足:1≤x≤p2。计算y=gx

modp.签名者的公钥为y,私钥为x。2.签名算法设MZp*为待签名的消息。签名者随机选择一个秘密整数k,1≤k≤p2,计算

签名者对M的ElGamal签名为:

签名者将数据(M,(r,s))发送给接收者。295.8.1ElGamal签名算法描述3.验证算法接收方收到签名(M,(r,s))后,验证

是否成立,如果等号成立,则确认(r,s)是M的有效签名。有效性证明因此,如果(r,s)是M的正确签名,则一定有305.8.1ElGamal签名算法描述ElGamal数字签名是一个随机的数字签名体制例5.6设p=11,g=2是Z11*的本原元。选取私钥为x=8,计算公钥设签名者A要对消息M=5进行签名。签名者A首先秘密选取一个整数k=9,计算签名者A对M=5的ElGamal签名为(6,3)。接收者B可以对消息M=5的签名(6,3)进行验证。因为315.8.2ElGamal数字签名的安全性ElGamal数字签名算法的实现需要作一次模指数运算一次扩展Euclidean算法运算(求随机数k的逆元)二次模乘运算前两个运算可以离线进行是一个随机的数字签名体制ElGamal数字签名体制的参数pp的选择与在Zp*中计算离散对数的算法有直接关系。从目前的计算水平来看,p至少应该是二进制512位的素数,从长期安全性考虑,应使用1024位或更长的素数。p1最好有大的素因子私钥x最好是Zp*的素数阶子群的生成元。325.8.3ElGamal数字签名的安全性1.不知道私钥的攻击假设攻击者E不知道私钥x,要想伪造消息M的签名(r,s),则E可能使用的攻击方式有:(1)攻击者已知消息M,选择一个值r,再求另一个值s.此时,因为有

所以攻击者E必须计算离散对数。

(2)攻击者已知消息M,选择一个值s,再求另一个值r.此时,他必须从同余方程中求出r。这是一个到目前为止还没有可行方法求解的方程,甚至也看不出它与离散对数问题有没有关系。335.8.3ElGamal数字签名的安全性1.不知道私钥的攻击(3)攻击者已知消息M,同时求(r,s).即他必须从同余方程中同时求出(r,s)。现在人们对这个方程的认识几乎是一无所有,既没有人发现解这个问题的方法,也没有人能够证明不能解这个问题。(4)攻击者选择数据对(r,s),求消息M。此时必须计算离散对数345.8.3ElGamal数字签名的安全性1.不知道私钥的攻击(5)攻击者同时选择数据M,r和s,使得(r,s)是M的签名。这种攻击方法可能获得成功。攻击者首先选择整数i和j,0≤i,j≤p2,gcd(j,p1)=1,计算成立,所以(r,s)是消息M的有效签名

该攻击方法属于存在性伪造。因此,在使用ElGamal数字签名方案时,不要直接对消息进行签名,而应该对消息的Hash值进行签名。355.8.3ElGamal数字签名的安全性1.不知道私钥的攻击例5.7设p=467,g=2是Z467*的本原元,签名者公钥y=132。攻击者选择整数i=99,j=179,计算所以(117,41)是消息M=331的有效签名。365.8.3ElGamal数字签名的安全性2.已知消息攻击假设攻击者E知道(r,s)是消息M的签名,则E可利用它来伪造其它消息的签名.选择整数l,i,j,0l,i,jp2,gcd(lrjs,p1)=1,计算

可见(u,v)是消息W的有效签名。该攻击方法属于存在性伪造使用对消息的Hash值进行签名的方式,可以抵抗这类攻击.

375.8.3ElGamal数字签名的安全性使用ElGamal数字签名方案的安全措施(1)不要泄露随机数k(2)不要使用同一个随机数k给两个不同的消息签名设(r,s)是消息M的签名,(u,v)是消息W的签名,使用的是同一个随机数k,则可求出私钥。

385.8.4ElGamal签名体制的变形ElGamal数字签名算法有多种变形设大素数p是模数,g是一个模p的本原元,x为签名者的私钥,k为随机数,m为待签名的消息,(r,s)是对M的签名。签名值的分量r=gkmodp,分量s由签名算法确定。ElGamal数字签名各种变形的签名算法和验证算法见下表。395.8.4ElGamal签名体制的变形40第5章数字签名5.6数字签名概念5.7RSA数字签名体制5.8ElGamal数字签名体制

5.9其它数字签名方案5.10数字签名标准5.11应用415.9.1FiatShamir数字签名FiatShamir数字签名由A.Fiat和A.Shamir提出,有时简记为FS数字签名。与RSA数字签名相比较,FS数字签名的主要优势是速度快,它仅需要RSA的1%4%的模乘法。FS数字签名的理论基础是大整数素因子分解的困难性。1.参数生成:选取两个大素数p、q,令n=pq。n是公开参数,p和q是管理中心CA掌握的密钥。设h是一个公开的Hash函数,k是一个固定的正整数。管理中心CA为用户A产生k个公开密钥:

yi(i=1,2,…,k)是模n的平方剩余再为用户A产生k个私钥(保密)425.9.1FiatShamir数字签名2.签名算法:为了对消息m进行签名,用户A执行以下步骤(1)随机选取一个正整数t。(2)在1和n之间随机选取t个正整数rj(j=1,2,…,t),并计算(3)计算Hash函数值h(m||R1||R2||…||Rt),依次取出其前kt个比特值,记为

(4)计算用户A对消息m的数字签名为签名者将数据(m,{bij},{sj})发送给接收者B

435.9.1FiatShamir数字签名3.验证算法:接收方B收到签名数据(m,{bij},{sj})后,按以下步骤进行验证:(1)利用A的公钥计算(2)计算Hash函数值依次取出其前kt个比特值,记为(3)比较等式

是否成立。如果kt个等式全部成立,则数字签名有效。否则,数字签名无效。445.9.1FiatShamir数字签名该验证算法的正确性

当数据传输正确时,有455.9.1FiatShamir数字签名例5.8设n=35,k=4,用户A的4个公钥为:y1=4,y2=11,y3=16,y4=29。则A的4个私钥为:取t=1,r1=16,计算为了简化,设h(m||R1)=R1=11=1011。即有

数字签名为({1,0,1,1},{26}).

465.9.1FiatShamir数字签名例5.9设n=35,k=4,用户A的4个公钥为:y1=4,y2=11,y3=16,y4=29。数字签名为({1,0,1,1},{26}).

所以数字签名有效。接收方验证方法如下。由于475.9.2一次性数字签名一次性签名方案是指一对公、私钥只能用于对一个消息进行签名的方案,它通常被用于芯片卡(chipcards)。1978年,M.O.Rabin首次提出一次性签名方案。在Rabin一次性签名方案中,签名算法使用了对称加密算法,验证过程需要验证者与签名者共同参与。1979年,L.Lamport提出一个类似的方案,不同之处在于验证时不需要验证者与签名者交互。该方案由于受到著名密码学家Diffie和Hellman的重视而有名。1992年,Bos与Chaum对Lamport的另一个更有效的一次性签名方案做了本质的改进,并证明了改进的签名方案在选择消息攻击下是不可伪造的。485.9.2——Lamport一次性数字签名

(1)密钥生成:已知单向函数f:Y→Z。在Y中随机选取y1,0,y1,1,y2,0,y2,1,…,yk,0,yk,1

为私钥。计算zi,j=f(yi,j)(1ik,j=0,1),单向函数f及z1,0,z1,1,z2,0,z2,1,…,zk,0,zk,1为公钥。495.9.2——Lamport一次性数字签名

(2)签名算法设消息x=(xkxk-1…x2

x1)是二进制串,则对消息x的签名为:{ui=yi,j

|1ik,xi=j}。(3)验证算法

若{f(ui)|1ik}包含在公钥中,则签名是合法的。505.9.2——Lamport一次性数字签名

例5.10取素数p=7879,已知3是Z7879的本原元。定义f(x)=3x

mod7879,令k=3。取私钥:y1,0=5831,y1,1=735,y2,0=803,y2,1=2467,y3,0=4285,y3,1=6449.计算公钥为:

z1,0=f(y1,0)=35831

=2009mod7879,

z1,1=3810,

z2,0=4672,z2,1=4721,

z3,0=268,z3,1=5731.

求消息x=011的签名。对于x3=0,由i=3,j=0,相应的签名为u3=y3,0=4285。同理,x2=1相应的签名为u2=y2,1=2467,x1=1相应的签名为u1=y1,1=735。所以,对消息x=011的签名为(4285,2467,735)。515.9.2——Lamport一次性数字签名

例5.11取素数p=7879,已知3是Z7879的本原元。接收方验证时计算:3735mod7879=3810,32464mod7879=4721,34285mod7879=268.对手虽然不能从zi,j求出yi,j,但是用这个签名方案对两个不同的消息签名时,对手就能伪造出另一些消息的签名。例如,在例6.5中,对手知道011和101的签名分别是(y3,0,y2,1,y1,1)和(y3,1,y2,0,y1,1),显然(y3,1,y2,1,y1,1)和(y3,0,y2,0,y1,1)分别是111和001的签名。

525.9.3——Bos-Chaum

一次性数字签名

Bos-Chaum一次性签名方案的签名比Lamport方案的签名短。设A={1,2,…,2n}是2n元集合,B是A的所有n元子集构成的集合,则有|B|=C2nn。定义Bos-Chaum签名方案使用的单射函数为::{0,1}kB,它把长为k的字符串映射到A的n元子集,这里2kC2nn535.9.3——Bos-Chaum

一次性数字签名

(1)密钥生成

设f:Y→Z是单向函数,取y1,y2,…,y2nY作为私钥,z1,z2,…,z2nZ作为公钥,其中f(yi)=zi(1i2n)。(2)签名算法

设消息x=(xkxk-1…x2x1)2是二进制串,则对消息x的签名为:{a1,a2,…,an}={yj|j(x)}。(3)验证算法

计算集合C={f(ai),1in}和(x)。如果C={zj

|j(x)},则{a1,a2,…,an}是对x的合法签名。545.9.3——Bos-Chaum

一次性数字签名

由于f是单向函数,对手不可能伪造消息的Bos-Chaum签名。如果使用Bos-Chaum方案签了两个消息,则对手容易伪造Bos-Chaum签名。例如,令n=4,容易计算出(110010)={2,4,6,8},φ(010011)={2,3,4,7}。已知对110010的Bos-Chaum签名为{y2,y4,y6,y8},对010011的Bos-Chaum签名为{y2,y3,y4,y7},容易得到对111100的Bos-Chaum签名为{y2,y4,y7,y8}。所以该签名方案是一次性签名方案。555.9.4不可否认数字签名对于以前讨论的数字签名,任何人都可以对签名进行验证。但在某些特殊应用条件下,需要在签名者参加的情况下才能进行验证。具有这种性质的数字签名称为不可否认签名方案(undeniablesignaturescheme).它们可以应用在如下场合:

1)实体A希望访问实体B控制的“安全区域”。实体B在授予实体A访问权之前,要求A对“访问时间、日期”进行签名。另一方面,实体A不希望别人了解这个事实,即没有实体A的参与,实体B不能通过出示实体A的签名及验证,来证明“实体A访问该区域”这一事实。2)某公司A开发的一个软件包。A将软件包和他对软件包的不可否认签名卖给用户B。B当场验证A的签名,以便确认软件包的真实性。用户B想把该软件包的拷贝私自卖给第三者。由于没有公司A参与,第三者不能验证软件包的真实性。从而保护了公司A的利益

565.9.4不可否认数字签名Chaum和vanAntwerpen在1989年提出的不可否认数字签名方案(1)密钥生成(2)签名算法

对消息m的签名是:s=mxmodp。575.9.4不可否认数字签名(3)验证协议假设签名者A想否认一个“由签名生成算法构造出来的”合法签名,其方式有:①拒绝参与验证协议;②错误地执行验证协议;③即使验证协议成功,也断言签名是伪造的。对于前者很明显,而后两种情况难以防范。使用“否认协议”(disavowalprotocol)能够确定是签名者A试图否认一个由签名算法得出的签名,还是签名本身是伪造的。否认协议由两遍验证协议组成。585.9.4不可否认数字签名(4)否认协议进行一致性检验,若C=C,则s是对m的伪造签名;若CC,则s是对m的合法签名,签名者试图否认.595.9.4不可否认数字签名否认协议的性质性质1如果验证者和签名者都正确执行协议,则必有C=C,说明s是对m的伪造签名,即性质2性质3605.9.5盲签名

对于前面介绍的数字签名,签名者知道所签名的消息。但在数字现金、电子投票等应用领域,要求签名者不能知道所签名的消息。签名者对所签署消息和对消息的签名都不可见的数字签名称为盲签名(blindsignature)盲签名由D.Chaum在1982年首次提出615.9.5盲签名

盲签名过程A是消息m的拥有者,称为求签名者B称为签名者盲签名需要两个基本构件:1)求签名者A知道的盲化函数f及脱盲函数g。f与g必须满足:g(SB(f(m)))=SB(m)。2)签名者B的数字签名方案SB。625.9.5盲签名

考虑盲签名在电子货币中的应用,例如顾客A得到银行B对钱款m的盲签名后,自己算出银行的真正签名SB(m)。在支付时提交出m和SB(m),银行能验证SB(m)是否为m的合法签名,但不知道这是谁的一笔消费。从而使A保持匿名状态,即消费行为不受到监控。635.9.5—基于RSA公钥密码系统的Chaum盲签名Chaum提出的盲签名方案是基于RSA公钥密码系统的(1)密钥生成:选取素数p、q,令nB=pq,1<bB<(nB)且gcd(bB,nB)=1,随机选取1<aB<(nB)使得aBbB≡1mod(nB)。签名者B的公钥是(nB,bB),私钥是aB。645.9.5—基于RSA公钥密码系统的Chaum盲签名(2)盲签名协议:设需签名的消息为m

(3)盲签名验证算法655.9.5—基于离散对数问题的盲签名

瑞士学者J.Lcamenisch,J.M.Pivetean提出了基于离散对数问题的盲签名(1)密钥生成:签名者选择两个大素数p,q,q|(p1),在Zp*上离散对数问题是难解问题。a是Zp*的q阶元。选取私钥x,令y=axmodp,(p,q,a,y)为公钥。

665.9.5—基于离散对数问题的盲签名

(2)盲签名协议:设A需签名的消息为m,盲签名由签名者B开始(3)盲签名验证算法67第5章数字签名5.6数字签名概念5.7RSA数字签名体制5.8ElGamal数字签名体制

5.9其它数字签名方案5.10数字签名标准5.11应用685.10.1美国数字签名标准数字签名标准(DSS:DigitalSignatureStandard)由美国国家标准技术研究所(NIST)于1991年提出,并于1994年正式成为美国联邦信息处理标准(FIPSPUB186),这标志着数字签名已得到政府的支持。DSS使用的签名算法称为数字签名算法(DSA:DigitalSignatureAlgorithm)。2000年1月美国政府将RSA和椭圆曲线密码引入数字签名标准DSS,进一步丰富了DSS的算法。目前,DSS的应用已十分广泛,并被多个国际标准化组织采纳作为标准。美国的一些州已经通过相关法律,正式承认数字签名的法律意义。这是数字签名得到法律支持的重要标志。695.10.1美国数字签名标准(1)算法参数:DSA使用的参数如下p,q,g是公开参数,可为一组用户公用x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论