零知识检验加密方法与设备的制作方法

文档序号:7851144阅读:274来源:国知局
专利名称:零知识检验加密方法与设备的制作方法
技术领域
本发明涉及非对称密钥加密法(asymmetrical key cryptography),也称为公共密钥加密法。更确切地说,本发明涉及一种验证已知实体或来自已知实体的消息的真实性、或者对消息进行签名的方法与系统。
背景技术
非对称密钥加密系统使用成对密钥,每对密钥包含公共密钥与私有密钥,并且每个密钥可以包括多个参数。每个公共密钥通过鉴定权威方(certificationauthority)与其持有方的身份相联系。非对称密钥加密系统包括称为控制方的实体,该控制方存储与密钥持有方已证明身份相结合的多个公共密钥。
自从发明RSA非对称密钥加密方法以来,因子分解整数的问题一直是研究的重点问题(参见M.Gardner的文章“A new kind ofcipher that would takemillions ofyears to break”,Scientific American,August 1977)。该算法的名称RSA来自于其发明人R.Rivest、A.Shamir、和L.Adleman的首写字母。尽管有了长足的进步(更多地是计算能力增长的结果,而非因子分解算法进步的结果),但是仍然没有在合理的时间内因子分解大整数的已知方法。因此,用户有理由信任RSA方法。
RSA方法的每种应用都与称为模数的整数n有关,该整数n为两个有区别的大素因子p1与p2的乘积。考虑到目前的计算能力,推荐使用至少1024比特的模数(大约10308)。RSA公共密钥包括模数n、以及与(p1-1)和(p2-1)互质的指数e。对应的RSA私有密钥包括指数d,使得(符号“mod”表示求模)e×d=1 mod[(p1-1)(p2-1)]该方法的安全性依赖于以下事实如果不知道因子p1与p2,则在合理的时间内,不可能从n与e计算d。如上所述,在合理的时间内,不可能计算这些因子(自然保密了这些因子)。
用于实体鉴别的加密过程使用控制方与密钥持有方,该密钥持有方以下被称为请求方,其希望被控制方鉴别,以接收授权,例如对于访问电子数据处理资源的授权。请求方向控制方表明身份,并且必须向控制方证明请求方持有对应于与该身份相联系的公共密钥的私有密钥。
可能在请求方根本不向控制方披露关于请求方的私有密钥的任何信息的情况下实现该鉴别该技术称为zero-knowledge proof(零知识检验)鉴别,并且S.Goldwasser、S.Micali、和C.Rackoff在其向17thACM Symposium on theTheory of Computing(Proceedings,291 to 304,1985)提交的论文″TheKnowledge Complexity ofInteractive ProofSystems″中概括地对其进行了描述。
在论文″Zero-knowledge Proofs of Identity″(Journal of Cryptology,vol.1,pages 77 to 94,1988)中,U.Feige、A.Fiat、和A.Shamir提出了零知识检验加密方法,其中请求方持有私有密钥Q,并且公布RSA模数n与公共密钥G=Q2mod n(除非知道n的素因子,否则在合理的时间内不可能从G计算Q,即计算模n平方根)。
当上述方法用于鉴别实体时,Fiat-Shamir过程包含以下交互步骤1、证明步骤请求方随机地选择整数r,计算“证明”R=r2mod n,并且将该证明发送到控制方;2、质疑步骤控制方随机地选择称为“质疑”的整数d,其可以为值1或0,并且将“质疑”发送到请求方;3、响应步骤请求方计算响应D=r×Qdmod n,并且将该响应发送到控制方;以及4、验证步骤控制方计算 并且验证结果等于证明R。
为了提高安全性,推荐在认为已经进行了鉴别之前,应该“顺序地”重复该过程尽可能多的次数(每次都改变r与d)。
这是零知识检验过程,原因在于观察方不能从所交换的数据计算请求方的私有密钥Q。
在Feige-Fiat-Shamir或者平行变体中,请求方持有m>1个私有密钥Q1,Q2,...,Qm,并且除了RSA模数n之外,还公布各个公共密钥G1,G2,...,Gm,其中对于i=1,...,m,Gi=Qi2mod n。然后执行以下步骤1、证明步骤请求方随机地选择整数r,计算证明R=r2mod n,并且将该证明发送到控制方;2、质疑步骤控制方随机地选择m个质疑d1,d2,...,dm,其中对于i=1,...,m,di等于1或0,并且将该质疑发送到请求方;3、响应步骤请求方计算向应D=r×Q1d1×Q2d2×...×Qmdmmodn,]]>并且将该响应发送到控制方;以及4、验证步骤控制方计算 并且验证结果等于证明R。
与上述顺序(即串行)变体相比,该平行变体加速了Fiat-Shamir真实性过程。
还请注意如果请求方使用数论方面的专家公知的中国剩余理论(Chinese Remainder Theorem),则可以减少实现这些变体中的任一个所需的计算。请求方可以以下方式进行。
首先考虑证明R的计算。对于模数n=p1×p2,其中p1<p2,使数C(称为孙子余数)为小于p1的正数,使得p1为(p2×C-1)的因子。请求方随机地选择两个整数r1与r2,使得0<r1<p1且0<r2<p2,并且计算两个证明分量R1=r12mod p1与R2=r22mod p2。如下地从其导出证明的值,其中z=C×(R1-R2)R=z×p2+R2。
为了计算响应D,请求方可以如下进行。对于i=1,...,m,定义私有密钥分量Qi,1=Qimod p1与Qi,2=Qimod p2。请求方首先计算两个响应分量D1=r1×Q1,1d1×Q2,1d2×...×Qm,1dmmodp1,]]>与D2=r2×Q1,2d1×Q2,2d2×...×Qm,2dmmodp2.]]>然后请求方如下获得响应的值,其中z=C×(D1-D2)D=z×p2+D2该孙子余数计算方法的优点在于在p1与p2普遍远小于n的条件下,请求方进行模p1与模p2计算,而不是模n计算。
可以容易地将Fiat-Shamir实体鉴别过程变换为控制方验证其接收到的消息M由特定密钥持有方(这里也称为请求方)发送。该消息鉴别过程包含以下交互步骤1、证明步骤请求方随机地选择整数r,首先计算证明R=r2mod n,然后计算权标T=h(M,R),其中h为hashing(哈希)函数(例如在ISO/IEC标准10118-3中定义的函数之一),最后将权标T发送到控制方;2、质疑步骤控制方随机地选择质疑d,其可以为值1或0,并且将质疑发送到请求方;3、响应步骤请求方计算响应D=r×Qdmod n,并且将响应发送到控制方;以及4、验证步骤控制方计算 并且验证结果等于权标T。
最后,可以将Fiat-Shamir实体鉴别过程变换为定义由称为签名方的密钥持有方对发送到控制方的消息M进行签名的过程;请注意签名过程本身不是交互的。签名方持有多个私有密钥Q1,Q2,...,Qm,其中m大于1,并且除了RSA模数n之外,还公布各个公共密钥G1,G2,...,Gm,其中对于i=1,...,m,Gi=Qi2mod n。该签名过程包含以下步骤(用类推的方法给出与以上相同的名称)1、证明步骤签名方随机地选择m个整数ri,其中i=1,...,m,首先计算证明Ri=ri2mod n,然后计算权标T=h(M,R1,R2,...,Rm),其中h为产生m个比特的字的哈希函数,最后将权标T发送到控制方;2、质疑步骤控制方识别权标T的比特d1,d2,...,dm;3、响应步骤签名方计算响应Dl=rl×Qld1modn,]]>并且将响应发送到控制方;以及4、验证步骤控制方计算h(M,(D12G1d1)modn,(D22G2d2)modn,...,(Dm2Gmdm)modn),]]>并且验证结果等于权标T。
现在更详细地考虑Fiat-Shamir方法的安全性。例如,在上述实体鉴别过程的情况下,会出现以下问题冒充者(即,知道RSA模数n以及公共密钥G、但是不知道其假装是的实体的私有密钥Q的实体)是否可能欺骗控制方?首先请注意质疑尽管是随机的,但是只能有两个值如果冒充者正确地猜测出在鉴别过程期间控制方扔下的质疑的值(由此具有50%的成功机会),其是否能满足Fiat-Shamir方法的所有步骤而不会被控制方发现?对这一问题的答案是肯定的。实际上·如果冒充者猜测质疑为d=0,则其向控制方提供证明R=r2mod n以及响应D=r;以及·如果冒充者猜测质疑为d=1,则其选择任意整数l>0,并且向控制方提供证明R=l2×G mod n以及响应D=l×G mod n。
因此,如果顺序重复Fiat-Shamir过程以使冒充者对质疑的一系列正确估计尽可能地不可能,则该过程具有弱点,尽管如上所述其效果可以被削弱。因而可以断定为了使该鉴别过程足够安全,必须大大增加其持续时间。
国际申请WO-00/45550公开了一种适用于实体鉴别过程、消息鉴别过程、以及消息签名过程的加密方法,其没有该缺点。在该方法中,请求方不仅公布RSA模数n与公共密钥G,而且还公布整数(称为指数)v=2k,其中k(称为安全参数)为大于1的整数。另外,如果Q为请求方的私有密钥,则G=Qvmod n (1)申请WO-00/45550的鉴别过程包含以下步骤1、证明步骤请求方随机地选择整数r,计算证明R=rvmod n,并且将该证明发送到控制方;2、质疑步骤控制方随机地选择称为质疑的整数d,其中0≤d≤2k-1-1,并且将该质疑发送到请求方;3、响应步骤请求方计算响应D=r×Qdmod n,并且将该响应发送到控制方;以及4、验证步骤控制方计算 并且验证结果等于证明R。
由此,在该过程中,质疑可以取2k-1个不同值(与Fiat-Shamir方法中只有两个值相对),对于以上一系列步骤的单次执行,随着值k增加,其使冒充者对质疑的正确估计愈加不可能。
既然是这种情况,为了提高加安全性,当然可以顺序地重复该过程s次和/或并行地使用m对密钥,如上所述;那么,将中国剩余理论用于计算是有利的。在实践中,因为黑客破解签名情况下的代码比破解鉴别情况下的代码需要更多时间,所以推荐乘积[(k-1)×m×s]在鉴别情况下具有至少等于40的值,并且在签名情况下具有至少等于80的值。
另外,根据申请WO-00/45550,公共密钥需要满足以下关系,其中g为大于1的小整数(称为基数)G=g2mod n (2)结合以上等式(1)与(2),示出了对于给定的n与v,必须找到满足以下等式的对(g,Q)
Qv=g2mod n (3)可以看出,只有知道模数的因子的人(即密钥持有方),才能在合理的时间内求解等式(3)。换言之,从相应的公开参数来计算满足申请WO-00/45550的密钥对与因子分解数n一样复杂;这两项任务被称为是在复杂度方面相等同,并且暗含此种等同的密钥集满足等同标准(equivalence criterion)。
这种情况的第一个优点是存在安全性的参照水平(即,因子分解问题)。第二个优点是根据申请WO-00/45550,密钥持有方不需要具有鉴定权威方证明的公共密钥,即不需要从该权威方获得将该公共密钥与其持有方的身份相联系的鉴定;只需要证明RSA模数n,其中其他参数由持有方直接公布。相反,在Fiat-Shamir方法中,例如,不同实体可能从相同的RSA模数构造其自身的密钥对(因此,Fiat-Shamir对不满足以上定义的等同标准),并且因此每个特定的公共密钥必须通过鉴定权威方与其持有方的身份相联系。
然而示出了仅仅对于某些特定的模数n(占所有RSA模数的大约四分之一),存在等式(3)的解。这对于寻求根据申请WO-00/45550产生密钥对的实体是成问题的如果该实体已经具有RSA模数的集合,则一般其可以只使用其中的某些来构造密钥;但是如果其还没有任何RSA模数,则与所有(或者几乎所有)RSA模数都与该方法兼容的情况相比,其会发现找到足够的模数更加困难。

