Authenticating or signature method with reduced computations
Abstract
Authentication and signature process with reduced number of calculations. The process involves a first entity called the “prover”, which possesses a public key v and a secret key s, these keys verify the relation v=s−t (mod n), where n is an integer called modulus and t is a parameter, and a second entity called a “verifier”, which knows the public key v. This process implies exchange of information following a “zero-knowledge protocol” between the verifier and the prover and cryptographic calculations on this information, some calculations being carried out “modulo n”. The process of the invention is characterised by the fact that the modulus n is specific to the prover that communicates this modulus to the verifier.

Term
Term ended
Expired 26 January 2020, 6.7 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
7 claims: 7 independent, 0 dependent
- 1Authentication process involving a first entity called a "prover" (A), which possesses a public key v and a secret key s, these keys being related y an operation modulo n, where n is an integer called modulus, and a second entity called a "verifier" (B), which knows the public key v, wherein these entities are provided with means to exchange zero-knowledge information and carry out cryptographic calculations on this information, some calculations being carried out modulo n, the process being characterized in that the modulo n operation is of the type v=s-t (mod n), t being a parameter. Authentication process involving a first entity called a "prover" (A), which possesses a public key v and a secret key s, these keys being related y an operation modulo n, where n is an integer called modulus, and a second entity called a "verifier" (B), which knows the public key v, wherein these entities are provided with means to exchange zero-knowledge information and carry out cryptographic calculations on this information, some calculations being carried out modulo n, the process being characterized in that the modulo n operation is of the type v=s-t (mod n), t being a parameter. Authentifizierungsverfahren, das eine erste, "zu authentifizierende" Einheit (A), welche eine öffentlichen Schlüssel v und einen Geheimschlüssel s besitzt, wobei diese Schlüssel durch eine Operation modulo n verbunden sind, wobei n eine Modul genannte ganze Zahl ist, und der Modul n der zu authentifizierenden Einheit A eigen ist, sowie eine zweite, "authentifizierende" Einheit (B), welche den öffentlichen Schlüssel v kennt, verwendet, wobei diese Einheiten Einrichtungen umfassen, die Informationen vom Typ mit Null-Beitrag an Kenntnis bzw. Wissen austauschen können und auf diese Informationen gestützt, kryptographische Berechnungen ausführen können, wobei bestimmte Berechnungen modulo n ausgeführt werden, wobei dieses Verfahren dadurch gekennzeichnet ist, daß die Operation modulo n vom Typ v=s-t (mod n) ist, wobei t ein Parameter ist. Procédé d'authentification mettant en oeuvre une première entité dite "à authentifier" (A), possédant une clé publique v et une clé secrète s, ces clés étant reliées par une opération modulo n où n est un entier appelé module, le module n étant propre à l'entité à authentifier (A), et une seconde entité dite "authentifiante" (B), connaissant la clé publique v, ces entités, comprenant des moyens aptes à échanger des informations du type à apport nul de connaissance et à effectuer des calculs cryptographiques portant sur ces informations, certains calculs étant effectués modulo n, ce procédé étant caractérisé en ce que l'opération modulo n est du type v=s-t (mod n), t étant un paramètre.
- 2Process according to claim 1, wherein the information exchanges are of zero-knowledge type and the cryptographic calculations are as follows:· the prover (A) selects one (several) integer(s) r at random, ranging between 1 and n-1 and calculates one (several) parameter(s) (x) equal to rt (mod n), then one (several) number(s) c called opening(s) which is (are) one (several) function(s) of this (these) parameter(s) and possibly of a message (M), and sends this (these) opening(s) to the verifier (B):· the verifier entity (B) receives the opening(s) c, selects one number e at random called "question" and sends this question to the prover (A);· the prover (A) receives the question e, carries out one (several) calculation(s) using this question e and the secret key s, the result of this (these) calculation(s) yielding one (several) answer(s) y and sends this (these) answer(s) to the verifier (B);· the verifier (B) receives the answer(s) y, carries out one calculation using the public key v and the modulus n, and checks with a modulo n calculation that the result is coherent with the received opening(s). Process according to claim 1, wherein the information exchanges are of zero-knowledge type and the cryptographic calculations are as follows: · the prover (A) selects one (several) integer(s) r at random, ranging between 1 and n-1 and calculates one (several) parameter(s) (x) equal to rt (mod n), then one (several) number(s) c called opening(s) which is (are) one (several) function(s) of this (these) parameter(s) and possibly of a message (M), and sends this (these) opening(s) to the verifier (B):· the verifier entity (B) receives the opening(s) c, selects one number e at random called "question" and sends this question to the prover (A);· the prover (A) receives the question e, carries out one (several) calculation(s) using this question e and the secret key s, the result of this (these) calculation(s) yielding one (several) answer(s) y and sends this (these) answer(s) to the verifier (B);· the verifier (B) receives the answer(s) y, carries out one calculation using the public key v and the modulus n, and checks with a modulo n calculation that the result is coherent with the received opening(s). Procédé selon la revendication 1, dans lequel les échanges d'informations du type à apport nul de connaissance et les calculs cryptographiques sont les suivants : • l'entité à authentifier (A) choisit au hasard un (des) nombre(s) entier(s) r compris entre 1 et n-1 et calcule un (des) paramètre(s) (x) égal (égaux) à rt(mod n), puis un (des) nombre(s) c appelé(s) engagement(s) qui est (sont) une (des) fonction(s) de ce (ces) paramètre(s) et éventuellement d'un message (M), et envoie cet (ces) engagement(s) à l'entité authentifiante (B) ;• l'entité authentifiante (B) reçoit le ou les engagement(s) c, choisit au hasard un nombre e appelé "question" et envoie cette question à l'entité à authentifier (A) ;• l'entité à authentifier (A) reçoit la question e, effectue un (des) calcul(s) utilisant cette question e et la clé secrète s, le résultat de ce (ces) calcul(s) constituant une (des) réponse(s) y, et envoie cette (ces) réponse(s) à l'entité authentifiante (B) ;• l'entité authentifiante (B) reçoit la (les) réponse(s) y, effectue un calcul utilisant la clé publique v et le module n, et vérifie par une opération modulo n que le résultat de ce calcul est bien cohérent avec le (les) engagement(s) reçu(s). Verfahren nach Anspruch 1, wobei die Informationsaustausche vom Typ mit Nullbeitrag an Kenntnis bzw. Wissen und die kryptographischen Berechnungen die folgenden sind: • Die zu authentifizierende Einheit (A) wählt zufällig eine oder mehrere ganze Zahlen r, die zwischen 1 und n-1 liegen, und berechnet einen (der) Parameter (x) gleich rt (mod n), und dann eine Zahl bzw. Zahlen c, die Zusage(n) (engagement(s)) genannt wird/werden, und eine Funktion bzw. Funktionen dieser/dieses Parameter(s) und eventuell einer Nachricht (M) ist/sind, und schickt diese Zusage(n) an die authentifizierende Einheit (B);• die authentifizierende Einheit (B) empfängt die Zusage(n) c, wählt zufällig eine Zahl e, als "Frage" bezeichnet, und sendet diese Frage der zu authentifizierenden Einheit (A);• die zu authentifizierende Einheit (A) empfängt die Frage e, führt eine Berechnung bzw. Berechnungen unter Verwendung dieser Frage e und des geheimen Schlüssels s aus, wobei das Ergebnis dieser Berechnung(en) eine Antwort bzw. Antworten y bildet, und sendet diese Antwort(en) der authentifizierenden Einheit (B);• die authentifizierende Einheit (B) empfängt die Antwort(en) y, führt eine Berechnung unter Verwendung des öffentlichen Schlüssels v und des Moduls n aus, und überprüft durch eine Operation modulo n, ob das Ergebnis dieser Berechnung kohärent mit der/den empfangenen Zusage(n) ist.
- 3Process according to claim 2, wherein the size of the number n, expressed in number of bits, is less than 1,000. Process according to claim 2, wherein the size of the number n, expressed in number of bits, is less than 1,000. Procédé selon la revendication 2, dans lequel la taille du nombre n, exprimée en nombre de bits, est inférieure à 1 000. Verfahren nach Anspruch 2, wobei die Größe der Zahl n, als Zahl der Bits ausgedrückt, unter 1000 liegt.
- 4Process according to claim 3, wherein the size of the number n is between 700 and 800. Process according to claim 3, wherein the size of the number n is between 700 and 800. Procédé selon la revendication 3, dans lequel la taille du nombre n est comprise entre 700 et 800. Verfahren nach Anspruch 3, wobei die Größe der Zahl n zwischen 700 und 800 liegt.
- 5Process according to any of claims 1 to 4, wherein n is the product of at least two primes (p and q) and wherein the modulo n calculations are performed according to the method called "Chinese remainders". Process according to any of claims 1 to 4, wherein n is the product of at least two primes (p and q) and wherein the modulo n calculations are performed according to the method called "Chinese remainders". Procédé selon l'une quelconque des revendications 1 à 4, dans lequel n est le produit d'au moins deux nombres premiers (p, q) et dans lequel les opérations modulo n sont effectuées par la méthode dite "des restes chinois". Verfahren nach einem der Ansprüche 1 bis 4, wobei n das Produkt aus mindestens zwei Primzahlen (p, q) ist, und wobei die Operationen modulo n mit dem sogenannten Verfahren "der chinesischen Reste" ausgeführt werden.
- 6Message signature process intended for a signatory (A) provided with a public key v and a secret key s, wherein these keys are related via a modulo n calculation, where n is an integer called modulus, the said process involving means to calculate an opening c that is notably function of the message M to be signed, able to calculate a number y that is a function of the secret key, and able to transmit the numbers y and c that are the signature of the message M and to transmit the message M, the process being characterized in that the modulo n operation is the operation v=s-t (mod n), t being a parameter. Message signature process intended for a signatory (A) provided with a public key v and a secret key s, wherein these keys are related via a modulo n calculation, where n is an integer called modulus, the said process involving means to calculate an opening c that is notably function of the message M to be signed, able to calculate a number y that is a function of the secret key, and able to transmit the numbers y and c that are the signature of the message M and to transmit the message M, the process being characterized in that the modulo n operation is the operation v=s-t (mod n), t being a parameter. Nachrichten-Signaturverfahren durch eine sogenannte "signierende" Einheit (A), wobei diese Einheit einen öffentlichen Schlüssel v und einen geheimen Schlüssel s besitzt, wobei diese Schlüssel durch eine Operation modulo n verbunden sind, wobei n eine als "Modul" bezeichnete ganze Zahl ist, die dem Signierenden eigen ist, wobei das Verfahren Einrichtungen umfaßt, welche eine Verbindlichkeit c, die insbesondere Funktion der zu signierenden Nachricht M ist, sowie eine Zahl y, die eine Funktion des geheimen Schlüssels ist, berechnen und die Zahlen y und c, die die Signatur der Nachricht M und die Nachricht M darstellen, senden können, wobei dieses Verfahren dadurch gekennzeichnet ist, daß die Operation modulo n die Operation v=s-t (mod n) ist, wobei t ein Parameter ist. Procédé de signature de message par une entité dite "signataire" (A), cette entité possédant une clé publique v et une clé secrète s, ces clés étant reliées par une opération modulo n où n est un entier appelé "module" qui est propre au signataire, comprenant des moyens aptes à calculer un engagement c fonction notamment du message à signer M et un nombre y fonction de la clé secrète, à émettre les nombres y et c qui constituent la signature du message M et le message M, ce procédé étant caractérisé en ce que l'opération modulo n est l'opération v=s-t (mod n), t étant un paramètre.
- 7Procédé de signature selon la revendication 6, dans lequel le signataire choisit au hasard un nombre entier r compris entre 1 et n-1, calcule un paramètre x égal à rt(mod n), calcule un nombre c fonction du paramètre x et du message à signer M, calcule un nombre y à l'aide de sa clé secrète s et fonction des nombres r et e, et émet les nombres c et y comme signature. Signature process according to claim 6, wherein the signatory selects an integer r at random between 1 and n-1, calculates a parameter x equal to rt (mod n), calculates a number c that is a function of parameter x and message M to be signed, calculates a number y using its secret key s, the said number y being a function of numbers r and e, and transmits the numbers c and y as signature. Signature process according to claim 6, wherein the signatory selects an integer r at random between 1 and n-1, calculates a parameter x equal to rt (mod n), calculates a number c that is a function of parameter x and message M to be signed, calculates a number y using its secret key s, the said number y being a function of numbers r and e, and transmits the numbers c and y as signature. Signaturverfahren nach Anspruch 6, wobei der Signierende zufällig eine ganze Zahl r wählt, die zwischen 1 und n-1 liegt, einen Parameter x gleich rt (mod n) berechnet, eine Zahl c als Funktion des Parameters x und der zu signierenden Nachricht M berechnet, eine Zahl y mit Hilfe seines geheimen Schlüssels s und als Funktion der Zahlen r und e berechnet und die Zahlen c und y als Signatur sendet.
Independent claims7
55 paragraphs, as filed
Technical area
The subject of the present invention is a method of authentication or signature with a reduced number of calculations.
The invention relates more precisely to the field of so-called public key cryptography. In such methods, the entity to be authenticated has a secret key and an associated public key. The authenticating entity only needs this public key to perform the authentication.
The invention more precisely relates to the field of so-called zero-knowledge or zero-knowledge authentication methods. In this type of method, the authentication proceeds according to a protocol which, in a proven way, and under assumptions recognized as perfectly reasonable by the scientific community, reveals nothing about the secret key of the entity to be authenticated.
More specifically, the invention relates to methods without knowledge based on the problem of factorization (that is to say on the difficulty of breaking down large integers into a product of prime numbers).
The invention finds application in all systems requiring authentication of entities or messages, or signing messages, and more particularly in systems where the number of calculations performed by the authenticated entity is a critical parameter. This is particularly the case of low-cost or standard microcircuit cards, not equipped with an arithmetic coprocessor (often called cryptoprocessor) to accelerate cryptographic calculations.
A typical application of the invention is the electronic wallet, which requires a very high level of security, while excluding the use of a cryptoprocessor, either for cost reasons or for technical reasons (for example use of a contactless interface), or both.
Another possible application is the next-generation calling card, for which the cost constraints are even more severe than for the electronic purse.
State of the art
Many type identification protocols without knowledge are known. For example:<ul id="ul0001" list-style="dash" compact="compact"><li>the FIAT-SHAMIR protocol described in the article by A. FIAT and A. SHAMIR entitled "How to prove yourself: Practical solutions to identification and signature problems", published in Advances in Cryptology: Proceedings of CRYPTO'86, Lecture Notes in Computer Science ", vol. 263, Springer-Verlag, Berlin, 1987, pp. 186-194,</li><li>the GUILLOU-QUISQUATER protocol described in the article by LC GUILLOU and JJ QUISQUATER, entitled "A practical zero-knowledge protocol fitted to security microprocessors minimizing both transmission and memory", published in "Advances in Cryptology: Proceedings of EUROCRYPT'88, Reading Notes in Computer Science ", Vol. 330, Springer-Verlag, Berlin, 1988, pp. 123-128,</li><li>the GIRAULT protocol described in the French patent application FR-A-2,716,058, based on the so-called discrete logarithm problem.</li></ul>
In general, most of the identification (or message authentication) protocols with no knowledge input take place in three exchanges. It will be assumed, in order to simplify the description, that the authenticating entity B already knows all the public parameters characteristic of the entity to authenticate A, namely its identity, its public key, etc.
During the first exchange, A provides B with a value c called "commitment", image by a pseudo-random function h of a parameter x (itself calculated from a number r randomly selected by A), and that, if necessary, of the message to be authenticated or to sign: c = h (x, [M]) where the notation [M] expresses that M is optional. This is the first step. In some protocols, there may be several commitments.
In a second exchange, B sends to A a parameter e chosen at random (the "question"). This is the second step.
During the third exchange, A provides B with a "response" y, consistent with the question e, the commitment c and the secret key v of A (third step).
Finally, B checks the response received. More precisely, B recalculates x from the elements y, e and v by x = φ (y, e, v); then he checks that: c = h (φ (v, e, y), [M]) (fourth step).
In the case where there is no message to authenticate, the use of the pseudo-random function h is optional. We can then take c = x. The verification then consists in verifying that x = φ (y, e, v).
In some protocols, there are one or two additional exchanges between the entities to authenticate and authenticate.
In the case of a message signature, the first two exchanges are deleted because the parameter e is chosen equal to c; A then calculates successively, and only, c, e (= c) and y.
The number u of possible questions is directly related to the security level of the protocol. The latter is defined as the probability p of detection of an imposter (that is to say of a C entity that attempts fraudulently to pass for A), and is characterized by a parameter k. The numbers p and k are connected by equality: p = 1-2<sup>-k</sup>. In other words, the impostor has only one chance out of two<sup>k</sup> to succeed his imposture. In the present case, it can be shown that, if the protocol is based on a difficult mathematical problem, and if the commitments are of sufficient length, then it suffices that the length of u is equal to k bits. Typically, k is equal to 32 bits, which gives only one chance in four billion to succeed a sham. In applications where the failure of an identification can have very harmful consequences (prosecution for example), this length can be reduced to a few bits.
In factorization-based protocols, calculating x from r, or calculating y from e, or both, implies modulo n operations where n is a hard number to factorize. This number is of universal type, that is to say generated by a trusted third party, stored and used by all the entities attached to it. The universal character of n implies that it is very large (typically 1024 bits), because the discovery of the factorization of n would compromise the secret keys of all users.
In their basic version, none of the protocols mentioned above can be implemented in an application subject to strong constraints (low cost, low complexity) as described in the previous section, because the required calculations could not be performed by a microcircuit card that does not have a cryptoprocessor.
The French patent application FR-A-2,752,122 does indeed describe an optimization of these protocols, but this optimization remains limited to protocols based on the discrete logarithm in a so-called "precalculation" mode which has the disadvantage of involving reloads at regular intervals.
J. BRANDT et al. entitled "Zero-knowledge Authentication Scheme with Secret Key Exchange" published in Advances in Cryptology-Crypto 88 Proceedings, XP 000090662, pages 583-588, describes an authentication scheme without knowledge provision, with secret key exchange between two users, schema in which the entity to be authenticated calculates its own module n = pq and implements an operation of the type m<sup>d</sup> (mod n).
The present invention aims to reduce the number of calculations performed by the authenticated entity in the identification protocols (or message authentication or message signing) without knowledge contribution based on factoring, this reduction can reach a factor 2 or 3 in the context of a particular operation of the type v = s<sup>-t</sup> (mod n).
It thus makes it possible, and more particularly when paired with the Guillou-Quisquater protocol, the rapid execution of a public-key identification algorithm (or message authentication or message signature algorithm) in a card. standard low-cost microcircuit for applications such as the electronic purse or the next-generation calling card.
Presentation of the invention
Since the module n is a parameter of the individual type (in other words, each user has its own value of n), this choice can be exploited in the following two ways (which may advantageously be combined):<ul id="ul0002" list-style="none" compact="compact"><li>1) first by choosing a size of n less than the usual value (typically less than 1000 and for example between 700 and 800); this is possible because the discovery of the factorization of n compromises only the secret key of the corresponding user and in no way that of the others; this modification alone makes it possible to reduce by approximately 40% the duration of the calculations made modulo n;</li><li>2) if the user has retained the prime factors of n in the memory of his security device, it is possible to implement the so-called Chinese remains technique, to reduce by another 40% the duration of the calculations made modulo n, when the number of prime factors is 2; this reduction can be further amplified by using several prime factors (typically 3 or 4).</li></ul>
In total, it is therefore possible to reduce the modulo n computation times by at least 60%, that is to say by at least a factor of 2.
Specifically, the invention relates to an authentication method implementing a first entity called "to authenticate", having a public key <u>v</u> and a secret key <u>s</u>, these keys being connected by a modulo operation <u>not</u> or <u>not</u> is an integer called module that is specific to the entity to be authenticated, and a second entity called "authenticating", knowing the public key <u>v</u>, these entities comprising means capable of exchanging information of the zero-input type of knowledge and performing cryptographic calculations relating to this information, certain calculations being carried out modulo <u>not</u>, this method being characterized in that the module modulo operation n is of the type v = s<sup>-t</sup> (mod n), t being a parameter.
The entities in question may be, for example, microcircuit cards, electronic purses, phonecards, etc.
In an advantageous embodiment, the information exchanges of the null knowledge type and the cryptographic calculations are as follows:<ul id="ul0003" list-style="bullet" compact="compact"><li>the entity to authenticate randomly chooses an integer number (s) <u>r</u> between 1 and n-1 and calculates a parameter (s) <u>x</u> equal (equal) to r<sup>t</sup>(mod n), then one (of) number (s) <u>c</u> called engagement (s) which is (are) a function (s) of this (these) parameter (s) and possibly of a message (M), and sends this (these) commitment (s) the authenticating entity;</li><li>the authenticating entity receives the commitment (s) <u>c</u>, randomly chooses a number <u>e</u> called "question" and sends this question to the entity to authenticate;</li><li>the entity to authenticate receives the question <u>e</u>, perform a calculation (s) using this question <u>e</u> and the secret key <u>s</u>, the result of this (these) calculation (s) constituting an answer (s) <u>there</u>, and send this (these) response (s) to the authenticating entity;</li><li>the authenticating entity receives the answer (s) <u>there</u>, performs a calculation using the public key <u>v</u> and the module n, and verified by a modulo operation <u>not</u> that the result of this calculation is well consistent with the commitment (s) received.</li></ul>
The size of the number n, expressed in number of bits, is less than 1000. It can be, for example, between 700 and 800.
The present invention also relates to a method of signing a message by a so-called "signer" entity, this entity having a public key <u>v</u> and a secret key <u>s</u>, these keys being connected by a modulo operation where <u>not</u> is an integer called "module" and <u>t</u> a parameter, a process in which the signatory entity calculates a commitment <u>c</u> particular function of the message to be signed and a number <u>there</u> function of the secret key, issue the numbers <u>there</u> and <u>c</u> which constitute the signature of the message and the message, this method being characterized in that the module <u>not</u> is specific to the signatory.
In an advantageous embodiment, the signatory randomly chooses an integer <u>r</u> between 1 and n-1, calculates a parameter <u>x</u> equal to r<sup>t</sup>(mod n), calculates a number <u>c</u> function of the parameter <u>x</u> and the message to sign, calculates a number <u>there</u> using his secret key <u>s</u> and function of numbers <u>r</u> and <u>e</u>, and emit the numbers <u>c</u> and <u>there</u> as a signature.
Detailed description of particular modes of implementation of the invention
In the following description, the invention is supposed to be applied to the GUILLOU-QUISQUATER protocol, but naturally this is only an example and the invention is not limited to this protocol.
It is recalled that in the GUILLOU-QUISQUATER protocol, the universal parameters are the module n, products of prime numbers and comprising at least 1024 bits, and a number <u>t</u> whole.
The public key <u>v</u> and the secret key <u>s</u> are related by the equation: v = s<sup>-t</sup>(mod n).
The security level chosen is <u>u</u> (less than or equal to <u>t</u>, and most often, u = t).
The authentication of A by B, which can be called respectively Alice and Bob according to the terminology in use, is as follows:<ul id="ul0004" list-style="none" compact="compact"><li>1. Alice chooses r in the interval [1, n-1], calculates x = r<sup>t</sup>(mod n) then c = h (x, [M]) and sends c to Bob.</li><li>2. Bob chooses e in the interval [0, u-1] and sends e to Alice.</li><li>3. Alice calculates y = rs<sup>e</sup>(mod n) and send y to Bob.</li><li>4. Bob calculates x = y<sup>t</sup>v<sup>e</sup>(mod n) and check that c = h (x, [M])</li></ul>
In the case where there is no message to authenticate, the use of the pseudo-random function h is optional: we can take c = x. The verification then consists in verifying that x = y<sup>t</sup>v<sup>e</sup>(modulo n).
With the modified protocol according to the invention, the only universal parameter is t.
The public key is (n, v), where n is at least 768 bits. The public key v and the secret key s of Alice are connected by the equation: v = s<sup>-t</sup>(mod n).
The secret key may also include the prime factors of n in order to benefit from the second aspect of the invention.
The parameter t can be included in the public key (in this case, there is no more universal parameter).
The security level chosen by Alice and Bob is u (less than or equal to t, often u = t).
Bob's authentication of Alice proceeds as described above, but with faster calculations thanks to a smaller module.
Since all Alice's calculations are done modulo n, the gain factor obtained on a single modular multiplication is reflected in all the calculations made by Alice during the execution of the protocol. It would be the same with the protocols of Fiat-Shamir or Girault for example (in the latter case, there is no gain in step 3 since there is no more modular calculations, but of anyway the execution time of this step is negligible compared to the modular exponentiation of the first step).
The invention can also be implemented by the so-called Chinese remains technique, which consists in performing the calculations modulo each of the prime numbers component n. Since these numbers are necessarily much smaller, these calculations are fast. It remains to calculate the result modulo n using a so-called reconstitution operation. This technique is described in the article by JJ QUISQUATER and C. COVERAGE, titled "Fast decipherment algorithm for RSA public-key cryptosystem", published in "Electronic Letters", vol. 18, October 1982, pp. 905-907.
We therefore consider the case where n is the product of two prime factors p and q.
According to Bezout's theorem, there exist two integers a and b such that ap + bq = 1.
To calculate y = x<sup>e</sup>(mod n), we start by "reducing" x modulo each of the prime numbers by calculating x<sub>p</sub>= x (mod p) and x<sub>q</sub>= x (mod q). We also reduce e modulo (p-1) and (q-1) by calculating e<sub>p</sub>= emod (p-1) and e<sub>q</sub>= Emod (q-1). (In the Guillou-Quisquater protocol, e is always less than p-1 and q-1 and therefore ep = eq = e).
We calculate then<sub>p</sub>= x<maths id="math0001" num=""><math display="inline"><mrow><mfrac linethickness="0"><mrow><msub><mrow><mtext>e</mtext></mrow><mrow><mtext>p</mtext></mrow></msub></mrow><mrow><mtext>p</mtext></mrow></mfrac></mrow></math><img file="EP1145483B1_D0001.tif" /></maths> (mod p) and y<sub>q</sub>= x<maths id="math0002" num=""><math display="inline"><mrow><mfrac linethickness="0"><mrow><msub><mrow><mtext>e</mtext></mrow><mrow><mtext>q</mtext></mrow></msub></mrow><mrow><mtext>q</mtext></mrow></mfrac></mrow></math><img file="EP1145483B1_D0002.tif" /></maths> (mod q). When p and q are of similar sizes, each of these calculations is about 8 times faster than the calculation y = x<sup>e</sup>(mod n) when the size of e is that of n (first case); 4 times faster when it is less than or equal to that of p (second case as for example in the algorithm). The combination of the two calculations is therefore either 4 times faster or twice as fast.
It remains to reconstruct y from there<sub>p</sub> and there<sub>q</sub>, which is achieved by the operation:<maths id="math0003" num=""><math display="block"><mrow><msub><mrow><mtext>y = y</mtext></mrow><mrow><mtext>p</mtext></mrow></msub><msub><mrow><mtext>+ P (y</mtext></mrow><mrow><mtext>q</mtext></mrow></msub><msub><mrow><mtext>-y</mtext></mrow><mrow><mtext>p</mtext></mrow></msub><mtext>) (mod n)</mtext></mrow></math><img file="EP1145483B1_D0003.tif" /></maths>
In total, the method of Chinese remains allows to accelerate the calculation of a factor between 3 and 4 in the first case, between 1.5 and 2 in the second case. When the number of prime factors (assumed to be similar sizes) is greater than 2 and equal to k, the acceleration factor is close to k<sup>2</sup> in the first case, close to k in the second case.
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7006999B1 | Cited by | United States of America | Applicant |
| EP1052582A3 | Cited by | European Patent Office (EPO) | Search report |
| EP1052582A2 | Cited by | European Patent Office (EPO) | Search report |
| FR2716058A | Cites | France | – |
| FR2752122A | Cites | France | – |
16 members in 9 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 9900887 | France | A | |
| 9900887 | France | A | |
| 9900887 | France | – | |
| 0000174 | France | W | |
| 0000174 | France | W | |
| 9900887 | – | – | – |
| FR0000174 | – | – | – |
| FR19990000887 | – | – | – |
| WO2000FR00174 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| FR2788909A1 | France | A1 | |
| CA2360953A1 | Canada | A1 | |
| WO0045549A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1145483A1 | European Patent Office (EPO) | A1 | |
| EP1145483B1This record | European Patent Office (EPO) | B1 | |
| JP2002536875A | Japan | A | |
| AT226773T | Austria | T | |
| ATE226773T1 | Austria | T1 | |
| DE60000649D1 | Germany | D1 | |
| ES2184691T3 | Spain | T3 | |
| DE60000649T2 | Germany | T2 | |
| FR2788909B1 | France | B1 | |
| US7184547B1 | United States of America | B1 | |
| CA2360953C | Canada | C | |
| USRE42517E | United States of America | E | |
| JP4945026B2 | Japan | B2 |
62 legal events, as 8 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Expiry of rightR071 | R071 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Transmission of propertyTP | TP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Se: european patent has lapsedLapsedEUG | EUG | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed because of non-payment of the annual feeLapsedV1 | V1 | NL | |
| Be: lapsedLapsedBERE | BERE | EP | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20100610 AND 20100616732E | 732E | GB | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Application made for correction of error (sect. 117/77)711B | 711B | GB | |
| Correction allowed (sect. 117/1977)711G | 711G | GB | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| European patents designating ireland treated as always having been voidFD4D | FD4D | IE | |
| Definitive protectionFG2A | FG2A | ES | |
| Gb: translation of ep patent filed (gb section 77(6)(a)/1977)GBT | GBT | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedFRENCHFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedNOT ENGLISHFG4D | FG4D | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1145483
- Publication, DOCDB
- 1145483
- Publication, EPODOC
- EP1145483
- Application
- 900666
- Application, DOCDB
- 00900666
- Application, EPODOC
- EP20000900666
Titles3
- German
- AUTHENTIFIZIERUNGS- ODER UNTERSCHRIFTSVERFAHREN MIT VERRINGTER ZAHL AN BERECHNUNGEN
- English
- AUTHENTICATING OR SIGNATURE METHOD WITH REDUCED COMPUTATIONS
- French
- PROCEDE D'AUTHENTIFICATION OU DE SIGNATURE A NOMBRE DE CALCULS REDUIT
Classification
- CPC, 2
- H04L9/3247
- H04L9/3218
- IPC, 2
- G09C1 00
- H04L9 32
Designated states19
- Contracting states, 19
- Austria
- Belgium
- Switzerland
- Cyprus
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden