两个基于RSA的特殊数字签名方案摘要:介绍了数字签名背景、签名体制的形式化描述以及两个特殊的数字签名方案。对如何用RSA实现盲签名和多重数字签名方案进行了研究,分析了两种具体方案实现的安全性。最后总结了这两种特殊数字签名实现过程中算法设计的优劣。关键词:数字签名;RSA;盲签名;多重签名:TP316文献标识码:A:1009-3044(2008)35-2095-02TwoRSA-basedSpecialDigitalSignatureSchemes激ANGJun-feng(EngineeringofInformationHohaiUniversity,Changzhou213022,China)Abstract:Thebackground,theformaldefinitionandsomespecialformofdigitalsignaturearefirstlyintroduced.TheresearchofhowtorealizetheblindsignatureandthemultisignaturewithRSAsignatureschemearecarriedoutsecondly.Thevirtueandshortcomingofthetworealizedspecialdigitalsignatureschemesandtheresearchtobecontinuedarelastlyputforward.Keywords:digitalsignature;RSA;blindsignature;multisignature1引言1.1背景签名一直被作为一种证明签名者身份的标识,它表明签名人看过乃至同意文件的内容。签名人作出签名后将无法否认,并要为自己的签名负责。随着密码学的发展,数字签名(digitalsignature)克服了手写签名的缺点。数字签名[1]具有签名可信性、不可抵赖性、不可复制性、不可伪造性和数据完整性的优点。2004年8月我国正式颁布了《中华人民共和国电子签名法》,确立了数字签名在我国的法律效力和地位。1.2数字签名的形式化定义签名体制[2]是一个满足一下两个条件的概率多项式时间算法的三元组(G,S,V)。1)当输入1n时,算法G(调用密钥生成器)输出一对比特串。2)对G(1n)值域中的每一对(s,v),以及每个α∈{0,1}*,算法S(签名)和V(验证)满足:Pr[V(v,,S(s,)=1)]=1αα这里的概率定义在算法S和V的所有内部掷币值上的。S(s,)α称为签名密钥对文档α产生的签名,当V(v,,)=1αβ时称β是α对应与验证密钥v的有效签名。数字签名主要基于公钥算法。其中RSA基于大整数难以分解为两个素数的乘积。特点是算法简单和安全。RSA是目前使用比较普遍的数字签名算法。ISO/IEC9796和ANSIX9.30----本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---199X已将RSA作为建议数字签字标准算法。在制定的标准中,PKCS#1是一种采用杂凑算法(如MD2或MD5等)和RSA相结合的公钥密码标准。1.3几种特殊的数字签名人们根据不同的应用背景和签名目的,研究出了几种特殊的签名方案:盲签名方案,多重签名方案,代理签名方案,群签名方案等等。盲签名方案(Blind-signatureScheme)是由D.Chaum[3]与1982年最先提出的。某人对一个文件签字,但又不让他知道文件内容,这点使盲签名应用在许多领域,比如电子投票系统,电子拍卖系统和电子现金系统。一般的数字签名是由单个用户完成的,而由多人参与对同一文件进行的签名方案,称为多重签名方案(MultisignatureScheme)。多重签名方案是D.Chaum和E.vanHeyst[4]于1991年提出的。根据签名过程的不同,多重数字签名可分为有序多重数字签名方案和广播多重数字签名方案。2方案实现2.1盲签名方案下面介绍用RSA实现的盲签名方案。整个过程分为:密钥建立与管理、消息盲化、签名、消息解盲和签名验证。2.1.1盲签名过程1)密钥的建立与管理设有参与盲签名的人分别是A和B,A知道消息M,让B进行盲签名。首先建立RSA密钥,任意选取两个大素数p及q,计算n=pq。(n)φ为n的欧拉函数。任意选择一个整数e,使得(e,(n))=1,φ计算d(12)消息盲化A进行对消息M盲化:选用盲因子k,13)签名过程:A把盲化过的消息t发送给B,B对t进行RSA签名,计算S(t)=td=(Mke)d(modn)4)消息解盲:B将签名S(t)传送给A。A通过下面的运算获得B对消息M的直接RSA签名。Sig=S(t)/ktd/kMd(modn)对上步等式的证明:td(Mke)dMdk(modn)⇒td/kMdk/kMd(modn)。5)签名验证:A利用B公布的(e,n)对消息进行验证。M'=Sige(modn)---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---若M'=M,则验证通过,否则验证失败。2.1.2盲签名方案的安全性分析匿名性和不可伪造性:B在获取了t=Mke(modn),B不知道盲因子k,...