数字签名(新).ppt_第1页
数字签名(新).ppt_第2页
数字签名(新).ppt_第3页
数字签名(新).ppt_第4页
数字签名(新).ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第7章数字签名,RSA签名体制,二,三,Rabin签名体制,ElGamal签名体制,四,五,Schnorr签名体制,六,DSS签名体制,七,ESIGN签名体制,八,十,十一,Okamoto签名体制,离散对数签名体制,其它签名体制简介,第7章数字签名,九,OSS签名体制,一、数字签名的基本概念,收方能够确认或证实发方的签名,但不能伪造,简记为R1-条件。发方发出签名的消息给收方后,就不能再否认他所签发的消息,简记为S-条件。收方对已收到的签名消息不能否认,即有收报认证,简记为R2-条件。第三者可以确认收发双方之间的消息传送,但不能伪造这一过程,简记为T-条件。,类似于手书签名,数字签名也应满足以下要求:,1.数字签名与消息认证的区别,当收发者之间没有利害冲突时,这对于防止第三者的破坏已经足够了。收方能够验证消息发送者身份是否被篡改;收方能够验证所发消息内容是否被篡改。当收发双方存在利害冲突时,单纯用消息认证技术就无法解决他们之间的纠纷。必须采用数字签名技术。数字签名能确定消息来源的真实性数字签名能保证实体身份的真实性数字签名是不可否认的。,消息认证,数字签名,2.数字签名与公钥加密的区别,公钥加密A采用B的公开密钥对信息加密,A将密文发给B;B用自己的私钥对收到的密文解密,恢复出明文。数字签名A采用自己的私钥对消息m签名,A将m和签名发给B;B收到A的签名后,采用A的公钥来验证签名的有效性;一个签名的消息很可能在多年之后才验证其真实性;数字签名可能需要多次验证;对数字签名的安全性和防伪造要求很高;要求签名速度比验证速度更快。,3.数字签名的分类,按照消息是否被压缩分类对整体消息进行签名;对压缩的消息进行签名。按照消息/签名的对应关系划分确定性(deterministic)数字签名:消息与签名一一对应,对同一消息的签名永不变化,如RSA和Rabin算法;随机化(randomized)或概率式数字签名:对同一消息的签名是变化的。因此,此类签名取决于算法中的随机参数的取值,如ElGamal算法。,4.签名体制的构成,由两部分构成签名算法(signaturealgorithm)验证算法(verificationalgorithm)安全性约定签名算法或签名密钥是秘密的,只有签名人掌握;验证算法应当公开,以便于他人进行验证。,DigitalSignature,Reference,CSC1720IntroductiontoInternet,AllcopyrightsreservedbyC.C.Cheung2003.,10,5.签名体制的数学表示,一个签名体制可由量(M,S,K,V)来表示M是明文空间S是签名的集合K是密钥空间V是验证函数的值域,由真、伪组成。对于每一个kK,mM签名算法:s=Sigk(m)S验证算法:Verk(s,m)真,伪签名体制的安全性在于:从m和s难于推出签名者的私钥k;很难伪造另外一个消息m,使Verk(s,m)真。,二、RSA数字签名体制,令,p1和p2是大素数;令m,sZn(整数域)选e,并计算出d,使将n,e公开(公钥),将p1、p2和d保密(私钥)。对mZn,定义签名:s=Sigk(m)=mdmodn给定m,s,验证:msemodn?,13.13,SigningandVerifying,13.5.1Continued,Figure13.7RSAdigitalsignaturescheme,13.14,RSASignatureontheMessageDigest,13.5.1Continued,Figure13.8TheRSAsignatureonthemessagedigest,RSA签名体制的安全性,显然,由于只有签名者知道私钥d,根据RSA体制知,其他人不可能伪造签名;易于证实m,s是否是合法的消息m,签名s对,只要计算msemodn即可。RSA体制的安全性依赖于n=p1p2分解的困难性。,四、ElGamal签名体制,p:一个大素数,可使Zp中求解离散对数为困难问题;g:是群ZP*的一个生成元或本原元素;M:消息空间,为ZP*;S:签名空间,为ZP-1;x:用户秘密钥,xZP*ygxmodpp,g,y为公钥,x为秘密钥。选择秘密随机数kZP*,mM计算:H(m)计算:r=gkmodp计算:s=H(m)-xrk-1mod(p-1)签名为Sigk(m)=(r,s),将m和(r,s)送给对方。,ElGamal签名体制,收信人收到m和(r,s);计算:H(m);验证:Verk(H(m),(r,s)=真yrrsgH(m)modp;左边:yrrsgxrgskmodpg(rx+sk)modp而(rx+sk)H(m)modp-1故:yrrsgH(m)modp选择p=467,g=2,x=127,则有ygx2127132mod467若待送消息m的杂凑值H(m)=100,选随机数k=213注意:(213,466)=1,且213-1mod466=431则:r=2213=29mod467,s=(100-127*29)431=51mod466。验证:(1)收信人计算H(m)=100,(2)验证:132292951=189mod4672100=189mod467,ElGamal签名体制的安全性,在不知消息,签名对时,伪造签名相当于求离散对数;如果攻击者掌握了同一随机数k下的两个消息m1,m2的合法签名(r1,s1)(r2,s2),就会构造如下的方程:m1=r1x+s1km2=r2x+s2k可见:攻击者解此方程可以求出x和k。要确保此签名体制的安全性,就必须保证每次签名时,选择不同的随机数k。,五、Schnorr签名体制,p,q:大素数,q|p-1,确保Zp中求解离散对数为困难问题;g:是Zp中乘群ZP*的一个元素,且gq1modp;M:消息空间,为ZP*;S:签名空间,为ZP*ZP-1;x:用户秘密钥,1xqy:用户公钥,ygxmodpp,q,g,y为公钥,x为秘密钥。用户选择秘密随机数kZq,mM计算:w=gkmodp计算:r=H(w|m)计算:s=k+xrmodp签名:Sigk(m)=(r,s)作为签名,将m和(r,s)送给对方。,13.20,13.5.3SchnorrDigitalSignatureScheme,Figure13.11GeneralideabehindtheSchnorrdigitalsignaturescheme,收信人收到消息m和签名(r,s)计算:H(m)计算:w=gsy-rmodp计算:H(w|m)验证H(w|m)=r?即Ver(y,(e,s),m)=真,在ElGamal体制中,g为Zp的本原元素;在Schnorr体制中,g为Zp*中的子集Zq*的本原元,它不是Zp*的本原元。Schnorr的签名长度要比ElGamal短,由|q|及|H(m)|决定。w=gkmodp可以预先计算,签名只需1次乘法和1次加法,所以签名速度非常快,适用于智能卡应用。由于Schnorr签名较短,其安全性要比ElGamal签名差。,Schnorr签名体制的安全性,六、DSS签名体制,1991年8月由NIST公布1994年5月19日由NIST正式公布1994年12月1日正式成为美国联邦信息处理标准它是基于ElGamal和Schnorr签名体制设计的该签名体制有较好的兼容性和适用性,已经成为网络安全体系的基本构件之一。DSA是DSS签名标准中所采用的数字签名算法;此算法由D.W.Kravitz设计。,DSS签名算法DSA,p:大素数,512L1024;q:(p-1)的素因子,且21591x:选择用户私钥,1xqy:计算用户公钥,ygxmodpp,q,g,y为公钥,x为私钥。用户选择秘密随机数k,0kq计算:H(m)计算:r=(gkmodp)modq计算:s=k-1(H(m)+xr)modq签名:Sigk(m)=(r,s),将m和(r,s)送给对方。,DSS签名算法DSA,收信人收到m和(r,s);计算:H(m);计算:w=s-1modq计算:u1=H(m)wmodq计算:u2=rwmodq计算:v=(gu1yu2)modpmodq验证:vr?证明:v=(gu1yu2)modpmodq=gH(m)wyrwmodpmodq=gH(m)wgxrwmodpmodq=gH(M)+xrwmodpmodq而:H(m)+xrw=H(m)+xrs-1=kmodq所以:v=gkmodq=r,DSS签名框图,DSS签名验证框图,DSS签名算法的公众反应,RSA公司想以RSA算法为标准RSA指出:RSA可以加密,而DSA不能用于加密;DSA是由NSA开发的,可能设有陷门;DSA的签名验证速度比RSA慢,不适合联机在线验证;RSA是一个事实上的标准,而DSS与现行标准不相容;DSA未经公开选择,还没有足够的时间进行分析证明;DSA可能侵犯了其他专利,如Schnorr签名算法,Diffie-Hellman的密钥分配算法;DSS中模数为512b所限定的密钥量太小,现已经改为凡是512-1024b中可被64除尽的数,均可供使用。,DSS签名算法的实现速度,注:PC机80386/33M,模皆为512b,七、ESIGN签名体制,n=p2q:大合数,公开钥;p,q:两个大素数,作为秘密钥;M:消息空间S:签名空间k:安全参数(它的作用后面讨论)用户选择秘密随机数r,0rpq计算:H(M)计算:w=大于等于(H(M)-rk)modn/pq的最小整数计算:s=r+(w/krk-1)modppqSigk(M,k)=s作为签名,将M和s送给对方。,收信人收到M和s;计算:H(M);计算:srkmodn计算:a,它是大于等于2n/3的最小整数验证:Verk(H(M),s)=真H(M)sk且skmodnH(M)+2a此算法可以采用预计算来提高签名速度(1)发方预计算:u=rkmodn;v=1/(krk-1)modp(2)计算w:w=大于等于(H(M)-u)modn/pq的最小整数计算s:s=r+(wvmodp)pq通过预计算,可以使签名速度提高10倍。k=2,3时,被破解。作者建议k=8,16,32,64,128,256,1024,ESIGN签名算法,ESIGN在美国、加拿大、英国、法国、德国和意大利申请了专利。分析表明,此算法要比RSA,ElGamal及DSA速度快。其安全性与RSA或Rabin体制同样安全。,ESIGN签名算法,八、Okamoto签名体制,p,q:大素数,p至少为512bit;q:(p-1)的素因子,且q长约140bitg1,g2:是全局公钥,与q同长的随机数;s1,s2:是秘密钥,与q同长的随机数;M:消息空间,MZP*;S:签名空间,为ZP*ZP-1;v:用户公钥,vg1-s1g2-s2modpp,q,g1,g2,v为公钥,s1,s2为秘密钥。用户选择两秘密随机数r1,r2,0r1,r2q计算:e=H(g1r1g2r2modp,M)计算:y1=(r1+es1)modq计算:y2=(r2+es2)modqSigk(M,k)=S=(e,y1,y2)为签名,将M和S送给对方。,收信人收到M和S=(e,y1,y2);验证:Verk(M,e,y1,y2)=真H(g1y1g2y2vemodp,M)=eg1y1g2y2vemodp=g1(r1+es1)g2(r2+es2)(g1-s1g2-s2)emodp=g1r1g2r2modp所以:H(g1y1g2y2vemodp,M)=H(g1r1g2r2modp,M)=e,Okamoto签名算法,九、OSS签名体制,n:大整数(不必知道其分解);k:随机数,满足(k,n)=1h:满足h=-k-2modnM:消息空间,MZP*;S:签名空间,为ZP*ZP*;h,n为公钥,k为秘密钥。用户选择随机数r,满足(r,n)=1计算:s1=(M/r+r)/2modn,计算:s2=k(M/r-r)/2modnSigk(M,k)=S=(s1,s2)作为M的签名,将M和(s1,s2)送给对方。,收信人收到M和=(s1,s2);计算:M=s12+hs22modn;验证:Verk(H(M),r,s)=真MM;因为:M=(M/r+r)/2)2+h(k(M/r-r)/2)2modn=M2/r2+2M+r2-M2/r2+2M-r2/4modn=4M/4modn=Mmodn,OSS签名算法Ong-Schnorr-Shamir,OSS签名算法,对于以上由二次或三次多项式构造的签名,已被证明是不安全的;四次多项式方案也已被攻破。Okamoto曾提出一种补救措施。ESIGN是由Okamoto和Sharaishi在OSS的基础上提出的数字签名方案。,十、离散对数签名体制,p:大素数q:(p-1)的大素因子g:gZP*,且满足gq=1modpM:消息空间,MZP*;S:签名空间;x:用户秘密钥,1xqy:用户公钥,ygxmodpp,q,g,y为公钥,x为秘密钥。用户选择一次性秘密随机数k,0kq计算:H(m)计算:r=gkmodp签字方程:ak=b+cxmodqSigk(m)=(r,s)作为签名,将m和(r,s)送给对方。,所有以上的签名体制均可看成其一个特例!,签名的验证过程,收端收到消息m和签名(r,s)后,可以按照以下验证方程检验:Ver(M,r,s)=真ragbycmodq,签名算法中a,b,c的取值,签名方程ak=b+cx对应的签名算法,十一、其他签名体制不可否认签名,为什么需要不可否认签名?普通签名可以精确地被复制,适合公开声明之类文件的散发;但是对于个人或公司信件,特别是有价值文件的签名,如果也可以随意复制和散发,就可能造成灾难。这类签名要求在签名者合作下,才能验证签名。无签名者合作,不可能验证签名,从而可以防止复制和散布他所签的文件。这一性质可以可以用于知识产权的保护等,在电子出版物的知识产权保护中将大显身手。产权拥有者可以控制产品的发布。,其他签名体制防失败签名(Fail-StopSignature),这是一种强化安全性的数字签名,可防范有充足计算资源的攻击者。当A的签名受到攻击,甚至在分析出A的私钥的情况下,攻击者也难以伪造A的签名。同时,A也难以对自己的签名进行抵赖。它是一种一次性签名方案,即给定密钥只能签署一个消息。,其他签名体制盲签名(BlindSignature),对于一般的数字签名来说,签名者总是要先知道文件内容后才签名,这是正常的应用情形。但是有时需要某人对一个文件签名,但又不想让他知道所签署的文件内容。在选举投票和数字货币协议中,会用到此签名体制。盲签名在电子商务系统中,有重要的应用。,其他签名体制群签名(GroupSignature),只有群中的成员才能代表群体签名。接收到签名的人可以用公钥验证群签名,但不可能知道由群体中的那个成员所签。发生争议时,由群体中的成员或可信赖机构识别群签名的签名者。这类签名可以用于项目投标。例如:所有参有投标的公司组成一个群体,且每个公司都匿名地采用群签名对自己的标书签名。当选中了一个满意的标书后,招标方就可以识别出签名的公司,而其他标书仍保持匿名。中标方若想反悔已无济于事,因为在没有他参与的情况下,仍可以正确地识别出签名人是谁。,其他签名体制代理签名(Pro

温馨提示

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

评论

0/150

提交评论