发明内容
由此,本发明的第一方面涉及一种非对称密钥加密方法,其涉及密钥持有方,具有m≥1个私有密钥Q1,Q2,...,Qm以及各自的公共密钥G1,G2,...,Gm,每对密钥(Qi,Gi)(其中i=1,...,m)满足关系Gi=Qivmod n或者关系Gi×Qiv=1 mod n,其中n为等于f个(其中f>1)私有素因子p1,...,pf的乘积的公共整数,该f个私有素因子中至少有两个是有区别的,并且指数v为等于2的幂的公共整数。该方法特征在于v=2b+k,其中,k为严格正整数,且b=max(b1,...,bf),其中bj(其中j=1,...,f)为使得(pj-1)/2bj-1为偶数的最大整数,每个公共密钥Gi(其中i=1,...,m)具有以下形式Gl=gl2aimodn,]]>
其中基数gi为严格大于1的整数,并且数ai为使得1≤ai≤b的整数,并且数ai中的至少一个严格大于1。
请注意本发明与申请WO-00/45550的具体区别在于每个公共密钥具有以下形式Gl=gl2aimodn,]]>其中数ai中的至少一个严格大于1;而不是具有Gi=gi2mod n的形式。
如以下给出的详细描述所示,通过这些规定,不管为模数n选择的值为何且除了非常少见的例外之外(这些特定模数实际上从不会被选择来执行RSA方法),根据本发明的密钥(即,满足以上简述的条件的密钥对(g,Q))必然存在。换言之,根据本发明的方法与任何RSA模数都兼容。
根据本发明的特定特征,所述素因子p1,...,pf中的至少一个和1对模4来说是同余的,并且整数ai(其中i=1,...,m)都等于所述数b。
这会极大地促进根据本发明的密钥集的构造。
根据本发明的另一特定特征,所述基数g1,...,gm包含至少一个数gs,并且所述素因子p1,...,pf包含除了2之外的至少两个数pt和pu,使得给定所述数b1,...,bf·如果bt=bu,则(gs|pt)=-(gs|pu),以及·如果bt<bu,则(gs|pu)=-1,其中(gs|pt)与(gs|pu)表示gs相对于pt与pu的勒让德(Legendre)符号。
可以示出通过该特征,所获得的密钥满足以上定义的等同标准。
根据本发明再一特定特征,所述方法涉及控制方与此处称为请求方的所述密钥持有方。该方法特征在于包含以下步骤·请求方随机地选择整数r,计算证明R=rvmod n,并且将该证明发送到控制方;·控制方随机地选择m个质疑d1,d2,...,dm其中i=1,...,m,并且将这些质疑发送到请求方;·请求方计算响应D=r×Q1d1×Q2d2×...×Qmdmmodn,]]>并且将该响应发送到控制方;以及·控制方计算Dv×G1ϵ1d1×G2ϵ2d2×...×Gmϵmdmmodn,]]>其中对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则εi=-1,并且验证结果等于证明R。
重要的是,请注意利用该方法的控制方与请求方不需要交换所有证明或者所有响应它们可以通过相互的协议,只交换某些数据或者对某些或者所有数据施加预定的哈希函数的结果。
当然,通过利用中国剩余理论,可以有利地加速该方法的执行。
例如,为了计算证明R,请求方可以如下进行。对于模数n=p1×p2,其中p1<p2,使C为小于p1的正数(称为孙子余数),使得p1为(p2×C-1)的因子。请求方随机地选择两个整数r1和r2,使得0<r1<p1且0<r2<p2,并且计算两个证明分量R1=r1vmod p1和R2=r2vmod p2。如下从其导出证明的值,其中z=C×(R1-R2)R=z×p2+R2请求方也可以使用中国剩余理论来以与用于Fiat-Shamir方法的上述计算技术类似的方式获得响应D。
最后,请注意质疑可以被限制为对于i=1,...,m满足条件0≤di≤2k-1的质疑(其具有简化请求方以及控制方两者的计算的优点)。容易验证对于相差2k的di的两个值,通过因子gi相互推断对应的值Qidi。因为公共密钥Gi的公布实质上涉及基数gi的公开,所以可以看出利用范围0≤di≤2k-1内的质疑值获得的安全水平与利用该范围外的质疑值获得的安全水平相同。
根据本发明再一特定特征,所述方法使控制方能够验证其收到的消息M是由这里称为请求方的所述密钥持有方发送给它的。该方法特征在于包含以下步骤·请求方随机地选择整数r,首先计算证明R=rvmod n,然后计算权标T=h(M,R),其中h为哈希函数,最后将权标T发送到控制方;·控制方随机地选择m个质疑d1,d2,...,dm,其中i=1,...,m,并且将这些质疑发送到请求方;·请求方计算响应D=r×Q1d1×Q2d2×...×Qmdmmodn,]]>并且将该响应发送到控制方;以及·控制方计算h(M,Dv×G1ϵ1d1×G2ϵ2d2×...×Gmϵmdmmodn),]]>其中对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则εi=-1,并且验证结果等于权标T。
以上关于实体鉴别方法中质疑的值的评述显然同样地适用于该消息鉴别方法。
还请注意该消息鉴别过程有时被认为是消息签名的一种形式。
根据本发明另一特定特征,另一种对消息进行签名的方法使此处称为签名方的所述密钥持有方能够对发送到控制方的消息M进行签名,特征在于该方法包含以下步骤·签名方随机地选择m个整数ri,其中i=1,...,m,首先计算证明R=rvmod n,然后计算权标T=h(M,R1,R2,...,Rm),其中h是产生m比特的字的哈希函数,最后将权标T发送到控制方;·签名方识别权标T的比特d1,d2,...,dm;·签名方计算响应Dl=r1×Qld1modn,]]>并且将该响应发送到控制方;以及·控制方计算h(M,D1v×G1ϵ1d1modn,D2v×G2ϵ2d2modn,...Dmv×Gmϵmdmmodn),]]>其中对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则εi=-1,并且验证结果等于权标T。
本发明的第二方面涉及各种设备。
首先,本发明的这方面涉及包含处理器与存储器的电子电路,特征在于该电子电路能够被编程,以在执行上述任一加密方法时起密钥持有方的作用。
本发明的这方面还涉及一种专用电子电路,特征在于该专用电子电路包含使之能够在执行上述任一加密方法时起密钥持有方的作用的数据。具体地,其可以为特定用途集成电路(ASIC)。
以上两种电子电路例如可以采用电子微芯片的形式。
第三,本发明还涉及一种便携式产品,其适于连接到终端以与该终端交换数据,特征在于该便携式产品包含上述电子电路,并且能够存储所述密钥持有方所特有的识别数据与私有密钥。
该便携式产品可以为例如智能卡或者USB密钥。
第四,本发明还涉及一种终端,其适于连接到便携式产品以与该便携式产品交换数据,特征在于该终端包含被编程来在执行上述任一加密方法时起所述控制方的作用的数据处理设备。
第五,本发明还涉及一种加密系统,包含上述的便携式产品以及终端二者。
第六,本发明还涉及一种不可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述密钥持有方执行上述任一加密方法的步骤。
第七,本发明还涉及一种部分可消除或者全部可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述密钥持有方执行上述任一加密方法的步骤。
第八,本发明还涉及一种数据处理设备,包含上述的密钥持有方存储装置。该数据处理设备例如可以为个人计算机或者服务器。
第九,本发明还涉及一种不可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述控制方执行上述任一加密方法的步骤。
第十,本发明还涉及一种部分可消除或者全部可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述控制方执行上述任一加密方法的步骤。
第十一,本发明还涉及一种数据处理设备,其包含上述的控制方存储装置。
该数据处理设备例如可以为个人计算机或者服务器。
第十二,本发明还涉及一种加密系统,包含上述的密钥持有方数据处理设备以及控制方数据处理设备。
以上设备的优点基本上与上述的对应方法的优点相同。
本发明还提供了一种包含指令的计算机程序,从而当所述程序控制可编程数据处理设备时,所述指令使该数据处理设备执行上述加密方法之一。
该计算机程序的优点基本上与上述加密方法的优点相同。
通过阅读以下详细描述,本发明的其他方面与优点变得清楚。
具体实施例方式
考虑模数n,其一般为f(其中f>1)个大的素因子p1,...,pf(其中至少有两个是有区别的)的乘积,其中p1≤...≤pf且p1<pfn=p1×...×pf每个因子pj(其中j=1,...,f)可以与以以下方式定义的严格正整数bj相关联(pj-1)可以被2bj整除,但是不能被2bj+1整除(换言之,bj是使得(pj-1)/2bj-1为偶数的最大整数)。容易验证如果pj=3 mod 4,则bj=1;且如果pj=1 mod 4,则bj>1。
如果实体希望成为密钥持有方,则其可以请求鉴定权威方给其分配RSA模数n。然后,该实体构造m>1数量的私有密钥Q1,Q2,...,Qm,并且公布所述模数n、指数v、以及各个公共密钥G1,G2,...,Gm。
根据本发明,这些量符合以下条件·指数具有以下形式,其中B=max(b1,...,bf)且k≥1v=2b+k·每个公共密钥Gi(其中i=1,...,m)具有以下形式,其中基数gi为严格大于1的整数,并且数ai为使得1≤ai≤b的整数,并且两个整数中的至少一个严格大于1Gl=gl2aimodn]]>·每对密钥(Qi,Gi)(其中i=1,...,m)满足·或者关系式Gi=Qivmod n(1i)·或者关系式Gi×Qiv=1 mod n(1′i)可以看出要使满足以上条件的密钥对存在,相对于每个素因子pj的每个密钥G1的秩必须为奇。在这点上,请注意模p的该群整数(the body ofinteger)的非零元素x的“相对于p的秩λ”(其中p为素数)为使得xλ=1 mod p(其中对x的逐个幂进行模p)的最小严格正整数λ。
相对于模数n的每个素因子的Gi的秩为奇的条件意味着没有素因子pj可以使得(pj-1)等于2的幂;但是,满足该条件的素数(例如3,5,17,257)非常少,而如果为模数的素因子选择大数,则更少。
公共密钥的该特性可以通过以下获得对于所有j=1,...,f,根据以下规则,选择整数gi与aiai≥h(gi) mod pj其中,对于该群整数的任意非零整数x模p(p为素数),将“相对于p的x的高度h(x)模p”定义成2的最大幂,其是相对于p的x的秩的因子。
下面通过非限定性例子,描述本发明的一个特定实施例。
在该实施例中,选择模数n的素因子pj,使得其中至少一个与1对4求模同余(其他因子可以与1或3对4求模同余)。根据上述相关数bj的性质,得出b>1。
另外,对于所有i=1,...,mGl=gl2bmodn---(4)]]>
请注意相反,仅仅对其所有素因子都与3对4求模同余的模数,才存在申请WO-00/45550定义的密钥(如上所述,其满足关系式Qiv=gi2mod n)。
可以看出,由等式(4)定义的公共密钥Gi相对于模数的每个素因子具有奇数秩。
最后,在所述基数g1,...,gm中必须存在至少一个数gs,且在所述素因子p1,...,pf中必须存在除2之外的至少两个数pt与pu,使得·如果bt=bu,则(gs|pt)=-(gs|pu) (5a)·如果bt<bu,则(gs|pu)=-1, (5b)其中相对于pt与pu,确定数bt与bu(对这些数的定义见上),并且(gs|pt)与(gs|pu)表示相应的gs的勒让德符号。
在这点上,请注意模p的该群整数的非零元素x的“相对于p的勒让德符号”(x|p)(p为除2之外的素数)等于x(p-1)/2mod p。容易显示如果x为p的倍数,则(x|p)=0;如果x等于该群整数的另一元素的平方模p,则(x|p)=+1;否则(x|p)=-1。
等式(5a-5b)表示本发明的以下实施例,其中密钥满足等同标准,即其中除非知道模数的素因子,否则在合理的时间内,不可能从公共参数n、v、以及G1,G2,...,Gm计算私有密钥Q1,Q2,...,Qm。
相反,如果知道模数的因子,则可以以下方式获得私有密钥。使A为数(pj-1)/2b的最小公倍数(其中j=1,...,f),并使u为使得(u×v+1)为A的倍数的最小正整数。每个私有密钥满足Qi×Giu=1 mod n,如果选择等式(1i)(即Gi=Qivmod n),或者Qi=Giumod n,如果选择等式(1′i)(即Gi×Qiv=1 mod n)。
也可使用中国剩余理论计算私有密钥Q1,Q2,...,Qm。
最后是关于基数的一些评述。
发现当采用较小的基数时,在执行根据本发明的方法期间所实现的计算速度增加。因此推荐选择尽可能小的基数。
例如,可以从前54个素数中选择基数(第54个素数为251)。
可替换地,系统地将前m个素数采用为基数,即g1=2,g2=3,g3=5,g4=7,g5=11,等等。该方法具有简单的优点,但是不保证获得满足等同标准的密钥集。但是,可以显示不满足等同标准的集合的比例小于1/2m;例如,对于m=16(对应于g16=53),该比例小于1/65536。
权利要求
1.一种非对称密钥加密方法,其涉及具有m≥1数量的私有密钥Q1,Q2,...,Qm以及各自的公共密钥G1,G2,...,Gm的密钥持有方,每对密钥(Qi,Gi)(其中i=1,...,m)满足关系式Gi=Qivmod n或者关系式Gi×Qiv=1 mod n,其中n为等于f个(其中f>1)私有素因子p1,...,pf的乘积的公共整数,该f个私有素因子中的至少两个是有区别的,并且指数v为等于2的幂的公共整数,该方法特征在于v=2b+k,其中k为严格正整数,而b=max(b1,...,bf),其中bj(其中j=1,...,f)为使得(pj-1)/2bj-1为偶数的最大整数,并且每个公共密钥Gi(其中i=1,...,m)具有以下形式Gi=gi2aimodn,]]>其中基数gi为严格大于1的整数,而数qi为使得1≤ai≤b的整数,并且数ai中的至少一个严格大于1。
2.如权利要求1所述的方法,特征在于所述素因子p1,...,pf中的至少一个与1对4求模同余,并且整数ai(其中i=1,...,m)都等于所述数b。
3.如权利要求1或2所述的方法,特征在于所述基数g1,...,gm包含至少一个数gs,并且所述素因子p1,...,pf包含除2之外的至少两个数p1和pu,使得给定所述数b1,...,bf,·如果bt=bu,则(gs|pt)=-(gs|pu),以及·如果bt<bu,则(gs|pu)=-1,其中(gs|pt)与(gs|pu)表示相对于pt与pu的、gs的勒让德符号。
4.如上述权利要求中任一项所述的方法,特征在于基数g1,...,gm为素数。
5.如权利要求1至4中任一项所述的方法,其涉及控制方与此处称为请求方的所述密钥持有方,特征在于该方法包含以下步骤·请求方随机地选择整数r,计算证明R=rvmod n,并且将该证明发送到控制方;·控制方随机地选择m个质疑d1,d2,...,dm,其中i=1,...,m,并且将这些质疑发送到请求方;·请求方计算响应D=r×Q1d1×Q2d2×...×Qmdmmodn,]]>并且将该响应发送到控制方;以及·控制方计算Dv×G1ε1d1×G2ε2d2×...×Gmεmdmmod n其中,对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则ε1=-1,并且验证结果等于证明R。
6.如权利要求1至4中任一项所述的方法,使得控制方能够验证其收到的消息M是由此处称为请求方的所述密钥持有方发送给它的,特征在于该方法包含以下步骤·请求方随机地选择整数r,首先计算证明R=rvmod n,然后计算权标T=h(M,R),其中h为哈希函数,最后将该权标T发送到控制方;·控制方随机地选择m个质疑d1,d2,...,dm,其中i=1,...,m,并且将这些质疑发送到请求方;·请求方计算响应D=r×Q1d1×Q2d2×...×Qmdmmodn,]]>并且将该响应发送到控制方;以及·控制方计算h(M,Dv×G1ε1d1×G2ε2d2×...×Gmεmdmmod n),其中对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则εi=-1,并且验证结果等于权标T。
7.如权利要求5或6所述的方法,特征在于对于i=1,...,m,所述质疑满足条件0≤di≤2k-1。
8.如权利要求1至4中任一项所述的方法,使得此处称为签名方的所述密钥持有方能够对其发送到控制方的消息M进行签名,特征在于该方法包含以下步骤·签名方随机地选择m个整数ri,其中i=1,...,m,首先计算证明R=rvmod n,然后计算权标T=h(M,R1,R2,...,Rm),其中h为产生m比特的字的哈希函数,最后将权标T发送到控制方;·签名方识别权标T的比特d1,d2,...,dm;·签名方计算响应Di=ri×Qidimodn,]]>并且将该响应发送到控制方;以及·控制方计算h(M,D1v×G1ε1d1mod n,D2v×G2ε2d2mod n,...,Dmv×Gmεmdmmod n),其中,对于i=1,...,m,如果Gi×Qiv=1 mod n,则εi=+1;如果Gi=Qivmod n,则εi=-1,并且验证结果等于权标T。
9.一种包含处理器与存储器的电子电路,特征在于该电子电路能够被编程,以在执行如权利要求1至8中任一项所述的方法时起所述密钥持有方的作用。
10.一种专用电子电路,特征在于该专用电子电路包含微组件,该微组件使得该专用电子电路能够以如下方式处理数据在执行如权利要求1至8中任一项所述的方法时,该专用电子电路起所述密钥持有方的作用。
11.一种便携式产品,适于连接到终端以与该终端交换数据,特征在于该便携式产品包含如权利要求9或10所述的电子电路,并且适于存储所述密钥持有方所特有的识别数据与私有密钥。
12.一种终端,适于连接到便携式产品以与该便携式产品交换数据,特征在于该终端包含数据处理设备,其被编程来在执行如权利要求1至8中任一项所述的方法时起所述控制方的作用。
13.一种加密系统,包含如权利要求11所述的便携式产品以及如权利要求12所述的终端。
14.一种不可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述密钥持有方执行如权利要求1至8中任一项所述的方法的任一方法的步骤。
15.一种部分可消除或者全部可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述密钥持有方执行如权利要求1至8中任一项所述的方法的步骤。
16.一种数据处理设备,包含如权利要求14或15所述的存储装置。
17.一种不可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述控制方执行如权利要求1至8中任一项所述的方法的任一方法的步骤。
18.一种部分可消除或者全部可消除数据存储装置,包含电子数据处理程序代码指令,用来作为所述控制方执行如权利要求1至8中任一项所述的方法的步骤。
19.一种数据处理设备,特征在于其包含如权利要求17或18所述的存储装置。
20.一种加密系统,包含如权利要求16所述的数据处理设备以及如权利要求19所述的数据处理设备。
21.一种包含指令的计算机程序,使得当所述程序控制可编程数据处理设备时,所述指令使所述数据处理设备执行如权利要求1至8中任一项所述的方法。
全文摘要
一种利用密钥持有方的加密方法,该密钥持有方具有m=1数量的私有密钥Q
文档编号H04L9/32GK1910851SQ200580003065
公开日2007年2月7日 申请日期2005年1月24日 优先权日2004年1月23日
发明者路易斯·吉卢, 让-雅克·奎斯奎特 申请人:法国电信公司, 马思·里兹克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1