CN1666458B - 在交易中促进计算的加密方法和设备 - Google Patents
在交易中促进计算的加密方法和设备 Download PDFInfo
- Publication number
- CN1666458B CN1666458B CN038158698A CN03815869A CN1666458B CN 1666458 B CN1666458 B CN 1666458B CN 038158698 A CN038158698 A CN 038158698A CN 03815869 A CN03815869 A CN 03815869A CN 1666458 B CN1666458 B CN 1666458B
- Authority
- CN
- China
- Prior art keywords
- proof
- entity
- several
- public
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及在交易中使用的一种加密方法,为该交易,第一实体(A)用一RSA私钥产生一证明,该证明可由第二实体(B)用与所述私钥相关联的RSA公钥来验证该证明。公钥包括第一指数(e)和模数(n)。在所述方法中,第一实体(A)产生证明第一元素(x),可独立于该交易获得其的一个计算,并且产生与证明第一元素(x)相关的证明第二元素(y),而且它依赖于由第一和第二实体专用于该交易而共享的公共数(c)。第二实体(B)验证证明第一元素(x)通过一种关系与普通数(g)的第一幂模模数(n)相关。
Description
本发明涉及密码学技术领域且更准确地说,涉及公钥密码学,对于给定的用途,用户拥有一对密钥。这对密钥包括由该用户保密的私钥和该用户可将其通知给其它用户的公钥。例如,在专用于机密性的一对密钥的情况下,用公钥将数据密码化,而用密钥解密它,也就是说将该数据重新复原为明文。
与秘密密钥密码学不同,公钥密码学迄今为止已被广泛使用,它不要求对话者共享相同的秘密以便建立受安全保护的通信。然而,在安全方面的这一优点也伴随着在性能方面的缺点,因为公钥密码学方法(也称为″公钥方案″),常常成百上千倍地慢于秘密密钥密码学方法(也称为″密钥方案″)。因此一个非常大的挑战是找到可以快速地执行的公钥密码学方法,使得能够在资源有限的环境诸如标准微处理器卡中以接触或非接触方式使用它们。
目前现有的大多数公钥方案依赖于算法领域(或″数论″)中的数学问题的难度。因而,RSA(Rivest,Shamir,Adleman)数字签名和加密方案的安全性基于整数因数分解问题的难度:给定一个通过秘密地将两个或多个大小相当的素数相乘在一起而获得的非常大的整数(超过500位数字),目前没有有效方法来重新找到这些个素数。
其它公钥方案,诸如在专利申请FR-A-2 716 058中所述的数字签名方案,其安全性依赖于称为″离散对数问题″的难度。这个问题在大多数情况下可以表示为如下:设E为用一种运算(即,用一个函数,具有两个元素a和b,关联一个表示为″a.b″或″ab″的元素,并称为″a和b的乘积″)提供的集合,设g为集合E的一个元素,设r为一个大整数并设y为由下面定义的整数:y=gr(即乘积g·g·....·g,其中g出现r次);则从g和y重新得出r是行不通的。所使用的集合E常常是以n为模的整数集合,其中n是整数,素数或由素数组成的数。
本发明尤其涉及实体身份验证的技术领域也称为″认证″,并且还涉及依靠公钥加密技术的消息的身份验证及其数字签名的技术领域在这类方法中,经身份验证的实体,称为″证明者″,拥有秘密密钥或私钥和相关联的公钥。证明者使用秘密密钥产生身份验证值或数字签名。进行身份验证的实体,称为″验证者″,只需要证明者的公钥来验证身份验证值或数字签名。
本发明的领域还特别是称为″零知识(zero-knowledge))″身份验证方法的领域。这是指使用一种协议进行身份验证,该协议以经证明的方式不管使用经身份验证的实体的秘密密钥多少次,也不会暴露与被认证实体的秘密密钥有关的任何内容。从这种类型的方案知道如何使用标准的技术来推出用于对消息及其数字签名进行身份验证的方案。
本发明的领域还特别是其安全性既依赖于整数因数分解的难度又依赖于离散对数问题的难度的方法的领域。
本发明可应用于使用公钥密码学来保护其元素和/或其交易的任何系统,并且尤其可应用于这样的系统,其中由各方执行的计算数量,至少对于其中之一,构成一个临界参数,或者是因为它不具有可用的专用于加密计算的协处理器,通常称为″密码处理器″,以便加速这些计算,或者是因为它能够同时执行大量的计算,例如,在中央服务器的情况下,或者是因为任何其它原因。
典型的应用是通过银行卡或电子钱包的电子付款。在亲自付款的情况下,付款终端在公共位置,因此使用公钥密码学方法,使得不存储主密钥。为减少这样一个系统的成本,所希望的是,或者卡是标准的微处理器卡,即卡不配备密码处理器,或者包含在终端本身中的安全受保护的微处理器是标准类型的,或者两者皆是。根据该情况并根据所采用的加密方法,在已有技术中已知目前实现了这些目标的一个或另一个,但不允许容易地同时实现两者,还同时兼顾系统的约束。这样的约束的一个例子是在非接触交易的情况下,付款要在不到一秒,甚至在小于150毫秒内完成,或者在高速公路收费的情况下甚至要在几毫秒内完成。
目前最广泛使用的加密方法是RSA方法。它基于因数分解问题。在各种场合中标准化的该算法已经变成一种事实标准。它将在未来几年中仍保持为主要的算法。许多产品、系统和基础结构,诸如PKI(公钥基础结构)基础结构,已经根据这种算法并根据其使用的密钥的格式而被设计出来。
如已知的,按照这种算法,公钥包括一对整数(n,e)而私钥包括一个整数d。模数n是一个足够大的整数,使得对它无法进行因数分解。实体A单独地保存私钥d,它是唯一能够产生等于具有d作为指数的整数W的幂模n的整数W’的实体,使得任何已知公钥(n,e)的实体B能够通过将W’自乘到具有e作为指数的幂模n来重新获得W。
在一种使用消息签名M的方法中,整数W通常是通过诸如已知的散列函数之类的函数的消息的映象。证明者是实体A,签名是整数W’,验证者是实体B,它根据签名W’通过已知函数验证所找到的整数是消息的映象。
在一种认证的方法中,整数W一般构成由验证者实体B发送的询问。由证明者实体A产生数W’,构成对该询问的回答。
在一种身份验证消息M的方法中,整数W通常是从消息M的映象和由包括实体B的验证者发送的询问的组合得到的。由证明者实体A产生的数W’,在回答该询问时构成可信的签名。
然而,RSA算法有一个问题,源于要由证明者或签名人执行大量的运算。为在少于一秒内在执行这些运算的微处理器卡上执行全部计算,必须给卡添加密码处理器。然而,密码处理器的制造和安装具有值得考虑的成本,它增加微处理器卡的成本。还已知密码处理器消耗大量的电流。通过终端给卡提供这样的电流,这在非接触接口的情况下会引起技术困难。还已知添加密码处理器使通过消耗电流的频谱分析来进行的物理攻击变得容易,这提出一个难以找到技术解决方案的缺点。而且,即使卡配备了密码处理器,计算过程仍可能在一些交易时间必须要求非常短的应用中被证明还是太慢,诸如在上面提到某些例子中。
本发明的目标是指定一种公钥加密方法,诸如身份验证和数字签名方法。更准确地说,本发明的目标是在某种安全性级别上使用与RSA算法相同的密钥,该安全性级别至少等于这种算法的安全性,同时仍允许预先执行大部分的计算,这避了必须使用密码处理器。
考虑一种可以在交易中使用的加密方法,对于该交易,第一实体用RSA私钥产生可由第二实体用与所述私钥相关联的RSA公钥验证的证明,所述公钥包括第一指数和模数,按照本发明的该方法值得注意的是:
-第一实体产生证明第一元素,其消耗相当多资源的第一计算可以独立于该交易执行;
-第一实体产生与证明第一元素相关的证明第二元素并且依赖于专用于该交易的由第一和第二实体共享的公共数,其第二计算消耗很少资源;以及
-第二实体通过一种关系验证证明第一元素与具有第二指数的普通数的第一幂模模数相关,第二指数等于公共数的全部或部分与公钥的第一指数乘以证明第二元素的线性组合。
这些密钥是RSA类型的事实具有能够在没有任何修改的情况下使用许多现有的产品、开发或基础结构,诸如密钥产生软件、微处理器存储区域的描述、公钥证书格式等的优点。
由于证明第一元素可以完全或部分地独立于交易来计算,因此第一实体具有在交易之前执行复杂计算的可能性,同时将该复杂计算的执行保密,以便保证安全。因而,可从交易的开始立即看到第一实体快速地产生这样一个证明第一元素,无需强大的资源诸如密码处理器之类的资源。然后只有第一实体能够产生证明第二元素,通过将它与证明第一元素相关,使得通过简单的运算使证明第二元素依赖于专由交易共享的公共数。第一实体有可能在短时间内执行这些简单运算,这避免了交易的减慢,同时保持高级别的安全性。
非限制性地,交易的目标可以是识别第一实体,以签名一消息或者身份验证一消息。
具体地说,为允许第一实体被识别:
-由第一实体通过将普通数自乘到具有第三指数的第二幂模模数来产生证明第一元素,第三指数等于公钥的第一指数乘以由第一实体保密的随机整数;
-由第二实体在已经收到证明第一元素之后随机地从安全区间内选择公共数并且随后发送;以及
-由第二实体验证的关系是证明第一元素的幂与普通数的第一幂之间的相等关系。
其执行是保密的复杂计算,在这种情况下涉及普通数的第二幂的自乘,以便产生证明第一元素。在交易期间随机地选择的公共数的选择,不损害该交易的速度。
特别地,为了允许签名一消息:
-由第一实体通过将一标准散列函数应用于消息并且应用于被自乘到具有第三指数的第二幂模模数的普通数来产生证明第一元素,第三指数等于公钥的第一指数乘以由第一实体保密的随机整数;
-公共数等于证明第一元素;以及
-由第二实体验证的关系是公共数与将标准散列函数应用于消息并且应用于普通数的第一幂的结果之间的相等关系。
其执行被保密的复杂计算在这种情况下涉及普通数的第二幂的自乘,以便产生证明的一种期望。将标准散列函数应用于消息并且应用于证明的这种期望不再消耗相当多的资源。第一实体在这种情况下可在交易之前计算证明的期望,在该交易中,证明第二元素和证明第一元素的传送等于与第二实体共享的公共数,随后构成消息的签名的传送。
特别地,为了身份验证由第二实体接收的消息来自于第一实体:
-由第一实体通过将标准散列函数应用于消息并且应用于被自乘到具有第三指数的第二幂模模数的普通数来产生证明第一元素,第三指数等于公钥的第一指数乘以由第一实体保密的随机整数;
-由第二实体在已经收到证明第一元素之后从安全区间内选择公共数并且随后发送;以及
-由第二实体验证的关系是证明第一元素与将标准散列函数应用于消息并且应用于普通数的第一幂的结果之间的相等关系。
被保密的复杂计算这里涉及普通数的第二幂的自乘,以便产生证明第一元素。由第二实体在交易期间随机地选择的公共数的选择,不损害该交易的速度。
一般而言,在交易之前执行的复杂计算不直接涉及私钥,因此其结果不给出关于私钥的信息。
更特别地,该密码方法值得注意的是:
-由第一实体通过从随机整数中减去私钥乘以公共数来产生证明第二元素;
-等于第二指数的线性组合包括用于公共数的正单位系数和用于公钥的第一指数乘以证明第二元素的正单位系数;以及
-在验证的关系中,认为证明第一元素具有单位指数幂。
可替换地,并且最好在由第二实体选择公共数时,该密码方法值得注意的是:
-由于将公共数分成第一基本公共数和第二基本公共数,因此第一实体通过从随机整数乘以第一基本公共数中减去私钥乘以第二基本公共数来产生证明第二元素;
-等于第二指数的线性组合包括用于第一基本公共数的零系数,用于第二基本公共数的正单位系数和用于公钥的第一指数乘以证明第二元素的正单位系数;以及
-在验证的关系中,认为证明第一元素具有等于第一基本公共数的指数幂。
上述简单的减法和乘法运算使得有可能快速地计算交易内的证明第二元素,并且通过每次经由一个不同的随机数产生与另一个证明第一元素相关的证明第二元素来重复该交易若干次,不给出关于私钥的任何信息。
有利的是,该密码方法值得注意的是,计算证明第二元素模通过Carmichael函数的模数的映象或者模普通数模模数的数量级的倍数。
可以选择随机整数比私钥大非常多。如不应用在前面的段落中提到的优点,则对于随机整数必须比私钥的值大非常多。有利的是,为了减少具有随机数为指数的求幂所需的运算数量,随机整数小于通过Carmichael函数的模数的映象或者小于普通数模模数的数量级的倍数。这样一个随机数不能给出关于私钥的任何可利用信息。
通过减少这样获得的证明第二元素的尺寸,有可能加速由第二实体进行的计算而不损害安全性。
也有利的是,密码方法值得注意的是,计算第三指数模通过Carmichael函数的模数的映象或者模普通数模模数的数量级的倍数。
通过减少这样获得的第三指数的大小,有可能加速由第一实体进行的计算而不损害安全性。
赋给普通数的值二,方便了普通数的任何幂的求幂。也可将一个小的值赋给普通数,使得有可能区分每个第一实体,通过将一个已知的散列函数应用于模数并且应用于公钥的第一指数。
对用于区分第一实体的该密码方法的一个值得重视的改进是,由此与公钥一起传送普通数,普通数等于具有私钥作为指数的被自乘到一个幂模模数的基数。
第一实体随后必须要做只是自乘该基数到具有随机数作为指数的模模数的幂,使得通过自乘普通数到具有第三指数的模模数的第二幂,第三指数等于公钥第一指数乘以随机整数。通过将值二赋给该基数,相当大地加速了复杂计算,无论在交易期间还是在交易之前执行该计算。
对密码方法的另一值得重视的改进是由此:
-第三实体接收证明第二元素,通过自乘普通数到具有证明第二元素作为指数的幂模模数来产生证明第三元素并将证明第三元素送到第二实体;以及
-第二实体,自乘证明第三元素到具有第一指数的幂模模数并且将其结果乘以被自乘到其指数为公共数的幂的普通数,以便验证将证明第一元素与证明第二元素相关的关系。
第三实体使得有可能减轻第二实体的负担而不损害验证的完整性。
考虑一具有保密的RSA私钥并受到不被侵入的保护的证明者设备,以便在与一验证者设备交易期间产生一证明,用与所述私钥相关联的公钥对其验证,使得有可能保证验证者设备产生了所述证明,所述RSA公钥包括第一指数和模数,按照本发明的证明者设备值得注意的是它包括:
-计算装置,设计为产生证明第一元素,其第一计算消耗相当多的资源并可独立于该交易执行,并且依赖于专用于该交易的公共数产生与证明第一元素相关的证明第二元素;以及
-通信装置设计为传送至少证明的第一和第二元素并且设计为将所述公共数传送到验证者设备或者从其接收所述公共数。
特别地,按照本发明的证明者设备值得注意的是:
-在一方面,计算装置设计为产生第一随机数并且自乘普通数到具有指数的幂模模数,该指数等于公钥的第一指数乘以随机整数;以及
-在另一方面,计算装置设计为通过取随机整数与私钥乘以公共数之间的差,来产生证明第二元素。
可替换地,计算装置可设计为执行模通过Carmichael函数的模数的映象或者模普通数模模数的数量级的倍数的运算。
考虑一验证者设备,用于验证一证明来源于一证明者设备,证明者设备具有由证明者设备保密的RSA私钥,验证是用与所述私钥相关联的公钥来进行的,所述RSA公钥包括指数和模数,按照本发明的验证者设备值得注意的是它包括:
-通信装置,设计为接收证明第一元素和证明第二元素或者证明第三元素,并且接收或者传送专用于一交易的公共数,在该交易内接收证明的第一和第二或第三元素;以及
-计算装置,设计为通过一种关系验证证明第一元素与模模数的具有第二指数的普通数的第一幂相关,第二指数等于公共数与公钥第一指数乘以证明第二元素的线性组合。
特别地,验证者设备值得注意的是,通信装置设计为接收证明第二元素,并且其中计算装置设计为计算第二指数和普通数的所述第一幂。
可替换地,验证者设备值得注意的是,通信装置设计为接收证明第三元素,并且其中计算装置设计为自乘证明第三元素到公钥第一指数的一个幂,以便将其结果乘以被自乘到具有公共数作为指数的第二幂的普通数。
通过下面参考附图描述的例示性例子将更好地理解本发明,这些附图是:
图1示出按照本发明用于识别第一实体的方法的步骤;
图2示出按照本发明用于签名消息的方法的步骤;
图3示出按照本发明用于身份验证消息的方法的步骤;
图4示出用于促进许多交易的身份验证方法的第一变化;以及
图5示出涉及中间实体的身份验证方法的第二变化。
这些描述的实施例是一种实体身份验证或认证方法。它允许证明者A使验证者B确信其真实性。这种方法可变换成身份验证消息或数字消息签名的方法,如下说明。它的安全性依赖于大整数因数分解的困难性。对于本领域的那些熟练技术人员,已知这种困难性至少与RSA算法的安全性所依赖的问题的困难性一样大。在使验证任务能够容易的选项中,该方法的安全性等价于RSA安全性。
应当记得,素数是只能被一和被其自己整除的数。也应记得,任何正整数z的欧拉(Euler)函数???(z)给出小于z且与z互素(即除1之外与z没有公因子)的任何正整数的集合的基数。也应记得,任何正整数w的Carmichael(卡米克尔)函数λ(w)给出最小的严格正整数v,使得任何整数u满足关系{uv=1模w},即,如已知的,uv除以w的整数除法的余数等于1。
按照上面说明的目标和结果,这种方法使用RSA密钥。为了构成证明者设备,第一实体A首先拥有向任何第二实体B揭示的公钥,第二实体B构成验证者设备。第一实体A其次拥有保密的私钥。公钥包括模数n和第一指数e。私钥包括第二指数d。模数n是一个整数,等于两个或多个素数的乘积。当数n是两素数p和q的乘积时,那么许多RSA描述规定模数n、第一指数e和第二指数d满足方程对于本领域那些熟练技术人员是熟知的,当满足方程时,那么满足方程{ed=1moduloλ(n)}。
更一般地,对于满足方程{ed=1模λ(n)}的与私钥相关联的任何公钥(n,e),该方法以相同级别的安全性运算。
在所有选项中,假定验证者B已经知道所有验证由第一实体证明者A给定的证明所需的所有公开参数,即其身份、其公钥,其公钥证书等。
通过重复参考图1在此描述的协议k次,由实体B对实体A进行认证。数k是正整数,与小于或等于指数e一起定义一对安全参数。
在第一步骤9中,实体A产生比d大非常多的第一随机整数r,计算x=ger(modn)并将x送到实体B。在已知的方式中,实体A和B是计算机或芯片卡类型的。整数g是实体A和B已知的普通数。普通数g的值等于2,便于其求幂。普通数g也可以是证明者的公钥的函数,例如g=h(n,e),其中h是众所周知的散列函数。普通数g也可以由实体A定义并随后与其公钥一起传送。例如,实体A将基数G自乘到幂d,其结果给出数g使得ge(mod n)=G。由于实体A一劳永逸地计算普通数g,因此简化了x的计算,如在此情况下,x=Gr(modn)。基数G的值等于2,便于其求幂,这是特别有利的。表达式(mod n)指模n,即,如已知的,计算结果等于整数n整除所述运算的结果的余数,整数n通常称为模数。这里,整数x构成证明第一元素,因为只有产生随机数r的实体能够产生数x。随机数r不是由产生它的实体告知的。根据已知的数论,选择一个足够大的数r,使得在已知基数G的普通数g和模数n时,也不能从x复原数r。
实体B接收证明第一元素x,确认传递10,它随后激活第二步骤11。
在步骤11中,实体B将从区间[0,t-1](称为安全区间)内随机选择的整数c送到实体A。因而,数c对于实体A和B是公共的,而且对于任何渗入实体A与B之间对话的其它实体也是公共的。
实体A接受公共数c,确认传递12,它随后激活第三步骤13。
在步骤13中,实体A计算y=r-dc。因而,实体A以数r和数d的线性组合的形式产生私钥的映象y,其乘法系数是公共数c。由于随机数r非常大且不被告知,因此即使知道映象y也不能够复原乘积dc,并且因此防止私钥数d的复原,由此私钥数被实体A保密。由于只有实体A知道数d,因此只有实体A能够产生结合公共数c的映象。
考虑这里所述的协议,冒充者是试图在不知道私钥d的秘密的情况下象实体A一样进行。可以证明,当整数的因数分解是一个难题时,检测不出冒充者的概率等于1/kt。因此这些协议的安全性至少与RSA的一样。对于许多应用,在身份验证背景中,乘积kt可选择得相对小,例如为216。
这对安全参数的k和t的任何值是可能的。最好,k=1和t=e,在这种情况下上面定义的概率等于1/e,并且只要应用一个验证方程。标准RSA公开指数值如e=65537,即216+1,可适用于许多应用。
实体B接收证明第二元素y,确认传递16,它随后激活第四步骤17。
在步骤17中,实体B验证gey+c=x(mod n)。尽管如上面看到的,证明第二元素不告知关于私钥d的信息,但证明第二元素y是这样的:
ey+c=e(r-dc)+c.
因此,通过将普通数g自乘到其指数为公共数c和乘积ey的线性组合的幂,则:
gcy+c=ger(g-ed+1)c=x(mod n).
而且,尽管按照数论普通数g不告知关于私钥的信息,但普通数g事实上是这样的:
(gdc)e=gc(mod n).
因而,在任何时候不告知r的情况下,等式:
(gy)egc=(gr)e=x(mod n).
证明实体A知道d。
通过预先计算加速这个验证,在步骤11的末尾或甚至在它之前:
v’=gc(modn).
因而,在第四步骤中,B不再必须验证:geyv’=x(mod n)。当B接收y时,有利的是,B一劳永逸地计算G=ge(mod n),以便在步骤11中验证Gyv’=x(modn)。其它优化该验证计算的可能方法将在本说明书的其余部分给出。
许多优化这个基本协议的不同方法是可能的。例如,x=ger(mod n)可用x=g-cr(mod n)来代替,在这种情况下验证方程变成gey+cx=1(mod n)。
再次,例如,有可能用一对正或负整数(a,b)代替c并且用y=ar-bd代替y=r-dc,在这种情况下验证方程变成gey+b=xa(mod n)。
如果从A知道模数n的素数因子,则可使用称为″孙子剩余(Chineseremainders)″的技术来加速第一步骤。
可预先执行第一步骤。而且,x的k值可形成A的公钥的一部分,在这种情况下该协议直接在第二步骤开始。x的这些值也可由值得信任的外部实体来计算并存储在实体A中。
当证明第一元素的预先计算的值被结合到公钥时,在一个交易内该协议直接以步骤11开始。实体B决定步骤11和13的重复数k,对于每一次重复,实体B在步骤17中验证存在等于V的证明第一元素x的值。再次,只有实体A知道相应于证明第一元素的随机数。
为能够在实体A的存储器中存储预先计算的最大数,特别是当实体A被集成到芯片卡(在信用卡或移动电话的情况下)的微电路中时,数x可用f(x)的值来代替,其中f是函数,例如等于(或者包括)密码散列函数,在这种情况下验证方程变成:f(gey-c(mod n))=f(x)。
可组合上述修改的全部或部分。
对该方法的一个有用的改进在于通过Carmichael函数在实体A的存储器中存储模数的映象λ(n)。
为了减少证明第二元素y的大小,以便在因此不修改验证方程的情况下减少验证时间,在步骤13中计算模λ(n)的证明第二元素。在这种方法的实现中,有利的是,在步骤11中,选择小于λ(n)的随机数r。更一般地,表达式{y=r-dc}可用任何表达式{y=r-dc-iλ(n)}代替,其中i是任何整数,最好是正整数。
为了加速步骤11的执行,在将对普通数g进行指数运算之前,计算模λ(n)的乘积er。
一种等价的方法是用g模n的数量级代替λ(n),即最小非零整数e使得ge=1模n,或者更一般地用这个数量级e的任何倍数代替。
参考图5,由实体B执行验证计算也可部分地委托给除B之外的任何实体,不损失任何安全性。在这种情况下,A提供证明第二元素y给这个其它实体C。实体C从证明第二元素y产生证明第三元素Y并将证明第三元素Y送到实体B。首先,知道y不提供关于d的信息,因为乘积dc被随机数r″屏蔽″。其次,实际上欺骗者不可能用所有部分制造Y,即在没有由第一实体A唯一地产生证明第二元素的情况下。这是因为,如果因数分解是难题,则给定n,e,x和c,找到满足第四步骤的验证方程的Y值是行不通的。
公钥是(n,e)对,并且实体B通过重复k次这里描述的协议来进行对实体A的身份验证或认证,其中C表示任何除B之外的任何实体。与已有技术中的其它协议(例如在离散对数情况下公钥为四元组(n,e,g,v))相比,公钥的组分数量的减少,减少要执行的运算的数量而不损害安全性。有利的是,按照本发明,这里使用的公钥是RSA类型的,可容易地将所述的协议集成到广泛使用的RSA环境中。
该方法以与参考图1直至步骤13所述的相同方式执行。参考图5,对步骤13的修改在于,实体A将私钥d的映象y送到中间实体C。如上面看到的,映象y不给出关于私钥的信息。
实体C接收映象y,确认传递14,它因此激活第五步骤15。
在步骤15中,在这种情况下,中间实体C计算证明第三元素Y=gy(mod n)并将Y送到B。
该过程随后继续以与参考图1所描述的相同的方式通过传递16和步骤17。然而,对步骤17的修改在于,第二实体B现在只需将证明第三元素Y自乘到指数为e的幂并用gc(mod n)乘以其结果。
物理上,例如,将中间实体C结合在一个芯片中,它是不需要安全保护的,包含在证明者的安全设备中(诸如芯片卡中)、包含在验证者的安全设备中(诸如付款终端中)或者包含在其他设备中(诸如计算机中)。安全性在于事实上实体C不能由它自己找到合适值Y,也就是说使得满足验证方程。
可将上述协议转换成消息身份验证协议或数字签名方案。
图3示出一种方法的步骤,该方法使得有可能验证由第二实体B收到的消息M是由第一实体A发送的。
在第一步骤20中,实体A产生比d大很多的第一随机整数r并使用一个公式如P=ger(mod n)来计算证明P的一种期望(potential),如在证明第一元素的情况中的步骤9中。代替将P送到实体B,实体A通过将数P和函数h一起应用于消息M来产生证明第一元素x,例如,函数h等于密码散列函数或者包括密码散列函数如下:
x=h(P,M).
接着,实体A将消息M和证明第一元素x送到实体B。
实体B接收消息M和证明第一元素x,确认传递21,它激活第二步骤11。该过程随后以参考图1或图5所述的相同方法继续。
在步骤11中,实体B将在称为安全区间的区间[0,t-1]内随机地选择的整数c送到实体A。因而,数c对于实体A和B是公共的,并且对于渗入实体A与B之间的对话的其它任何实体也是公共的。
实体A接收公共数c,确认传递12,它随后激活第三步骤13。
在步骤13中,实体A计算y=r-dc。因而,实体A以数r和数d的线性组合的形式产生私钥的映象y,其乘法系数是公共数c。由于随机数r很大且没有被告知,即使知道映象y也不能复原乘积dc,并且因此不能复原私钥d,所以实体A继续将它保密着。由于只有实体A知道数d,因此只有实体A能够产生结合公共数c的映象。在这个图3所示的例子中,实体A将私钥映象y送到实体B,但也可如图5所示将它送到中间实体C。如先前看到的,映象y不给出关于私钥的任何信息。
实体B接收映象y,确认传递16,它随后激活第四步骤22。
在步骤22中,实体B如在步骤17中一样用下面的公式计算验证值V:
V=gc+ey(mod n)
并随后用下面的验证方程来验证证明第二元素与证明第一元素的匹配:
h(V,M)=x.
在使用函数f的变化中,验证方程变成h(f(gc+ey(mod n)),M)=x。
在使用函数f并涉及中间实体C的变化中,验证方程变成h(f(Yegc(mod n)),M)=x。
若实体B从任何其它实体收到消息M,则由实体A签名的消息M保持有效,从这一意义来说,消息签名与发送者无关,不同于消息身份验证。建议公钥指数e的大小不小于二十四位,以便保证可接受的安全性级别。
参考图2,在第一步骤18中,实体A产生第一随机整数r并计算证明的一种期望P=ger(mod n)。
在紧接着第一步骤1的第二步骤23中,实体A通过与将数P函数h一起应用于消息M来产生证明第一元素x,例如函数h等于密码散列函数或者包括密码散列函数,如下:
x=h(P,M).
在步骤23中,实体A生成等于证明第一元素x的公共数c。
在紧接着步骤23的第三步骤24中,实体A计算y=r-dc。因而,实体A以数r和数d的线性组合的形式产生私钥的映象y,其乘法系数是公共数c。由于随机数r非常大并没有被告知,即使知道映象y也不能复原乘积dc,并且因此不能复原私钥数d,所以由实体A继续将它保密。由于只有实体A知道数d,因此只有实体A能够产生结合公共数c的映象。如上面看到的,映象y不给出关于私钥的信息。(x,y)对构成消息M的签名,因为这个对既结合消息M又结合了私钥元素,该私钥元素保证实体A是这个签名的源。
实体A随后将消息M和签名(x,y)送到实体B或者送到接下来能够将签过名的消息送到实体B的任何其它实体。
应当注意,消息M不必在步骤24发送。可在步骤19独立于其签名发送消息M,因为消息M的任何修改将只有可以忽略不计的机会与其签名兼容。
实体B从实体A或者从任何其它实体接收消息M及其签名(x,y),确认传递25,这随后将激活步骤26。
在步骤26中,实体B取公共数c等于证明第一元素x。
在步骤26中,实体B如在步骤17中一样用下面的公式计算验证值V:
V=gc+ey(mod n)
并且随后用下面的验证方程验证证明第二元素与证明第一元素的匹配:
h(V,M)=x.
在这种情况下,通过这个方程验证证明第一元素的匹配,因为事实上在步骤23中产生的公共数c本身匹配证明第一元素。
在使用函数f的变体中,验证方程变成h(f(gc+ey)),M)=x。
现在将参考图4说明本发明的该方法的一个特别有效的实现。
步骤27产生并在实体A的存储器中存储一个或多个随机数值r(j’),与它们每一个相关联的是证明的一个期望P(j’)。索引j’用于在一个表中建立每一随机数r(j’)与相关联的证明的期望P(j’)之间的对应。产生每一随机数r(j’)使得或者实际上比私钥d大得多,或者小于等于λ(n),如上面说明的。每一证明的期望P(j’)作为基数G以r(j’)为指数的幂来计算。通过在每次计算P(j’)之后将模长度k’的索引j’加1来为每行索引j’执行步骤27。长度k’表示表的行数,j’=0时表示索引表的第一行,当j’再次变成零时停止步骤27的计算,或者继续执行以便更新包含在表中的值。长度k’具有等于或者大于k的值。
由实体A或者由机密实体执行P(j’)的计算,机密实体从实体A接收随机数r(j’)或者值λ(n)以便选择小于或等于λ(n)的随机数r(j’)。当由实体A执行P(j’)的计算时,由传递28激活步骤27的每次执行,传递28是在检测到实体A的数字处理装置空闲时被确认的。
在初始步骤29中确定基数G。当设置普通数g并因此众所周知时,实体A只需要告知公钥(n,e),并且计算基数G使得G=ge模n。当没有设置普通数g时,实体A选择G的值,例如G=2,并且产生g=Gd模n。然后将普通数g与公钥一起传送。索引j’设置为零,使得从表的第一行开始步骤27的第一次执行。每次步骤27的执行的结束都被连接回到步骤29的出口,以便扫描传递28并按照顺序扫描传递40、41、42。
由认证交易确认传递42,它随后激活一系列步骤43和45。
步骤43决定重复索引j的位置,例如,等于包含随机数和相关联的证明的期望的表的当前索引j’。
在步骤45中,实体A通过简单地从表中读出证明的期望P(j)来产生第一元素x。在由传递42的确认检测交易期间,证明第一元素的产生因此不要求幂计算。因而快速地传送证明第一元素x。
由公共数c的接收确认传递1,它随后激活步骤2。
在步骤2中,实体A如上所述产生证明第二元素y。由于运算仅限于少量乘法和加减法,因此它们需要很少的计算时间。因而在公共数c的接收之后能快速地传送证明第二元素y。
在步骤2中,索引p以单位增量增加,使得重复步骤45和步骤2,只要在传递3中检测到j不同于j’模k,直到传递4检测到j等于j’模k,以便在步骤45的k次执行之后返回到步骤29的出口。
由消息M的签名交易确认传递41。传递41随后激活一系列步骤44和46。
步骤44确定重复索引j的位置,例如等于包含随机数和相关联的证明的期望的表的当前索引j’。在步骤44发送消息M。
在步骤46中,实体A通过将标准散列函数h()施加于消息M并且施加于简单地从表中读出证明的期望P(j)的结果生成证明x的第一元素。取公共数c等于证明第一元素x。
在步骤46中,实体A产生证明第二元素y,如上面说明的。由于这些运算仅限于少量乘法和加减法,因此它们需要很少的计算时间。因此,在由传递41的确认检测交易期间,由证明第一元素x和证明第二元素y组成的签名的产生不需要幂计算。因而能快速地传送签名(x,y)。
在步骤46中可选地,用单位增量增加索引j,使得只要在传递3中检测到j不同于j’模k就重复步骤46,直到传递检测到j等于j’模k为止,以便在步骤46的k次执行之后返回到步骤29的出口。
由用于身份验证消息M的交易确认传递40。传递40随后激活一系列的步骤43和47。
步骤43确定重复索引j的位置,例如等于包含随机数和相关联证明的期望的表的当前索引j’。
在步骤47中,实体A传送消息M和证明第一元素x。通过将标准散列函数h()施加于消息M并且施加于简单地读出表的证明的期望P(j)来产生证明第一元素x。
因此,在传递40的确认检测交易期间,证明第一元素的产生不需要幂计算。因而能快速地传送证明第一元素x。
由公共数c的接收确认传递1,它随后激活步骤48。
在步骤48中,实体A产生证明第二元素y,如上面说明。由于这些运算限于少量乘法和加减法,因此它们需要很少计算时间。因而在公共数c的接收之后能快速地传送证明第二元素y。
在步骤48中,用单位增量增加索引p,使得只要在步骤3检测到j不同于j’模k重复步骤47和步骤48,直到交易4检测到p等于j’模k,以便在步骤47的k次执行之后返回步骤29的出口。
参考图6,分别由证明者设备30、验证者设备31和中间设备32在物理上形成上述实体A、B、C。证明者设备30例如是微处理器卡,诸如信用卡或移动电话订户认证卡。验证者设备31例如银行终端或者电子商务服务器,或者移动通信操作者设备。中间设备32例如是微处理卡扩展,信用卡读取终端或者移动电话电子卡。
证明者设备30包括通信装置34和计算装置37。证明者设备30受到保护不被侵入。通信装置34设计为按照参考图1、3和4所述的步骤9、45或47传送证明第一元素x;按照参考图1和3所述的步骤13,在参考图2所述的步骤24或者在参考图4所述的步骤2和48,传送证明第二元素y;按照参考图1至4所述的步骤19、20、44或47传送消息M;或者按照参考图2和4所述的步骤24、46传送公共数c,具体取决于要实现的方法的版本。当要实现的方法相应于认证或身份验证时,通信装置34也设计为按照参考图1至4所述的传递12或1接收公共数c。对于相应于签名的要实现的方法的版本,通信装置34不必设计成接收公共数c。
计算装置37设计为执行参考图1或5所述的步骤9和13,参考图2所述的步骤18、19、23和24,以及参考图3所述的步骤13和20或者参考图4所述的步骤,具体取决于要实现的方法的版本。计算装置37以已知的方式包括微处理器和微程序或者专用于上述计算的组合电路。
验证者装置31包括通信装置35和计算装置38。当要实现的方法的版本相应于身份验证时,通信装置35设计为按照参考图1、3和5所述的步骤11,传送一个或多个公共数c。对于相应于签名的要实现的方法的版本,通信装置35不必设计为传送公共数c。通信装置35也设计为按照参考图1至3和5所述的传递10和16接收两个证明的元素x和y;或按照参考图3所述的传递21和16传送带有证明第一元素x与证明第二元素y的消息M;或者按照参考图5所述的传递2和8传送证明第二元素和带有一个或多个公共数c及私钥映象y的消息M。
计算装置38设计为执行参考图1和5所述的步骤11和17,参考图2所述的步骤26,或者参考图3所述的步骤11和22,具体取决于要实现的方法的版本。计算装置38以已知的方式包括微处理器和微程序或者专用于上述计算的组合电路。
中间设备32包括通信装置36和计算装置39。通信装置36设计为按照参考图5所述的步骤15传送证明第三元素Y。通信装置36还设计为按照参考图5所述的传递14接收证明第二元素y。
计算装置39设计为执行参考图5所述的步骤15。计算装置39以已知的方式包括微处理器和程序或者专用于上述计算的组合电路。
作为改进,上述计算和通信装置设计为重复上述步骤的执行k次,每次用于不同的证明第一元素和证明第二元素。
Claims (21)
1.一种在交易中使用的密码方法,为了所述交易,第一实体(A)通过RSA私钥d产生证明,所述证明由第二实体(B)通过与所述私钥相关联的RSA公钥来验证,所述公钥包括第一指数e和模数n,其特征在于:
所述第一实体(A)产生证明第一元素x,所述第一元素的第一计算独立于所述交易来执行;
所述第一实体(A)产生与所述证明第一元素x相关并依赖于公共数c的证明第二元素y,所述公共数c由所述第一实体和所述第二实体专用于所述交易所共享;以及
所述第二实体(B)验证所述证明第一元素x通过一种关系与普通数g的具有第二指数的第一幂模模数n相关,所述第二指数等于所述公共数c的全部或部分与所述公钥的第一指数e与所述证明第二元素y的乘积的线性组合。
2.如权利要求1所述的密码方法,其特征在于,为允许识别所述第一实体(A):
由所述第一实体(A)通过将所述普通数g自乘到具有第三指数的第二幂模模数n来产生所述证明第一元素x,所述第三指数等于所述公钥的第一指数e乘以由所述第一实体(A)保密的随机整数r;
由所述第二实体(B)在已经收到所述证明第一元素x之后随机地从安全区间[0,t-1]内选择公共数c并随后将该公共数发送;以及
由所述第二实体(B)验证的所述关系是所述证明第一元素x的幂与所述普通数g的第一幂之间的相等关系。
3.如权利要求1所述的密码方法,其特征在于,为了允许签名消息(M):
由所述第一实体(A)通过将标准散列函数应用于所述消息(M)并且应用于被自乘到具有第三指数的第二幂模模数n的所述普通数g来产生所述证明第一元素x,所述第三指数等于所述公钥的第一指数e乘以由所述第一实体(A)保密的随机整数r;
所述公共数c等于所述证明第一元素x;以及
由所述第二实体(B)验证的关系是所述证明第一元素x和将所述标准散列函数应用于消息(M)并应用于所述普通数g的第一幂的结果之间的相等关系。
4.如权利要求1所述密码方法,其特征在于,为了验证由所述第二实体(B)收到的消息(M)来自所述第一实体(A):
由所述第一实体(A)通过将标准散列函数应用于所述消息(M)并且应用于被自乘到具有第三指数的第二幂模模数n的所述普通数g来产生所述证明第一元素x,所述第三指数等于所述公钥的第一指数e乘以由所述第一实体(A)保密的随机整数r;
由所述第二实体(B)在已经收到所述证明第一元素x之后从安全区间[0,t-1]内随机选择公共数c并随后将所述公共数发送;以及
由所述第二实体(B)验证的关系是所述证明第一元素x与将所述标准散列函数应用于所述消息(M)并应用于所述普通数g的第一幂的结果之间的相等关系。
5.如权利要求2至4之一所述的密码方法,其特征在于:
由所述第一实体(A)通过从所述随机整数r中减去所述私钥d与所述公共数c乘积来产生所述证明第二元素y:y=r-dc;
等于所述第二指数的所述线性组合包括用于所述公共数c的正单位系数和用于所述公钥的第一指数e与所述证明第二元素y的乘积的正单位系数;以及
在所验证的关系中,认为所述证明第一元素具有单位指数幂。
6.如权利要求2和4任一项所述的密码方法,其特征在于:
由于所述公共数c被分成第一基本公共数a和第二基本公共数b,因此所述第一实体(A)通过从所述随机整数r与所述第一基本公共数a的乘积减去所述私钥d与所述第二基本公共数b的乘积来产生所述证明第二元素y:y=ar-bd;
等于所述第二指数的所述线性组合包括用于所述第一基本公共数a的零系数、用于所述第二基本公共数b的正单位系数和用于所述公钥的第一指数e与所述证明第二元素y的乘积的正单位系数;以及
在所验证的关系中,认为所述证明第一元素具有等于所述第一基本公共数a的指数幂。
7.如权利要求5所述的密码方法,其特征在于,将所述证明第二元素y模Carmichael函数λ的模数n的映象或者模所述普通数g模模数n的数量级的倍数。
8.如权利要求6所述的密码方法,其特征在于,将所述证明第二元素y模Carmichael函数λ的模数n的映象或者模所述普通数g模模数n的数量级的倍数。
9.如权利要求5所述的密码方法,其特征在于,所述随机数r比所述私钥d大得多。
10.如权利要求6所述的密码方法,其特征在于,所述随机数r比所述私钥d大得多。
11.如权利要求7和8任一项所述的密码方法,其特征在于,所述随机整数r小于Carmichael函数λ的模数n的映象或者小于所述普通数g模模数n的数量级的倍数。
12.如权利要求5所述的密码方法,其特征在于,将所述第三指数模Carmichael函数λ的模数n的映象或者模所述普通数g模模数n的数量级的倍数。
13.如权利要求6所述的密码方法,其特征在于,将所述第三指数模Carmichael函数λ的模数n的映象或者模所述普通数g模模数n的数量级的倍数。
14.如权利要求1至4之一所述的密码方法,其特征在于,与所述公钥一起传送所述普通数g,所述普通数g等于具有所述私钥d作为指数的被自乘到幂模模数n的基数(G)。
15.如权利要求1至4之一所述的密码方法,其特征在于:
第三实体(C)接收所述证明第二元素y,并通过将所述普通数g自乘到具有所述证明第二元素y作为指数的幂模模数n来产生证明第三元素Y:Y=gy(mod n),并将所述证明第三元素Y发送到所述第二实体(B);以及
第二实体(B),将所述证明第三元素Y自乘到所述第一指数e的幂并将该结果乘以被自乘到指数为所述公共数c的幂的普通数g,再模模数n:Yegc(mod n),以便验证将所述证明第一元素与所述证明第二元素相关的关系。
16.一种具有保密的RSA私钥d并受到不被侵入的保护的证明者设备(30),用于在与验证者设备交易期间产生证明,用与所述私钥相关联的公钥对该证明验证,使得该证明保证所述证明者设备(30)已经产生了所述证明,所述RSA公钥包括第一指数e和模数n,其特征在于,所述证明者设备包括:
计算装置(37),设计为完全或者部分地独立于所述交易而从随机整数r产生证明第一元素x,所述证明第一元素x是通过将普通数g自乘到具有第三指数的第二幂模模数n来产生的,其中所述第三指数等于所述公钥的第一指数e乘以由所述证明者设备保密的所述随机整数r,以及依赖于专用于所述交易的公共数c和所述RSA私钥d产生与所述证明第一元素相关的证明第二元素y:y=r-dc;以及
通信装置(34),设计为至少传送所述证明第一和第二元素并且设计为将所述公共数c传送到所述验证者设备或者从所述验证者设备接收所述公共数。
17.如权利要求16所述的证明者设备(30),其特征在于:
一方面,所述计算装置(37)设计为产生所述随机整数r并将所述普通数g自乘到具有所述第三指数的所述第二幂模模数n,所述第三指数等于所述公钥的第一指数e乘以所述随机整数r;以及
另一方面,所述计算装置(37)设计为通过取所述随机整数r与所述私钥d与所述公共数c的乘积之间的差,或者将所述公共数c分成两个基本公共数a,b,通过将所述随机整数r与第一基本公共数a的乘积减去所述私钥d与第二基本公共数b的乘积,来产生证明所述第二元素y:y=ar-bd。
18.如权利要求17所述的证明者设备(30),其特征在于,所述计算装置(37)设计为执行模Carmichael函数λ的模数n的映象或者模所述普通数g模模数n的数量级的倍数的运算。
19.一种验证者设备(31),用于验证一证明来源于一证明者设备,该证明者设备具有由所述证明者设备保密的RSA私钥d,所述验证是通过与所述私钥相关联的公钥来进行的,所述RSA公钥包括指数e和模数n,其特征在于,所述验证者设备包括:
通信装置(35),设计为接收证明第一元素x和证明第二元素y或者证明第三元素Y,并接收或传送专用于交易的公共数c,在所述交易内接收所述证明第一和第二或第三元素;以及
计算装置(38),设计为验证所述证明第一元素x通过一种关系与模模数n的具有第二指数普通数g的第一幂相关,所述第二指数等于所述公共数c的全部或部分与所述公钥的第一指数e与所述证明第二元素y的乘积的线性组合。
20.如权利要求19所述的验证者设备(31),其特征在于,所述通信装置设计为接收所述证明第二元素y,并其中所述计算装置(38)设计为计算所述第二指数和所述普通数g的所述第一幂。
21.如权利要求19所述的验证者设备(31),其特征在于,所述通信装置设计为接收所述证明第三元素Y,且其中所述计算装置(38)设计为将所述证明第三元素Y自乘到所述公钥的第一指数e的幂,以便将所得的结果乘以被自乘到具有所述公共数c为指数的第二幂的普通数g。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0208474A FR2842052B1 (fr) | 2002-07-05 | 2002-07-05 | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions |
FR02/08474 | 2002-07-05 | ||
PCT/FR2003/002000 WO2004006497A1 (fr) | 2002-07-05 | 2003-06-27 | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1666458A CN1666458A (zh) | 2005-09-07 |
CN1666458B true CN1666458B (zh) | 2011-08-24 |
Family
ID=29725211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038158698A Expired - Fee Related CN1666458B (zh) | 2002-07-05 | 2003-06-27 | 在交易中促进计算的加密方法和设备 |
Country Status (13)
Country | Link |
---|---|
US (1) | US7760884B2 (zh) |
EP (1) | EP1520370B1 (zh) |
JP (1) | JP4494965B2 (zh) |
KR (1) | KR100984562B1 (zh) |
CN (1) | CN1666458B (zh) |
AT (1) | ATE420502T1 (zh) |
AU (1) | AU2003269005B2 (zh) |
DE (1) | DE60325732D1 (zh) |
ES (1) | ES2320752T3 (zh) |
FR (1) | FR2842052B1 (zh) |
MX (1) | MXPA04012758A (zh) |
WO (1) | WO2004006497A1 (zh) |
ZA (1) | ZA200409854B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110495134A (zh) * | 2017-03-27 | 2019-11-22 | 黑莓有限公司 | 用于为有限域迪菲-赫尔曼选择安全质数的方法和系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532389A (ja) | 2005-02-25 | 2008-08-14 | クゥアルコム・インコーポレイテッド | 認証のための小型の公開鍵を用いたデジタル署名 |
US7853018B2 (en) | 2005-11-10 | 2010-12-14 | Atallah Mikhail J | Method and apparatus for hiding a private key |
US20080013721A1 (en) * | 2005-11-30 | 2008-01-17 | Jing-Jang Hwang | Asymmetric cryptography with discretionary private key |
DE102014101936A1 (de) * | 2014-02-17 | 2015-08-20 | Infineon Technologies Ag | Verfahren zum Permutieren von Datenelementen und Permutiervorrichtung |
EP3334083A1 (en) * | 2016-12-08 | 2018-06-13 | Gemalto SA | Method of rsa signature or decryption protected using a homomorphic encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4995082A (en) * | 1989-02-24 | 1991-02-19 | Schnorr Claus P | Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system |
US5748782A (en) * | 1994-03-30 | 1998-05-05 | De La Rue Cartes Et Systems Sas | Device for implementing a message signature system and chip card comprising such a device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2716058B1 (fr) | 1994-02-04 | 1996-04-12 | France Telecom | Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret. |
FR2752122B1 (fr) | 1994-07-28 | 1998-11-27 | France Telecom | Procede d'authentification a nombre reduit de bits transmis |
FR2739469B1 (fr) * | 1995-10-03 | 1997-12-26 | Gemplus Card Int | Procede de cryptographie a cle publique base sur le logarithme discret |
FR2747257B1 (fr) * | 1996-04-09 | 1998-09-11 | Gilbert Henri | Procede d'identification et/ou de signature |
FR2763451B1 (fr) * | 1997-05-13 | 1999-06-18 | France Telecom | Procede d'identification a cle publique utilisant deux fonctions de hachage |
JP3613936B2 (ja) * | 1997-07-07 | 2005-01-26 | 富士ゼロックス株式会社 | アクセス資格認証装置 |
US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6411715B1 (en) * | 1997-11-10 | 2002-06-25 | Rsa Security, Inc. | Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key |
CA2316227C (en) * | 1998-01-02 | 2009-08-11 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US6788788B1 (en) * | 1998-09-16 | 2004-09-07 | Murata Kikai Kabushiki Kaisha | Cryptographic communication method, encryption method, and cryptographic communication system |
US6578144B1 (en) * | 1999-03-23 | 2003-06-10 | International Business Machines Corporation | Secure hash-and-sign signatures |
FR2792142B1 (fr) | 1999-04-08 | 2001-06-01 | France Telecom | Procede d'authentification et de signature de message utilisant des engagements de taille reduite |
CN100380862C (zh) * | 1999-10-01 | 2008-04-09 | 法国电信公司 | 验证实体真实性或消息完整性的方法、系统、设备 |
JP2001117823A (ja) * | 1999-10-15 | 2001-04-27 | Fuji Xerox Co Ltd | アクセス資格認証機能付きデータ記憶装置 |
FR2809894B1 (fr) | 2000-05-31 | 2002-10-25 | France Telecom | Procede de cryptographie, microcircuit pour carte a puce et cartes a puce incluant un tel microcircuit |
US20020041683A1 (en) * | 2000-09-29 | 2002-04-11 | Hopkins Dale W. | Method for selecting optimal number of prime factors of a modulus for use in a cryptographic system |
US20030059041A1 (en) * | 2001-06-26 | 2003-03-27 | Mackenzie Philip D. | Methods and apparatus for two-party generation of DSA signatures |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
JP2004226674A (ja) * | 2003-01-23 | 2004-08-12 | Renesas Technology Corp | 情報処理方法 |
-
2002
- 2002-07-05 FR FR0208474A patent/FR2842052B1/fr not_active Expired - Fee Related
-
2003
- 2003-06-27 JP JP2004518844A patent/JP4494965B2/ja not_active Expired - Fee Related
- 2003-06-27 ZA ZA200409854A patent/ZA200409854B/en unknown
- 2003-06-27 CN CN038158698A patent/CN1666458B/zh not_active Expired - Fee Related
- 2003-06-27 KR KR1020057000218A patent/KR100984562B1/ko active IP Right Grant
- 2003-06-27 DE DE60325732T patent/DE60325732D1/de not_active Expired - Lifetime
- 2003-06-27 US US10/519,698 patent/US7760884B2/en not_active Expired - Fee Related
- 2003-06-27 ES ES03750783T patent/ES2320752T3/es not_active Expired - Lifetime
- 2003-06-27 EP EP03750783A patent/EP1520370B1/fr not_active Expired - Lifetime
- 2003-06-27 WO PCT/FR2003/002000 patent/WO2004006497A1/fr active Application Filing
- 2003-06-27 MX MXPA04012758A patent/MXPA04012758A/es active IP Right Grant
- 2003-06-27 AU AU2003269005A patent/AU2003269005B2/en not_active Ceased
- 2003-06-27 AT AT03750783T patent/ATE420502T1/de not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4995082A (en) * | 1989-02-24 | 1991-02-19 | Schnorr Claus P | Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system |
US5748782A (en) * | 1994-03-30 | 1998-05-05 | De La Rue Cartes Et Systems Sas | Device for implementing a message signature system and chip card comprising such a device |
Non-Patent Citations (1)
Title |
---|
C.P.Schnorr.EFFICIENT IDENTIFICATION AND SIGNATURES FORSMART CARDS.LECTURE NOTES IN COMPUTER SCIENCE,SPRINGER VERLAG.1989,239-252. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110495134A (zh) * | 2017-03-27 | 2019-11-22 | 黑莓有限公司 | 用于为有限域迪菲-赫尔曼选择安全质数的方法和系统 |
CN110495134B (zh) * | 2017-03-27 | 2023-08-25 | 黑莓有限公司 | 用于为有限域迪菲-赫尔曼选择安全质数的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
FR2842052B1 (fr) | 2004-09-24 |
FR2842052A1 (fr) | 2004-01-09 |
DE60325732D1 (de) | 2009-02-26 |
MXPA04012758A (es) | 2005-08-15 |
AU2003269005B2 (en) | 2008-01-10 |
US20050213769A1 (en) | 2005-09-29 |
ES2320752T3 (es) | 2009-05-28 |
AU2003269005A1 (en) | 2004-01-23 |
EP1520370A1 (fr) | 2005-04-06 |
US7760884B2 (en) | 2010-07-20 |
CN1666458A (zh) | 2005-09-07 |
KR20050016988A (ko) | 2005-02-21 |
JP2005532723A (ja) | 2005-10-27 |
ATE420502T1 (de) | 2009-01-15 |
ZA200409854B (en) | 2006-10-25 |
WO2004006497A1 (fr) | 2004-01-15 |
EP1520370B1 (fr) | 2009-01-07 |
JP4494965B2 (ja) | 2010-06-30 |
KR100984562B1 (ko) | 2010-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7076656B2 (en) | Methods and apparatus for providing efficient password-authenticated key exchange | |
US7506165B2 (en) | Leak-resistant cryptographic payment smartcard | |
CN108833103B (zh) | 射频识别标签和读取设备之间进行安全通信的方法和系统 | |
US8589693B2 (en) | Method for two step digital signature | |
US7313697B2 (en) | Method for authentication | |
JP2012521109A (ja) | 身元認証及び共有鍵生成の方法 | |
Bai et al. | Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card | |
USRE42517E1 (en) | Authenticating or signature method with reduced computations | |
CN1666458B (zh) | 在交易中促进计算的加密方法和设备 | |
Kumar et al. | Cryptanalysis and performance evaluation of enhanced threshold proxy signature scheme based on RSA for known signers | |
KR100971038B1 (ko) | 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법 | |
Kwon | Virtual software tokens-a practical way to secure PKI roaming | |
de Waleffe et al. | Better login protocols for computer networks | |
KR100899020B1 (ko) | 공개키를 이용하여 암호화 작업을 수행하는 방법 | |
Mohammed et al. | Elliptic curve cryptosystems on smart cards | |
AU7659598A (en) | Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing | |
Chatterjee et al. | Timestamp based authentication protocol for smart card using ECC | |
Kwon | Robust Software Tokens—Yet another method for securing user’s digital identity | |
Lin et al. | Self-certified proxy convertible authenticated encryption scheme | |
Huang et al. | An efficient deniable authentication protocol | |
Kumar et al. | Research Article Cryptanalysis and Performance Evaluation of Enhanced Threshold Proxy Signature Scheme Based on RSA for Known Signers | |
Kwon | Robust Software Tokens-Yet Another Method for Securing User’s Digital Identity (Extended and Revised: Ver. 0.9) | |
MXPA99010196A (en) | Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 |