FR2788910A1 - Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message - Google Patents

Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message Download PDF

Info

Publication number
FR2788910A1
FR2788910A1 FR9901065A FR9901065A FR2788910A1 FR 2788910 A1 FR2788910 A1 FR 2788910A1 FR 9901065 A FR9901065 A FR 9901065A FR 9901065 A FR9901065 A FR 9901065A FR 2788910 A1 FR2788910 A1 FR 2788910A1
Authority
FR
France
Prior art keywords
witness
mod
controller
modulo
challenges
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.)
Pending
Application number
FR9901065A
Other languages
English (en)
Inventor
Louis Guillou
Jean Jacques Quisquater
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR9901065A priority Critical patent/FR2788910A1/fr
Priority to FR9903770A priority patent/FR2788911A1/fr
Priority to FR9912465A priority patent/FR2788908B1/fr
Priority to FR9912467A priority patent/FR2788912B1/fr
Priority to FR9912468A priority patent/FR2824974B1/fr
Priority to CA002360887A priority patent/CA2360887C/fr
Priority to KR1020017009491A priority patent/KR100676460B1/ko
Priority to PCT/FR2000/000190 priority patent/WO2000045550A2/fr
Priority to JP2000596696A priority patent/JP4772965B2/ja
Priority to AU22986/00A priority patent/AU769446C/en
Priority to JP2000597915A priority patent/JP4772189B2/ja
Priority to US09/869,966 priority patent/US7266197B1/en
Priority to AU22984/00A priority patent/AU769464B2/en
Priority to KR1020017009493A priority patent/KR100676461B1/ko
Priority to JP2000597914A priority patent/JP2003519447A/ja
Priority to EP00901656A priority patent/EP1145472A3/fr
Priority to KR1020017009492A priority patent/KR20010108143A/ko
Priority to CA002360954A priority patent/CA2360954A1/fr
Priority to PCT/FR2000/000189 priority patent/WO2000046947A2/fr
Priority to CA002361627A priority patent/CA2361627A1/fr
Priority to PCT/FR2000/000188 priority patent/WO2000046946A2/fr
Priority to CNB008031975A priority patent/CN100377520C/zh
Priority to CNB008047189A priority patent/CN1322700C/zh
Priority to US09/889,918 priority patent/US7386122B1/en
Priority to EP00901657.7A priority patent/EP1145473B1/fr
Priority to AU22985/00A priority patent/AU769444B2/en
Priority to EP00901658.5A priority patent/EP1145482B1/fr
Priority to CN00804617A priority patent/CN1408154A/zh
Publication of FR2788910A1 publication Critical patent/FR2788910A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3218Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

L'invention concerne les procédés destinés à prouver l'authenticité d'une entité et/ou l'origine et l'intégrité d'un message.Le procédé selon l'invention met en oeuvre trois entités (un témoin, un pilote et un contrôleur). Le témoin dispose des facteurs premiers p1 , P2 ,... (p i ,... ) d'un module public n tel que n = p1 . p2 . P3 ..., il calcul des engagements R en effectuant des opérations du type : R i equiv r i vx mod p i et des réponses D en effectuant des opérations du type : D i equiv r i - QA i dA . QB i dB ... mod p i où r i est un aléa tel que 0 < r i < p 1 . Le nombre d'opérations arithmétiques modulo p i à effectuer pour calculer chacun des engagements R i et chacune des réponses D i pour chacun des p i est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.

Description

<Desc/Clms Page number 1>
Procédé, système, dispositif pour diminuer la charge de travail pendant une session destinée à prouver l'authenticité d'une entité et/ou l'origine et l'intégrité d'un message.
La présente invention concerne les procédés, les systèmes ainsi que les dispositifs destinés à prouver l'authenticité d'une entité et/ou l'origine et l'intégrité d'un message.
Le brevet EP 0 311470 B1 dont les inventeurs sont Louis Guillou et JeanJacques Quisquater décrit un tel procédé. On y fera ci-après référence en le désignant par les termes : brevet GQ ou procédé GQ .
Selon le procédé GQ, une entité appelée autorité de confiance attribue une identité à chaque entité appelée témoin et en calcule la signature RSA ; durant un processus de personnalisation, l'autorité de confiance donne identité et signature au témoin. Par la suite, le témoin proclame : Voici mon identité ; j'en connais la signature RSA. Le témoin prouve sans la révéler qu'il connaît la signature RSA de son identité. Gr,ce à la clé publique de vérification RSA distribuée par l'autorité de confiance, une entité appelée contrôleur vérifie sans en prendre connaissance que la signature RSA correspond à l'identité proclamée. Les mécanismes utilisant le procédé GQ se déroulent sans transfert de connaissance . Selon le procédé GQ, le témoin ne connaît pas la clé privée RSA avec laquelle l'autorité de confiance signe un grand nombre d'identités. La sécurité du procédé GQ est au mieux équivalente à la connaissance de la signature RSA de l'identité. Il y a équivalence lorsque l'exposant public de vérification RSA est un nombre premier.
Le procédé GQ met en oeuvre des calculs modulo des nombres de 512 bits.
Ces calculs concernent des nombres ayant sensiblement la même taille élevés à des puissances de l'ordre de 216 + 1. Or les infrastructures microélectroniques existantes, notamment dans le domaine des cartes bancaires, font usage de microprocesseurs auto-programmables
<Desc/Clms Page number 2>
monolithiques dépourvus de coprocesseurs arithmétiques. La charge de travail liée aux multiples opérations arithmétiques impliquées par des procédés tels que le procédé GQ, entraîne des temps de calcul qui dans certains cas s'avèrent pénalisant pour les consommateurs utilisant des cartes bancaires pour acquitter leurs achats. Il est rappelé ici, qu'en cherchant à accroître la sécurité des cartes de paiement, les autorités bancaires posent un problème particulièrement délicat à résoudre. En effet, il faut traiter deux questions apparemment contradictoires : augmenter la sécurité en utilisant des clés de plus en plus longues et distinctes pour chaque carte tout en évitant que la charge de travail n'entraîne des temps de calcul prohibitifs pour les utilisateurs. Ce problème prend un relief particulier dans la mesure où, en outre, il convient de tenir compte de l'infrastructure en place et des composants microprocesseurs existants.
L'invention a pour objet d'apporter une solution à ce problème tout en renforçant la sécurité. Plus particulièrement, l'invention concerne un procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m.
Procédé Le procédé selon l'invention, met en oeuvre les trois entités ci-après définies.
I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2,
Figure img00020001

... (p, 9... ) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pj.p2. P3 Le témoin dispose aussi * des composantes QA1, QA 21 ... (qu,,...), et QB,, QB2, ... (QB,,...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00020002

composantes GA,, GAz, ... (GAi, ...) et GB,, GB2, ... (GB,, ...)
<Desc/Clms Page number 3>
* des exposants publics de vérification vx, vy, ...
Les clés privées et les clés publiques sont liées par des relations du type : GA.QA" mod n --- 1 ou GA QAvxmod n Les exposants publics de vérification vx, vy, ... sont utilisés par le témoin pour calculer des engagements R en effectuant des opérations du type : R, - rivx mod p, ou ri est un aléa tel que 0 < r, < pi.
Ainsi, selon le nouveau procédé, les rôles de témoin et d'autorité de
Figure img00030001

confiance fusionnent. Chaque témoin utilise la factorisation p,, pi, ... (pi, on) de son propre module public n. De sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. L'usage de la factorisation du module n réduit significativement la charge de travail du témoin. Par rapport au procédé GQ, et a fortiori par rapport à d'autres procédés tel que le procédé RSA de signature, le procédé selon l'invention permet de substantielles économies de calcul, en particulier pour l'authentification.
II. Le procédé selon l'invention met en oeuvre une deuxième entité pilote dudit témoin. Cette entité pilote est appelée * démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message.
On verra ci-après quel est son rôle.
III. La troisième entité, appelée contrôleur, vérifie l'authentification ou l'origine et l'intégrité d'un message.
Selon l'invention, le témoin reçoit de la deuxième entité pilote ou du contrôleur un ou plusieurs défis d tel que 0<d<vx-let calcule à partir de ce défi une ou plusieurs réponses D en effectuant des opérations du type :
<Desc/Clms Page number 4>
Figure img00040001

Dl ri. QA,dmod p, ou r, est un aléa tel que 0 < r, < p, On constatera ici, de même que précédemment, que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacune des réponses D, pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Le contrôleur reçoit, selon le cas, une ou plusieurs réponses D. Il calcule, à partir desdites réponses D, les engagements R' en effectuant des opérations du type : R',- GA d. Dvx mod n ou du type :
Figure img00040002

R9i. GA d=- D' mod n Le contrôleur peut alors vérifier que les triplets {R', d, D} sont cohérents.
Dans le cas général qui vient d'être exposé, il y a plusieurs exposants de vérifications vx, vy, .... On va maintenant exposer l'invention dans le cas où l'exposant de vérification v est unique.
Cas où l'exposant de vérification v est unique De même que précédemment, le procédé selon l'invention met en oeuvre trois entités : I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2, ... (pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1-P2.P3. ....
Le témoin dispose aussi
Figure img00040003

* des composantes QAI, QA2, ... (QA,, ...), et QBI, QB2, ... (QB;, ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00040004

composantes GA,, GA2, ... (gaz, ...) et GB,, GBZ, ... (GB,;, ...) * de l'exposant public de vérification v Dans ce cas comme dans le précédent, il est prévu plusieurs paires de clés
<Desc/Clms Page number 5>
référencées A, B, ...
Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n --- 1 ou GA = QAvmod n L'exposant public unique de vérification v est utilisé par le témoin pour calculer des engagements R. A cet effet : * il effectue des opérations du type :
Figure img00050001

Ri = ri mod Pi où r, est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 <
Figure img00050002

ri < PI' appartenant à au moins une collection d'aléas {ruz r2, r3, ...}, ' puis il applique la méthode dite des restes chinois, (on décrira ci-après la méthode des restes chinois qui est connue en soi).
Figure img00050003

Il y a autant d'engagements R que de collections d'aléas { ri, r 2, r3, ...}, Bien entendu, dans ce cas comme dans le cas général précédent, le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
II. La deuxième entité pilote dudit témoin est appelée : * démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. La troisième entité, appelée contrôleur, vérifie l'authentification ou l'origine et l'intégrité d'un message.
Plus particulièrement, dans le cas de cette variante de réalisation le témoin reçoit de la deuxième entité ou du contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés.
Le témoin calcule à partir de chacune desdites collections de défis {dA, dB,
<Desc/Clms Page number 6>
...}des réponses D. A cet effet : # il effectue des opérations du type :
Figure img00060001

D, ri. QAi d" . QB, dB .... mod pi # puis il applique la méthode des restes chinois.
Il y a autant de réponses D que d'engagements R et de défis d.
II convient de souligner, ici aussi, que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des Dl pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Le contrôleur reçoit une réponse D. Il calcule à partir de cette réponse un engagement R' en effectuant des opérations du type :
Figure img00060002

R'=GA dA. GB d$ .... Dv mod n ou du type : R' . GA dA. GB dB.... --- Dv mod n Le contrôleur vérifie que les triplets {R', d, D} sont cohérents.
Ainsi, gr,ce à la présente invention, le témoin qui proclame : Voici une clé publique de vérification (v, n) et une clé publique GA ; je connais la factorisation de n et la clé privée QA prouve sans la révéler qu'il connaît la clé privée QA. Le contrôleur vérifie la clé privée QA sans en prendre connaissance. Les mécanismes se déroulent sans transfert de connaissance . On le verra ci-après, que le procédé selon l'invention autorise certaines paires de clés telles que la connaissance de la clé privée QA est équivalente à la connaissance de la factorisation du module n.
On va maintenant exposer les variantes de réalisation de l'invention concernant : - le cas d'une authentification d'entité, - le cas d'une authentification de message, - le cas d'une signature numérique de message.
Cas d'une authentification d'entité
<Desc/Clms Page number 7>
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'une entité.
Comme dans le cas général, la session met en oeuvre trois entités.
I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2, ... (Pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n =
Figure img00070001

PrP2- P3' "' Le témoin dispose aussi : * des composantes QA,, Qu29 ... (QA;, ...), et QBI, QB29 ... (QB;, ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00070002

composantes GA1, GAZ, ... (GAi, ...) et GB,, GBz, ... (GBi, ...) * de l'exposant public de vérification v Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00070003

GA.QA mod n =- 1 ou GA QA mod n II. La deuxième entité, pilote dudit témoin, est appelée démonstrateur.
III. La troisième entité, appelée contrôleur, vérifie l'authentification.
Pour prouver l'authenticité d'une entité, le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : # étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; , Pour chaque facteur premier p1, le témoin élève chaque aléa rà la puissance v ième modulo p,
R, r@ mod p; On notera que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
<Desc/Clms Page number 8>
Puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au témoin : Le démonstrateur transmet tout ou partie de chaque engagement R au contrôleur.
Le contrôleur, après avoir reçu tout ou partie de chaque engagement R, produit au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v -1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du témoin au défi d : Le témoin calcule des réponses D à partir des collections de défis d {dA, dB, ...}reçues du contrôleur. A cet effet : il effectue des opérations du type :
Figure img00080001

D, r, . QA, dA . QB, dB .... mod p, puis, il applique la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au contrôleur : Le démonstrateur transmet au contrôleur chaque réponse D.
' étape 5. vérification par le contrôleur : Le contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GBdB. ...Dv mod n ou du type :
<Desc/Clms Page number 9>
Figure img00090001

R'. GA d". GB'....=D mod n Le contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le démonstrateur.
Cas d'une authentification de message cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m.
Comme dans le cas général, la session met en oeuvre trois entités.
I. Une première entité, appelée témoin, dispose des facteurs premiers p,, p2, ... (Pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. p3. ..., Le témoin dispose aussi : * des composantes QA,, QA2, ... (QA, ,...), et QB,, QB2, ... (QB@, ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAZ, ... (GA., ...) et GB,, GB2, ... (GB@, ...) * de l'exposant public de vérification v Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n = 1 ou GA = QA'mod n II. Une deuxième entité, pilote du témoin, est appelée démonstrateur.
III. Une troisième entité, appelée contrôleur, vérifie l'authenticité d'un message.
Pour prouver l'authenticité d'un message le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : | étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...}, telle que pour chaque facteur premier p,, chaque collection comporte un aléa r, positif et plus petit que p1.
<Desc/Clms Page number 10>
Pour chaque facteur premier p,, le témoin élève chaque aléa r à la puissance v ième modulo p,
Figure img00100001

R. 1 == r J v mod p; (de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des RI pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au témoin : Le démonstrateur applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir un jeton T.
Le démonstrateur transmet le jeton T au contrôleur, Le contrôleur, après avoir reçu le jeton T, produit au moins une collection de défis d {dA, dB, ...} tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du témoin au défi d : Le témoin calcule les réponses D à partir des collections de défis d {dA, dB, ...}reçues du contrôleur. A cet effet, il effectue des opérations du type :
Figure img00100002

Du = r, . QA, dA . QBi dB .... mod p, puis, il applique la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au contrôleur :
<Desc/Clms Page number 11>
Le démonstrateur transmet au contrôleur chaque réponse D.
' étape 5. vérification par le contrôleur : Le contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00110001

R'= GA dA. GB dB .... D mod n ou du type : R' . GA dA. GB d$ .... --- D'mod n Le contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T'.
Le contrôleur vérifie que le jeton T' est identique au jeton T transmis à l'étape 2 par le démonstrateur.
Cas d'une signature numérique de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m.
Comme dans le cas général, la session met en oeuvre trois entités.
I. Une première entité appelée témoin dispose des facteurs premiers p,, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2- p3. ...
Le témoin dispose aussi
Figure img00110002

* des composantes QA,, QA2, ... (QA,, ...), et QB,, QB2, ... (QB, no), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00110003

composantes GA,, GAZ, ... (GA., ...) et GB,, GB,,, ... (GB,, ...) * de l'exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00110004

GA.QA mod n 1 ou GA = QA mod n II. Une deuxième entité, pilote dudit témoin, est appelée signataire.
<Desc/Clms Page number 12>
5 10 15 20 25 III. Une troisième entité, appelée contrôleur, vérifie la signature du message m.
Pour prouver la signature d'un message le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection
Figure img00120001

de nombres entiers {rl, r 2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa r; positif et plus petit que pi.
Pour chaque facteur premier p1, le témoin élève chaque aléa r, à la puissance v ième modulo p,
Ri #riv mod p, (de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}.
' étape 2. défi d destiné au témoin : Le signataire applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
Le signataire transmet les collections de défis d au témoin.
' étape 3. réponse du témoin au défi d : Le témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...}reçues du contrôleur. A cet effet, il effectue des opérations du type :
Figure img00120002

D, == roi . QA 1 dA QB dB .... mod p;
<Desc/Clms Page number 13>
(de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) puis, il applique la méthode des restes chinois.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
Le témoin transmet les réponses D au signataire et/ou au contrôleur.
' étape 4. données destinées au contrôleur : Le signataire transmet un message signé au contrôleur comprenant : - le message m, - les collections de défis d ou les engagements R, - chaque réponse D ' étape 5. vérification par le contrôleur : Cas où le contrôleur reçoit la collection des défis d, Dans le cas où le contrôleur reçoit la collection des défis d et des réponses D, ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00130001

R'=GA d" . GB dB.... Dv mod n ou du type : R' . GA d" . GB dB .... --- DV mod n Le contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d'.
Le contrôleur vérifie que chaque défi d' reconstruit est identique au défi d figurant dans le message signé.
Cas où le contrôleur reçoit la collection des engagements R Dans le cas où le contrôleur reçoit la collection des engagements R et des réponses D, ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement R pour reconstruire chaque
<Desc/Clms Page number 14>
défi d'.
Le contrôleur reconstruit alors la collection des engagements R' en effectuant des opération du type
Figure img00140001

R' --- GA d'" . GB dB .... D mod n ou du type : R' . GA d'" . GB dB .... --- D mod n Le contrôleur vérifie que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé.
Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la clé privée Q La paire de clés GA, QA,... n'a plus de raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ.
Selon une variante de réalisation, un grand nombre de témoins utilisent le même ensemble de clés publiques très courtes GA, GB, GC, GD... par exemple, 4,9, 25 et 49.
Dans le cas de la variante de réalisation ci-après exposée les composantes
Figure img00140002

Quai, Qu 21 ... (qui, ... ), et QBI, QB2 ... (QB, ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QA, , QB,,... pour chacun desdits facteurs premiers p.. Lesdites clés privées QA,
Figure img00140003

QB, peuvent être calculées à partir desdites composantes QAI, QAz, ... (QA, , ...), et QB,l Qu2, ... (QB, ...), ... par la méthode des restes chinois.
Les clés publiques GA, GB,... sont calculées en effectuant des opérations du type :
GA, =- QAi mod p, puis en appliquant la méthode des restes chinois pour établir GA tel que
GA QAvmod n ou bien tel que GA.QA' mod n = 1 Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer pour
<Desc/Clms Page number 15>
calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
De préférence l'exposant public de vérification v est un nombre premier.
Dans ce cas la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité.
De préférence, également l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité.
Dans ce cas, la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation
Figure img00150001

x 2 -gamodn n'ait pas de racine en x dans l'anneau des entiers modulo n.
Figure img00150002

Les composantes QA,, QA2, ... (QA,, ...) de la clé privée QA sont alors telles que :
GA = QA.modp, ou bien telles que :
Figure img00150003

GA QA 2.exp(k) d = 1 On les obtient en extrayant la kième racine carrée de GA dans le corps de Galois CG(pi), Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des QA, pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
<Desc/Clms Page number 16>
De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), on utilise les méthodes suivantes : - dans le cas où le facteur premier p; est congru à 3 modulo 4, on applique notamment un algorithme du type : x = (p+l)/4 ; y = xk mod (p-1) ; z = y ; QA, = GAZ mod p1 - dans le cas où le facteur premier p, est congru à 1 modulo 4, on emploie les suites de Lucas.
Système La présente invention concerne également un système permettant de mettre en oeuvre le procédé ci-dessus exposé.
Le système selon l'invention permet de diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m.
Le système met en oeuvre trois entités : I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur.
Le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p3. ... .
Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant
Figure img00160001

* des composantes QAII QA2, ... (QA,, ...), et QB11 Qu25 ... (QB;, ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00160002

composantes GA,, GA2, ... (GAi, ...) et GBI, GB2, ... (GB,,,...) * des exposants publics de vérification vx, vy, ... lesdites clés privées et clés publiques étant liées par des relations du type :
<Desc/Clms Page number 17>
GA.QA" mod n 1 ou GA =- QAvxmod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type :
R, rivx mod p; ou r, est un aléa tel que 0 < r, < p,, II. Le système met en oeuvre une deuxième entité, appelée dispositif pilote dudit dispositif témoin. Elle peut être contenue notamment dans ledit objet nomade. Le dispositif pilote est plus précisément appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. Le système met en oeuvre une troisième entité, appelée dispositif contrôleur, se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique au dispositif témoin. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message.
Le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur un
Figure img00170001

ou plusieurs défis d tel que 0 <~ d <~ vx - 1. Il comporte des deuxièmes moyens de calcul pour calculer à partir des défis d une ou plusieurs réponses D en effectuant des opérations du type : Di# r, . QA, ' d mod p. ou r, est un aléa tel que 0 < r, < p1 (de sorte que le nombre d'opérations arithmétiques modula p1 à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses D1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n)
<Desc/Clms Page number 18>
Le dispositif contrôleur, reçoit une ou plusieurs réponses D. Il comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D des engagements R' en effectuant des opérations du type :
Figure img00180001

R';--- GA d. D# mod n ou du type : R9i. GA d=- D' mod n Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Cas où l'exposant de vérification v est unique De même que précédemment, le système selon l'invention met en oeuvre trois entités.
I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur.
Le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p,, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un
Figure img00180002

module public n tel que n = PI.P2. P3.... , Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,9 QA2, ... (QA; , ...), et QBI, QB2, (QB; , ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00180003

composantes GA1, GA, ... (GA,,...) et GB,, GB2' ... (GBI, ...), * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00180004

GA.QA" mod n 1 ou GA QA'mod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R. A cet effet, ' il effectue des opérations du type :
<Desc/Clms Page number 19>
Figure img00190001

Ri r1mod p, où r@ est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 < r, < p; , appartenant à au moins une collection d'aléas [r1, r2, r3, ...}, ' puis, il applique la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, Le nombre d'opérations arithmétiques modulo p1 à effectuer par lesdits premiers moyens de calcul pour calculer chacun des R1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
IL La deuxième entité, appelée dispositif pilote dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade. Le dispositif pilote est appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. La troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, Plus particulièrement, dans le cas de cette variante de réalisation, le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
<Desc/Clms Page number 20>
Le dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D. A cet effet, # il effectue des opérations du type :
Figure img00200001

Du = r,. QA, dA . QB dB , mod p.
# puis, il applique la méthode des restes chinois.
Il y a autant de réponses D que d'engagements R et de défis d.
Il convient de souligner, ici aussi, que le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Le dispositif contrôleur reçoit une ou plusieurs réponses D. Il comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D un engagement R' en effectuant des opérations du type :
Figure img00200002

R'= GA dA, GB dB, ...DV mod n ou du type :
R'. GA dAGB dB Dv mod n Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
On va maintenant exposer les variantes de réalisation du système selon l'invention concernant : - le cas d'une authentification d'entité, - le cas d'une authentification de message, - le cas d'une signature numérique de message.
Cas d'une authentification d'entité
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'une entité.
Comme dans le cas général, le session met en oeuvre trois entités du
<Desc/Clms Page number 21>
système selon l'invention.
I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur.
Le dispositif témoin dispose d'une première zone mémoire contenant des
Figure img00210001

facteurs premiers pi, p,, ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. pu..... Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QA,, QA29 ... (QA; , ...), et QBI, QB 21 ... (QB , ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00210002

composantes GA,, GAZ, ... (GAi, ...) et GB,, GBt, ... (GB,,,...) * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type : GA.QA' mod n 1 ou GA QA@mod n II. La deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade.
III. Une troisième entité, appelée dispositif contrôleur, se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, Pour prouver l'authenticité d'une entité, ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres
Figure img00210003

entiers { r,, r29 r3, ...}, telle que, pour chaque facteur premier p, chaque
<Desc/Clms Page number 22>
collection comporte un aléa r positif et plus petit que p; .
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo pi, pour chaque facteur premier pi,
R, riv mod pi On notera que le nombre d'opérations arithmétiques modulo p1 à effectuer par les deuxièmes moyens de calcul pour calculer chacun des RI pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Puis, lesdits deuxièmes moyens de calcul du dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au dispositif témoin : Le dispositif démonstrateur comporte des moyens de transmission pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur.
Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type :
Figure img00220001

D, == ru . QAi d . QB dB .... mod Pi puis, il applique la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p1 à effectuer par les
<Desc/Clms Page number 23>
quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : Le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00230001

R'== GA dA. GR dB....DV mod n ou du type : R' . GA dA. GR dB.... == DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur.
Cas d'une authentification de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m.
Comme dans le cas général, la session met en oeuvre trois entités du système.
I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur.
Le dispositif témoin dispose d'une première zone mémoire contenant des
<Desc/Clms Page number 24>
facteurs premiers p1, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un
Figure img00240001

module public n tel que n = p,.p2. P3.... ,.Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA15 QA, ... (qu,,...), et QB1, QB2, ... (QA. , ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00240002

composantes GA1, GAZ, ... (GAi, ou) et GB,, GB2, ... (GBi, ...) * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00240003

GA.QA mod n --- 1 ou GA QA'mod n II. Une deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade.
III. Une troisième entité, appelée dispositif contrôleur, se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin.
Pour prouver l'authenticité d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r,, ...}, telle que pour chaque facteur premier p,, chaque collection comporte un aléa r; positif et plus petit que p; .
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier Pi
R, = riv mod pi
<Desc/Clms Page number 25>
Le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}.
' étape 2. défi d destiné au dispositif témoin : Le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer un jeton T, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R.
Le dispositif démonstrateur comporte des moyens de transmission pour transmettre le jeton T au dispositif contrôleur.
Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type :
D, ri. QA, dA QB, dB .... mod Pi puis, il appliquant la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
<Desc/Clms Page number 26>
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : Le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00260001

R' = GA d" . GB dB .... D" mod n ou du type : R' . GA d" . GB d$ .... --- DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T'.
Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur.
Cas d'une signature numérique de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m.
Comme dans le cas général, la session met en oeuvre trois entités du système : I. Une première entité, appelée dispositif témoin, contenues notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur.
Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p@, ...) (i étant supérieur ou égal à 2) d'un
<Desc/Clms Page number 27>
Figure img00270001

module public n tel que n = pl.p2. P3..... Le dispositif témoin comporte également une deuxième zone mémoire contenant :
Figure img00270002

* des composantes QAI, Qu 29 ... (QA;, ou), et QBI, QB2, ... (QB;, ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB, ... ayant respectivement pour
Figure img00270003

composantes GA,, GAZ, ... (GA., ...) et GB,, GB2, ... (GB, ...) * un exposant publique de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00270004

GA.QA mod n - 1 ou GA = QAmod n II. Une deuxième entité, pouvant être contenue notamment dans ledit objet nomade, est appelée dispositif de signature.
III. Une troisième entité, appelée dispositif contrôleur se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique au dispositif témoin.
Pour prouver la signature d'un message, ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...}, telle que pour chaque facteur premier pi, chaque collection comporte un aléa r positif et plus petit que pi.
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo pi, pour chaque facteur premier P.' Ri# (mod p,
<Desc/Clms Page number 28>
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Puis, lesdits deuxièmes moyens de calcul du dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Figure img00280001
Il y a autant d'engagements R que de collections d'aléas {rI, r2, r,,...}, ' étape 2. défi d destiné au dispositif témoin : Le dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés.
Le dispositif de signature transmet les collections de défis d au dispositif témoin, ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type : Di# ri . QA, dA . QB, dB .... mod p, puis, il applique la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p1 à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
<Desc/Clms Page number 29>
Le dispositif témoin comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur.
' étape 4. données destinées au dispositif contrôleur : Le dispositif de signature transmet au dispositif contrôleur un message signé comprenant : - le message m, - les collections de défis d ou les engagements R, - chaque réponse D ' étape 5. vérification par le dispositif contrôleur : Cas où le dispositif contrôleur reçoit la collection des défis d, Dans le cas où le dispositif contrôleur reçoit les collections des défis d et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00290001

R'= GA d" . GB "\ ...du mod n ou du type : R' . GA d" . GB dB .... --- DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R'.
Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé.
Cas où le dispositif contrôleur reçoit la collection des engagements R Dans le cas où le dispositif contrôleur reçoit la collection des engagements R et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R.
Le dispositif contrôleur comporte des sixièmes moyens de calcul pour
<Desc/Clms Page number 30>
calculer alors la collection des engagements R' en effectuant des opération du type
Figure img00300001

R' --- GA d'' . GB d'B .... D" mod n ou du type : R' . GA d'' . GB d'$ .... --- y d Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé.
Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q Dans le cas de la variante de réalisation ci-après exposée les composantes
Figure img00300002

QA,, QA2, m (QA,, ...), et QBI, QB2, ... (QB, ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QA,, QB, , ... pour chacun desdits facteurs premiers p., lesdites clés privées QA,
Figure img00300003

QB, pouvant être calculées à partir desdites composantes QAI, Qu 29 ... (QA, , ...), et QBI, QB2, ... (QBi, ...), ... par la méthode des restes chinois.
Dans le cas de cette variante, le dispositif témoin comporte des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type :
Figure img00300004

GA,= QA.Y 1 mod P.
# puis en appliquant la méthode des restes chinois pour établir GA tel que
GA QAvmod n ou bien tel que
GA.QAv mod n - 1 Le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p1 est réduit par rapport par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
De préférence dans ce cas, l'exposant public de vérification v est un nombre
<Desc/Clms Page number 31>
premier. Il en résulte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité.
De préférence également, l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, Dans ce cas, la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2 gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n.
Le dispositif témoin comporte des neuvièmes moyens de calcul pour
Figure img00310001

calculer les dites composantes QAI, QA1, m (QA,, ...) de la clé privée QA en appliquant des formules telles que : GA= QAmodp, ou bien telles que :
Figure img00310002

GA .QA 2.exp(k)mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi).
Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QA, pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
De préférence, pour extraire la kième racine carrée de GA dans le corps de
<Desc/Clms Page number 32>
Galois CG(pi), on utilise les méthodes suivantes : - dans le cas où le facteur premier p; est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y --- xk mod (p-1) ; z = y ; QA, --- GAZ mod p, - dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
Objet nomade. Carte bancaire La présenté invention concerne également un objet nomade permettant de mettre en oeuvre le procédé ci-dessus exposé.
L'objet nomade selon l'invention se présente, par exemple, sous la forme d'une carte bancaire à microprocesseur. Il permet de diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, L'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin dispose d'une première zone mémoire
Figure img00320001

contenant des facteurs premiers p,, pi,... (pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p.p,. P3 . Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant :
Figure img00320002

* des composantes QA,, Qu 29 ... (QA,, ...), et QB,, QB2, ... (QB,, ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB, ... ayant respectivement pour
Figure img00320003

composantes GA,, GAZ, ... (GAi, ...) et Gaz, GB, ... (GB,;, ...) * des exposants publics de vérification vx, vy, ...
Les clés privées et les clés publiques sont liées par des relations du type : GA.QA" mod n 1 ou GA QA'mod n
<Desc/Clms Page number 33>
Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type :
Figure img00330001

RI --- rif mod p, ou ri est un aléa tel que 0 < r, < pi.
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits premiers moyens de calcul pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin. Elle peut être également contenue dans ledit objet nomade. Le dispositif pilote est appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. Une troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif pilote audit dispositif contrôleur.
Le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur un
Figure img00330002

ou plusieurs défis d tel que 0 <~ d <~ vx - 1 et comporte des deuxièmes moyens de calcul pour calculer à partir dudit défi d une ou plusieurs réponses D en effectuant des opérations du type :
Figure img00330003

Di == roi . QA, ' d mod p. ou r, est un aléa tel que 0 < r, < p1.
<Desc/Clms Page number 34>
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses D, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou les dites réponses D.
Cas où l'exposant de vérification v est unique De même que précédemment, l'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin dispose d'une première zone mémoire
Figure img00340001

contenant des facteurs premiers pl, p2, ... (p" on) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p,. p3..... Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,, Qu29 ... (qu.,...), et QB,, Qu29 ... (QBj 9 ...
..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00340002

composantes GAI, GA, ... (GA,,...) et GBI, GB2' ... (GBi, on) * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00340003

GA.QAV mod n - 1 ou GA QA mod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type :
Figure img00340004

Ri --- riv mod p, où r, est un entier, tiré au hasard, associé au nombre premier p1, tel que 0 < r, < p; , appartenant à au moins une collection d'aléas {r1, r2, r3, ...}, ' puis en appliquant la méthode des restes chinois,
Figure img00340005

Il y a autant d'engagements R que de collections d'aléas Ir,, rz, r3, ...}, Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par
<Desc/Clms Page number 35>
lesdits premiers moyens de calcul pour calculer chacun des R, pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin. Elle peut être également contenue dans ledit objet nomade. Le dispositif pilote est appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message.
III. Une troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message.
L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif pilote audit dispositif contrôleur.
Le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0 < dA# v - 1. Le nombre des collections de défis d étant égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
Le dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D. A cet effet, # il effectue des opérations du type : Di# r, . QA, dA . QB, dB .... mod pi # puis, il appliquant la méthode des restes chinois.
<Desc/Clms Page number 36>
Il y a autant de réponses D que d'engagements R et de défis d.
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des Di pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou lesdites réponses D.
On va maintenant exposer des variantes de réalisation de l'objet nomade selon l'invention concernant : - le cas d'une authentification d'entité, - le cas d'une authentification de message, - le cas d'une signature numérique de message.
Cas d'une authentification d'entité
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un dispositif contrôleur l'authenticité d'une entité.
Comme dans le cas général, la session fait intervenir trois entités.
I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin comporte une première zone mémoire
Figure img00360001

contenant des facteurs premiers pl, P2' ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p,..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant :
Figure img00360002

* des composantes QA,, Qu 21 ... (QA; , ...), et QBI, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00360003

composantes GA,, Go 29 ... (gaz, ...) et GB1, GB2, ... (GBil ...) * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00360004

GA.QA" mod n 1 ou GA QA'mod n
<Desc/Clms Page number 37>
II. Une deuxième entité est appelée dispositif démonstrateur du dispositif témoin. Elle peut être également contenue dans ledit objet nomade.
III. Une troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique.
L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur.
Pour prouver l'authenticité d'une entité, ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres
Figure img00370001

entiers 1 r19 ruz r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ri positif et plus petit que p; .
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p; , pour chaque facteur premier pi, Ri# riv mod p, Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, lesdits deuxièmes moyens de calcul du dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Figure img00370002
Il y a autant d'engagements R que de collections d'aléas {roi, rz, r3, ...}.
' étape 2. transmission des engagements R et réception des défis d destinés au dispositif témoin :
<Desc/Clms Page number 38>
L'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur tout ou partie de chaque engagement R. L'objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...}produits par ledit dispositif contrôleur.
' étape 3. réponse du dispositif témoin aux défis d : Le dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type :
Figure img00380001

D, - r,. QA, dA . QB, dB .... mod p. puis, il applique la méthode des restes chinois.
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les troisièmes moyens de calcul pour calculer chacun des Di pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur tout ou partie de chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et l'authenticité de l'entité contrôlée.
Cas d'une authentification de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m.
Comme dans le cas général, l'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit
<Desc/Clms Page number 39>
objet nomade,.
Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p,..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant
Figure img00390001

* des composantes QA,, QA2, ... (QAj , ...), et QB,, QB2, ... (QB, ...), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00390002

composantes GA,, GA2, m (GAi, ...) et GB,, GB2, m (GB;, ...) * un exposant public de vérification v.
Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00390003

GA.QA" mod n 1 ou GA =- QA'mod n II. Une deuxième entité, est appelée démonstrateur dudit dispositif témoin.
Elle peut être également contenue dans ledit objet nomade.
III. Une troisième entité appelée dispositif contrôleur se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique.
L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur.
Pour prouver l'authenticité d'un message ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r,, r2, r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; .
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever
<Desc/Clms Page number 40>
chaque aléa r, à la puissance v ième modulo p,, pour chaque facteur premier Pi
Ri = r mod pi Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R; pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Figure img00400001
Il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ...}.
' étape 2. réception des défis d destinés au dispositif témoin: Le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer un jeton T, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R. L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur le jeton T. L'objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...}produits par ledit dispositif contrôleur au moyen du jeton T.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectuant des opérations du type :
Di r,. QA, dA . QB, dB .... mod p, puis, il applique la méthode des restes chinois.
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n
<Desc/Clms Page number 41>
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D) et l'authenticité du message m.
Cas d'une signature numérique de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m.
Comme dans le cas général, l'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p1, on) (i étant supérieur ou égal
Figure img00410001

à 2) d'un module public n tel que n = P'P2' p..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QAI, Qat, ... (QA,, on), et QBI, QB2, ... (QB, on), ..., représentant des clés privées QA, QB, ...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00410002

composantes GA1, GAZ, ... (GA,,...) et GB,, GB2, ... (GB, ...) * un exposant public de vérification v.
*Les paires de clés privées et publiques sont liées par des relations du type :
Figure img00410003

GA.QA" mod n --- 1 ou GA QA'mod n II. Une deuxième entité est appelée dispositif de signature. Elle peut être également contenue dans ledit objet nomade.
III. Une troisième entité appelée dispositif contrôleur se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de
<Desc/Clms Page number 42>
communication informatique.
L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et ledit dispositif de signature audit dispositif contrôleur.
Pour prouver la signature d'un message ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres
Figure img00420001

entiers { rl, r2, r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; .
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p;, pour chaque facteur premier pi,
R1 = rivmod p, Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois.
Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}.
' étape 2. défi d destiné au dispositif témoin : Le dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d étant égal au nombre d'engagements R. Chaque collection {dA, dB, ...}
<Desc/Clms Page number 43>
comprend un nombre de défis égal au nombre de paires de clés.
Le dispositif de signature transmet les collections de défis d au dispositif témoin.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type :
Figure img00430001

Di --- r . QA, 1 da QBI dB .... mod p, puis, il appliquant la méthode des restes chinois.
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
L'objet nomade comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur.
' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur un message signé comprenant : - le message m, - les collections de défis d ou les engagements R, - chaque réponse D ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et la signature numérique du message m.
Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q
<Desc/Clms Page number 44>
La paire de clés GA, QA,... n'a plus de raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ.
Dans le cas de la variante ci-après exposée les composantes QA1, QA2, ...
Figure img00440001

(QA.,...), et QB,, QB2, ... (qui, ...), ... des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QA, , QBi, ... pour chacun desdits facteurs premiers p., lesdites clés privées QA, QB, pouvant
Figure img00440002

être calculées à partir desdites composantes QAI Qu 21 ... (QA,, ...), et QBI5 QB2, ... (QBi, ou), par la méthode des restes chinois.
Le dispositif témoin comporte des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type :
Figure img00440003

GA,= QAv mod p # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA QAvmod n ou bien tel que
GA.QAv mod n = 1 Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
De préférence, l'exposant public de vérification v est un nombre premier. Il en résulte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v = a où k est un paramètre de sécurité.
De préférence également, l'exposant public de vérification v est du type
<Desc/Clms Page number 45>
v = 2k où k est un paramètre de sécurité.
Dans ce cas, la clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'ait pas de racine en x dans l'anneau des entiers modulo n Le dispositif témoin comportant des neuvièmes moyens de calcul pour calculer lesdites composantes QA1, QA2, ... (QA; , ...) de la clé privée QA en appliquant des formules telles que :
Figure img00450001

GA= QA 2exp(k) mod PI ou bien telles que : GA QA 2exp(k) d = 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi).
Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(p,), on utilise les méthodes suivantes : * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y = x"mod (p-1) ; z = y ; QA, = GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
<Desc/Clms Page number 46>
Terminal ou Serveur distant
Concept général GQ II La présente invention concerne également un dispositif de contrôle, se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique.
Le terminal ou le serveur selon l'invention permet de mettre en oeuvre le procédé ci-dessus exposé et de diminuer la charge de travail pendant une session destinée à vérifier : - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m.
Le dispositif de contrôle met en oeuvre : - un module public n tel que n soit le produit de facteurs premiers
Figure img00460001

secrets p,, pi,... (Pi' ...) (i étant supérieur ou égal à 2) n = Pl'P2' p3.... , - des clés publiques GA, GB, ...
- des exposants publics de vérification vx, vy, ... lesdites clés privées GA et les clés publiques associées QA étant liées par des relations du type : GA.QA" mod n --- 1 ou GA QA'mod n Le dispositif de contrôle fait intervenir trois entités.
I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin produit des engagements R et des réponses D à des défis d.
II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin.
Elle peut être contenue notamment dans ledit objet nomade.
III. Une troisième entité, appelée dispositif contrôleur, est contenue dans ledit dispositif de contrôle.
Le dispositif de contrôle comporte :
<Desc/Clms Page number 47>
- des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif contrôleur audit dispositif témoin et/ou audit dispositif pilote, - des moyens de transmission pour transmettre les données produites par ledit dispositif contrôleur vers ledit dispositif témoin et/ou ledit dispositif pilote, - des moyens de réception pour recevoir les données provenant dudit dispositif témoin et/ou dudit dispositif pilote.
Le dispositif contrôleur comporte : - des premiers moyens de calcul pour produire un ou plusieurs défis d
Figure img00470001

telque0<~d<vx-I, - des deuxièmes moyens de calcul pour calculer, en fonction des réponses D reçues dudit dispositif témoin et/ou dudit dispositif pilote, des engagements R' en effectuant des opérations du type :
Figure img00470002

R'(=GAd.D# mod n ou du type : R91. GA d=- D' mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Cas où l'exposant de vérification v est unique De même que précédemment, ledit dispositif de contrôle se présente sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique. Il met en oeuvre : - un module public n tel que n soit le produit de facteurs premiers
Figure img00470003

secrets PI' p2, ... (Pi, ...) (i étant supérieur ou égal à 2) n = PI,P2, p3.... , - des clés publiques GA, GB, ...
- un exposant public de vérification v Les clés privées GA et les clés publiques associées QA sont liées par des
<Desc/Clms Page number 48>
relations du type :
Figure img00480001

GA.QA" mod n --- 1 ou GA --- QA mod n ledit dispositif de contrôle fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin produit des engagements R et des réponses D à des défis d.
II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin Elle peut être contenue notamment dans ledit objet nomade.
III. Une troisième entité, appelée dispositif contrôleur, est contenue dans ledit dispositif de contrôle.
Le dispositif de contrôle comporte : - des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif contrôleur audit dispositif témoin et/ou audit dispositif pilote, - des moyens de transmission pour transmettre les données produites par ledit dispositif contrôleur vers ledit dispositif témoin et/ou ledit dispositif pilote, - des moyens de réception pour recevoir les données provenant dudit dispositif témoin et/ou dudit dispositif pilote, Le dispositif contrôleur comporte : - des premiers moyens de calcul pour produire un ou plusieurs défis d {dA, dB, ...} tels que 0# dA# v - 1, - des deuxièmes moyens de calcul pour calculer, en fonction des réponses D reçues du dudit dispositif témoin et/ou dudit dispositif pilote, des engagements R', en effectuant des opérations du type :
Figure img00480002

R' --- GA d" . GB dB .... D mod n ou du type : R'. GA dA. GB dB.... == D mod n
<Desc/Clms Page number 49>
- des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Cas d'une authentification d'entité
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation, la session est destinée à vérifier l'authenticité d'une entité. Dans le cas d'une authentification d'entité, le dispositif pilote est appelé dispositif démonstrateur.
Pour prouver l'authenticité d'une entité ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r,, r2, r3, ...}, telle que, pour chaque facteur premier p1, chaque collection comporte un aléa r, entier positif et plus petit que p, .
Il y a autant d'engagements R que de collections d'aléas.
' étape 2. défis produits par le dispositif contrôleur et destinés au dispositif témoin : Les moyens de réception du dispositif de contrôle reçoivent tout ou partie de chaque engagement R, transmis par le dispositif démonstrateur, et le transmettent au dispositif contrôleur.
Le dispositif contrôleur comporte des premiers moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA < v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du dispositif témoin aux défis d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. Il y a autant de réponses D que
<Desc/Clms Page number 50>
d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : Les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00500001

R'= GA dA. GR dB....DV mod n ou du type :
R' . GA dA.GB dB....= Dv mod n Le dispositif contrôleur comporte des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur.
Cas d'une authentification de message
Cas où l'exposant de vérification v est unique.
Dans le cas de cette variante de réalisation particulière, la session est destinée à vérifier l'authenticité d'un message m. Dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif démonstrateur.
Pour prouver l'authenticité d'un message m, ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins
Figure img00500002

une collection d'aléas {rI, rz, r3, ...}, telle que, pour chaque facteur premier p;, chaque collection comporte un aléa r, entier positif et plus petit que pi .
Il y a autant d'engagements R que de collections d'aléas.
' étape 2. défis d produits par ledit dispositif contrôleur et destinés
<Desc/Clms Page number 51>
au dispositif témoin : Les moyens de réception du dispositif de contrôle reçoivent un jeton T calculé et transmis par le dispositif démonstrateur en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R.
Le dispositif contrôleur comporte des premiers moyens de calcul pour calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0 < dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collection de défis d {dA, dB, ...} reçues du dispositif contrôleur. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
' étape 4. données destinées au dispositif contrôleur : Les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GB dB. ...Dv mod n ou du type :
Figure img00510001

R'.GAdA.GBdB....---D modn Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer un jeton T', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R'.
Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour
<Desc/Clms Page number 52>
comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur.
Cas d'une signature numérique de message
Cas où l'exposant de vérification v est unique Dans le cas de cette variante de réalisation particulière, la session est destinée à vérifier la signature numérique d'un message m. Dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif de signature.
Pour prouver la signature numérique du message m, ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r,, ...}, telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r, entier positif et plus petit que pi.
Il y a autant d'engagements R que de collections d'aléas.
' étape 2. défis d destinés au dispositif témoin : Le dispositif de signature calcule, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés.
Le dispositif de signature transmet les collections de défis d au dispositif témoin.
' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...}. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d.
<Desc/Clms Page number 53>
Le dispositif témoin comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur.
' étape 4. données destinées au dispositif contrôleur : Les moyens de réception du dispositif de contrôle reçoivent du dispositif de signature un message signé comprenant : - le message m, - les collections de défis d ou les engagements R, - chaque réponse D.
' étape 5. vérification par le dispositif contrôleur : Cas où le dispositif contrôleur reçoit la collection des défis d Dans ce cas, le dispositif contrôleur reçoit les collections des défis d et des réponses D.
Le dispositif contrôleur comporte : * des premiers moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img00530001

R'== GA dA. GB dB....DV modn ou du type :
Figure img00530002

R' . GA d ". GB dB .... --- D" mod n * des deuxièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', * des troisièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé.
Cas où le dispositif contrôleur reçoit la collection des engagements R Dans ce cas, le dispositif contrôleur reçoit la collection des engagements R et des réponses D, Le dispositif contrôleur comporte : * des premiers moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m
<Desc/Clms Page number 54>
et chaque engagement R, * des deuxièmes moyens de calcul pour calculer, alors, la collection des engagements R' en effectuant des opération du type
Figure img00540001

R' --- GA d'" . GB d'B .... D mod n ou du type :
R' . GA d'A GB d'B .... --- Dv mod n * des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé.
Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q La paire des clés GA, QA,... n'a plus raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ.
Dans le cas de la variante de réalisation ci-après exposée les composantes
Figure img00540002

QA,, QA1, ... (QA ...), et QBI, QB2, ... (QB.,...), des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QA,, QB1, ... pour chacun desdits facteurs premiers p,, lesdites clés privées QA, QB,
Figure img00540003

pouvant être calculées à partir desdites composantes QAI, QA1, ... (QA, ...), et QBI, QB29 ... (QB;, ...), ... par la méthode des restes chinois, Le dispositif témoin comporte des moyens de calcul pour calculer les clés publiques GA, GB, ..., # en effectuant des opérations du type : GAi# QA;modp.
# puis, en appliquant la méthode des restes chinois pour établir GA tel que
GA QAvmod n ou bien tel que
GA.QAv mod n = 1 Le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des
<Desc/Clms Page number 55>
GAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
De préférence, l'exposant public de vérification v est un nombre premier.
On peut démontrer que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité.
De préférence également, l'exposant public de vérification v est du type v=2k où k est un paramètre de sécurité, Dans ce cas clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2= gA mod n n'ait pas de racine en x dans l'anneau des entiers modulo n.
Le dispositif témoin comporte des neuvièmes moyens de calcul pour
Figure img00550001

calculer les dites composantes QA,, Qu 29 ... (QA; , ...) de la clé privée QA en appliquant des formules telles que : GA= QA 2exp(k) mod Pi ou bien telles que : GA.QA i2.exA) mod p,=- 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi).
Ainsi, le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
<Desc/Clms Page number 56>
On peut démontrer que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(p.), * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA@ GAZ mod p, * dans le cas où le facteur premier p; est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
On va maintenant décrire de manière détaillée la présente invention en présentant dans une première partie les éléments mathématiques utilisés, puis, en développant dans une deuxième partie le procédé selon l'invention appelé nouveau procédé.
Première partie : éléments mathématiques 1. Congruences Dans ce paragraphe, x, y et z sont des entiers naturels. - n'est pas nul.
La notation x y (mod z) se lit x est congru à y (mod z) ; elle est équivalente à z divise x-y .
1.1. Propriétés de base des congruences Les quatre lois suivantes sont utiles.
(Loi A)
Figure img00560001

{ a = b (mod m); x = y (mod m) ==> {a x --- b y (mod m); a.x = b.y (mod m) (Loi B) { a.x == b.y (mod m); a = b (mod m); pgcd(a, m) = } => 1 x =- y (mod ni) }
<Desc/Clms Page number 57>
(Loi C)
Figure img00570001

{ a --- b (mod m) } { a.n --- b.n (mod m.n) (Loi D) { a = b (mod r.s); pgcd(r, s) =1 {a==b (modr); a = b (mod s) 1. 2. Théorème de Fermat Lorsque p est un nombre premier, ap #a (mod p).
Démonstration.
La relation est triviale lorsque a est un multiple de p.
Définissons la suite {X} pour un nombre entier a quelconque appartenant à
Figure img00570002

{1, 2, 3, ...p-1}.
{Ar}={x1=a. Puis, pour i >-1, xl+1 = a + xr (mod p)l Les p-1 premiers termes sont distincts et non nuls ; ils forment une permutation des entiers de 1 àp-1.
Calculons le terme pour l'indice i+p :
Figure img00570003

xi+p = xi + p.a = xi (mod p) Par conséquent, la suite {X} est périodique et sa période est p.
Selon la loi A, a.2a.3a.... ( p -1)a =1.2.3.... ( p -1) (mod p) Selon la loi B, ap-1 = 1 (mod p) Selon la loi A, ap #a (mod p) 1. 3. Théorème d'Euler Lorsque a et n sont premiers entre eux, a#(n) = 1 (mod n).
La fonction d'Euler est notée par cp(n). C'est le nombre d'entiers positifs inférieurs à n et premiers avec n.
=> Lorsque n est un nombre premier p, (p(p) = p-1.
Figure img00570004
=>Lorsque n est le produit de deux nombres premiers distincts pi etp2. tP(n) ~ (P,-1). (P2-l).
Lorsque la factorisation de n est pls. P2) . P3'...., (pu = (1-lpy . (l-lIp2)' (l-l/p3) 1. 4. Structure du corps de Galois CG(p)
<Desc/Clms Page number 58>
Soit un nombre premier impair p. Soit un nombre entier positif a inférieur à p. Définissons la suite {X}.
Figure img00580001
{X}= {Xl = a. Puis, pour < > 1, xl+l a.x, (mod pu Calculons le terme pour l'indice i+p et utilisons le théorème de Fermat. x;+ p = ap.xi a.x; xi+1 (mod p) Par conséquent, la période de la suite {X} est inférieure ou égale à p-1 et elle divise p-1. Cette période dépend de la valeur de a. Par définition, cette période est appelée le rang de a (mod p) .
Xrang(a, p) 1 (mod p) Les éléments de CG(p) ayant pour rang p-1 sont appelés les éléments générateurs de CG(p). La dénomination est due au fait que leurs puissances successives dans CG(p), c'est-à-dire, les termes de la suite {X} pour les indices de 1 à p-1, forment une permutation de tous les éléments non nuls de CG(p).
Soit un élément générateur a de CG(p). Evaluons le rang de l'élément à (mod p) : ce rang s'exprime simplement en fonction de i et de p-1.
Lorsque i est premier avec p-1, c'est p-l.
# Lorsque i divisep-l, c'est (p-1)/i.
Dans tous les cas, c'est (p-l)/pgcd(p-l, i).
Par conséquent, dans le corps CG(p), il y a (p(p-l) éléments générateurs où # est la fonction d'Euler.
Par exemple, lorsque (p-1)/2 est un nombre premier impair p', il y a p'-1 éléments générateurs, à savoir, # un seul élément de rang 1 : c'est 1, un seul élément de rang 2 : c'est -1, p'-l éléments de rang;?', # p'-l éléments de rang 2.p'; ce sont les éléments générateurs.
1. 4.1. Fonction exponentielle sur CG(p) Lorsque p est un nombre premier impair et que a est un élément générateur
<Desc/Clms Page number 59>
de CG(p), la transformation élever a à la puissance x ième (mod p) permute les éléments non nuls de CG(p). La permutation inverse est définie par prendre le logarithme discret de y en base a dans CG(p) .
Lorsque a est un élément générateur de CG(p),
Figure img00590001

x H y == aX (mod p) ≤> y H X == 10ga(Y) dans CG(p) 1. 4.2. Fonction puissance sur CG(p) Lorsque p est un nombre premier impair et que v est premier avec p-1, la transformation élever x à la puissance v ième (mod p) respecte le rang des éléments. Elle permute les éléments de CG(p). La permutation inverse est définie par une autre transformation élever y à une puissance s ième (mod p) où p-1 divise v.s-1. On dit que l'exposant s est inverse de l'exposant v (modp-1).
Figure img00590002

XHY==Xv (mod p) ≤> YHX==Ys (mod p) 1. 5. Fonction de Carmichael La fonction de Carmichael de n est notée par ,(n). C'est la valeur maximale du rang (mod n).
=> Lorsque n est le produit de deux nombres premiers impairs p1 et p2, ##(n) = ppcm(p,-l, p2-l).
Figure img00590003
=>Lorsque a et b sont premiers entre eux, .(a.b) = ppcm(À(a), ,(b)).
=>Pour les puissances d'un nombre premier impair p, .(p) = p Pour les puissances de 2, 7(2) = 1; z,(4) = 2; À(2') = 2" 2.
= Dans tous les cas, À(n) divise cp(n). L'égalité n'intervient que lorsque n est premier.
1. 6. Résidus quadratiques Considérons l'équation x 2 c (mod n) où l'entier positif c est inférieur àn et premier avec n.
# Lorsque l'équation a des solutions en x, on dit que c est un résidu quadratique (mod n).
# Lorsque l'équation n'a pas de solution, on dit que c est un résidu non
<Desc/Clms Page number 60>
quadratique (mod n).
L'ensemble des résidus quadratiques (mod n) forme un groupe (mod n) pour la multiplication. En effet, le produit de deux résidus quadratiques (mod n) est un résidu quadratique (mod n). En outre, le produit d'un résidu quadratique (mod n) par un résidu non quadratique (mod n) est un résidu non quadratique (mod n).
Lorsque n est un nombre premier impair p, chaque résidu quadratique (mod p) a exactement deux racines carrées dans CG(p). En effet, soit un élément générateur a de CG(p) : a' (mod p) est un résidu quadratique si et seulement si i est pair ; ses racines sont alors ~a1/2 (mod p). Les éléments x et p-x ont le même carré.
Remarque. Dans CG(p), lorsque (p-l)/2 est un nombre premier impair p', les résidus quadratiques (mod p) sont les p'-l éléments de rang p' complétés par l'élément de rang 1, c'est-à-dire, 1.
1. 7. Symboles de Legendre et de Jacobi Lorsque p est un nombre premier, on peut classer les entiers positifs en deux catégories : les multiples de p et les nombres premiers avec p. En outre, les nombres premiers avec p se classent eux-mêmes en deux catégories : les résidus quadratiques (mod p) et les résidus non quadratiques (mod p).
Legendre a introduit un symbole spécial noté par (c # p). Le symbole de Legendre de l'entier positif c par rapport au nombre premier p prend les valeurs +1, -1 et 0.
# (c p) = 0 lorsque c est un multiple de p.
# (c p)= +1lorsque c est un résidu quadratique (mod p).
# (c p)= -1 lorsque c est un résidu non quadratique (mod p).
La formule suivante établie par Euler permet de calculer le symbole de Legendre (en assimilant tout naturellement les valeurs-1 et p-1) ; cette formule est encore appelée le critère d'Euler.
<Desc/Clms Page number 61>
Figure img00610001

(c 1 p) C(P-l)12 (mod p) Le symbole de Jacobi généralise le symbole de Legendre. Les deux symboles sont notés de la même manière. Connaissant la factorisation de l'entier impair n, la formule suivante définit le symbole de Jacobi par rapport à n à partir du symbole de Legendre par rapport à chaque facteur premier de n.
Figure img00610002
Si n = p,Q. p2... , alors (c z) = (c 1 p,)'. (c 1 p/J ... En d'autres termes, si a et b sont des entiers positifs impairs premiers avec c et c',
Figure img00610003

(c 1 a. b) = (c 1 a). (c 1 b) et (c a) . (c' 1 a)= (c'. c a) Attention, résidus quadratiques et éléments avec symbole de Jacobi égal à +1 ne coïncident pas.
* Tous les résidus quadratiques (mod n) ont un symbole de Jacobi égal à +1.
* La valeur-1 du symbole de Jacobi caractérise exclusivement des résidus non quadratiques (mod n).
* Lorsque n n'est pas premier, il y a des résidus non quadratiques dont le symbole de Jacobi vaut +1.
La loi de réciprocité quadratique lie les symboles de Jacobi (m n) et (n #m) où m et n sont deux entiers positifs impairs : Legendre et Euler connaissaient cette loi ; Gauss l'a démontrée.
Figure img00610004
(m I i).(n 1 m) = {n-I}/4 En d'autres termes, le signe change quand rn et n sont tous deux congrus à 3 (mod 4).
Figure img00610005

Notons la relation : (-1 1 n) (-lyn-I}12 En d'autres termes, -1 est un résidu quadratique mod n lorsque n est congru à 1 mod 4 ; -1 est un résidu non quadratique mod n lorsque n est congru à 3 mod 4 ;
Figure img00610006

Notons enfin la relation : (2 n) ~ (-1)cn2 -1)/8 En d'autres termes,
<Desc/Clms Page number 62>
2 sont des résidus non quadratiques (mod n) lorsque n est congru à 3 ou 5 (mod 8) ; 2 sont des résidus quadratiques (mod n) lorsque n est congru à 1 ou 7 (mod8).
1. 8. Suites de Lucas Considérons l'équation du second degré : les coefficients S et P sont respectivement la somme et le produit des racines a et ss, lesquelles racines sont distinctes lorsque le discriminant A n'est pas nul.
Figure img00620001
(x - a).(x - 3) = x2 - (a +,(i).x + a./3 = x2 - S.x + P S =SZ-4.P=(a-/3)Z 0 Les suites de Lucas {U} et {V} sont définies comme suit : les paramètres S et P sont deux entiers non nuls tels que S 2 soit différent de 4.P ; chaque terme est entier parce que les valeurs initiales sont entières.
Figure img00620002
{u}= luo = 0; ul = 1. Puis, pour i >- 0, ui+2 = S-Ui+l - P.ur {V}= vo = 2; v, = S. Puis, pour il 0, vi+2 = Swt+t - P-v, } Les deux suites admettent la même équation caractéristique évoquée cidessus : x2 - S.x + P = 0.
Supposons les expressions suivantes vraies pour les indices i et i+1.
Figure img00620003
= a - i {3i + /3i 1 a- {3 et V, =a 1. +16 On vérifie alors simplement que les expressions sont encore vraies pour l'indice i+2. Or, elles sont vraies pour les indices 0 et 1. Par récurrence, elles sont donc vraies pour tout indice i positif ou nul.
Par la suite, on utilisera également les relations suivantes. Leur démonstration est triviale.
Figure img00620004

v2 - O.u2 = 4.P Pour doubler l'indice,
Figure img00620005

2.=.; V2.i = VI 2 ~2.Pi Pour retrancher un à l'indice,
<Desc/Clms Page number 63>
Par ailleurs, les racines a et ss s'expriment facilement en fonction de
Figure img00630001

5 ==<a+/5 et de -fi. = a- {3. c=(S+)I2 et ,Q=(S-)I2 Les expressions de ui et v en fonction des racines a et 8 s'écrivent encore :
Figure img00630002

Développons les polynômes (S + Ji.) 2.k + et (S - Ji.) 2.k + et comb: 10 leurs développements.
92.* 1 2*.r3 rr2.*-2A. 2 k-l 2 A*-l , A* 2 .u2 k+l = C2.k+l . S + C2.k+l . S .il + ... C2.k+l' S.il + il
Figure img00630003

2-2 r'3t-l ,-.2. C2 k+1 . S./#. C2.k+l . S./#.
2 k+l -A +U21+l--A 1. 8.1. Suites de Lucas sur le corps CG(p) Lorsque p est un nombre premier impair, p divise les coefficients du
Figure img00630004

15 binôme C p pour i allant de 1 à p-1. En d'autres termes, il ne reste alors qu'un seul terme dans chacune des deux expressions ci-dessus.
Figure img00630005
2p-l.u p = fj,(p-l) 12 (mode), c'est - à - dire, up ==(fj,1 p) (mod p) 2p~l.vp=Sp (mod p), c' est - à - dire, vp =S (modp) 20 Lorsque (A 1 p) = +1, u p =1 (mod p) et v p == S (mod p) Dans ce cas, u p~1 = (S.u p - v p ) I 2.P --- 0 (mod p) vp~ =(S.vp -O.up)l2.P=2 (mod p) Lorsque A est un résidu quadratique par rapport à un nombre premier impair
<Desc/Clms Page number 64>
p ne divisant ni P, ni S, ni #, les suites de Lucas pour les indices p-1 et p sur le corps CG(p) sont exactement dans l'état initial, c'est-à-dire, l'état pour les indices 0 et 1. La période des suites de Lucas sur CG(p) divise alors p-1.
Figure img00640001
Lorsque (A | p) = -1, u p --- -1 (mod p) et vp = S (mod p) Dans ce cas, UP+i = (S.up + vp ) / 2 = 0 (mod /?) v p+1 = (S.v p + .u p ) l 2 --- 2.P (mod p) Puis, up+z = (S.u p+1 + vp+1 ) / 2 = P (mod p) vp+2 = (S.vp+l + .u p+1 ) l 2 --- S.P (mod p) Lorsque A est un résidu non quadratique par rapport à un nombre premier impair p ne divisant ni P, ni S, ni #, les suites de Lucas pour les indices p+1 et p+2 sur le corps CG(p) sont dans l'état initial multiplié par P. Lorsque P est égal à 1, la période des suites de Lucas sur CG(p) divise alors p+1.
C'est ainsi que Lucas a découvert et établit le théorème suivant : Lorsque p est un nombre premier impair ne divisant ni P, ni S, ni #,p divise
Figure img00640002

up-(0 1 p) et up-(tJ. 1 P)' 1. 9. Racines carrées dans CG(p) 1. 9.1. Cas où p est congru à 1 (mod 4) Lorsque p est congru à 1 (mod 4), on utilise les suites de Lucas pour calculer une racine carrée de c (mod p). On affecte la valeur c au paramètre P. Puis, on cherche une valeur du paramètre S telle que le discriminant 8 = S2 - 4.c soit un résidu non quadratique (mod p).
Lorsque A est un résidu non quadratique par rapport à un nombre premier p impair ne divisant ni c, ni S, ni A, les suites de Lucas pour les indices p+1 et p+2 sur le corps CG(p) sont dans l'état initial multiplié par c.
Figure img00640003
Or, on connaît les relations suivantes : V? ~A.U2 = 4.P' et u2 = Ui ,vi En d'autres termes, p divise alors up+1 qui est égal au produit de u(p+1)/2 par
<Desc/Clms Page number 65>
Figure img00650001

V(P+I)I2' Par conséquent, p divise alors U(p+IJ/2 ou V(p+I)I2' En fait, p ne peut diviser v (p+1)12 ; il divise donc u(P+I)I2' On obtient donc, v( p+1) 2 = 4.c(p+1) I 2 (mod p) Or, c(p+l)/2 == c (mod p) Par conséquent, le nombre: x == .!.V(P+l)/2 (mod/?) est alors une solution à l'équation : x2 = c (mod p).
1. 9.2. Cas où p est congru à 3 (mod 4) Selon le critère d'Euler, on a :
Figure img00650002

c(p-i) Z ---1 (mod p), ce qui donne, c(p+I)12 z = c (mod p). Lorsque le nombre premierp est congru à 3 (mod 4), le nombre (p+l)/4 est entier ; par conséquent, les racines carrées de c dans CG(p) sont alors
Figure img00650003

+ ( p+1) I 4 (mod p).
2. Quelques méthodes de calcul pratique 2. 1. Algorithme d'Euclide 2. 1.1. Coefficients de Bezout et pgcd Par définition, les coefficients de Bezout de deux entiers positifs x et y sont deux entiers k et l définis de manière unique par :
Figure img00650004

0 < k < y, 0<-l<x et k.x - Ly = pgcd(,lc, y) L'algorithme de division d'Euclide calcule les coefficients de Bezout de deux entiers positifs et leur plus grand commun diviseur.
Soient deux entiers positifs x et y tels que x soit plus grand que y. Divisons x par y à la manière d'Euclide pour obtenir un quotient q positif et inférieur ou égal à x et un reste r positif ou nul et inférieur à y.
Soit, 0 < y < x
Figure img00650005

Par conséquent, x = q.y + r avec 0 < q 5 x et 0 <- r < y A partir des valeurs initiales Co = x et C, = y, considérons les divisions successives :
Figure img00650006

C0=ql.Cl+C2; Cl=92C2+C3; ...
<Desc/Clms Page number 66>
Figure img00660001

jusqu' à : CL~i = qL .CL + CL+1 où CL+l = 0.
Les quotients successifs forment la suite {q} qui est ainsi définie pour les indices i allant de 1 à L.
Les restes successifs forment la suite {C} qui est ainsi définie pour les indices i allant de 0 à L+1. La suite {C} est strictement décroissante de Co jusqu'à CL+1 qui est nul.
La suite {C} peut encore se définir de la manière suivante.
Figure img00660002
{C}= {C0=x; CI = y; puis, pour i allant de 1 à L, Ci+ --- Ci-i - qi -ci Définissons maintenant deux autres suites appelées {A} et {B}.
A= Ao =1; A1 = 0; puis, pour i allant de 1 à L, A;+1 = A,-i+qrA,} B= Bo = 0; BI =1; puis, pour i allant de 1 à L, B;+1 --- B,-1 + q, .Bl Les premiers termes de la suite {A sont Ao = 1, AI = 0, A 2= 1A3=lzA= 1 + q2 . q3l ...
La suite {A} est strictement croissante de Aj 3à AL+I' Les premiers termes suivants de la suite {B} sont Bo = 0, B, = 1, Bz = q,, B3 = 1 + q, . Îz, ...
La suite {B} est strictement croissante de B2à BL+1.
En éliminant q, entre les définitions des suites {A}et {C}, nous obtenons :
Figure img00660003

Ai,CI+I l+Ai+l-Ci = AI-l,CI + A"C,-l Par conséquent, la valeur de AI.C+1 1 + Ai + 1 ,CI est constante pour i allant de 0 à L.
Puisque AO.CL + A1.Co = y, nous obtenons : AL+l'C L = y Et, de la même manière, BL+1.CL = x.
Par ailleurs, remarquons les égalités : x.Ao - y.Bo = x = (-1)0 .C0
Figure img00660004

x.Al - y.Bi =-y = (-1)1.CI Supposons la relation vraie pour les indices i-1 et i ; puis, vérifions qu'elle est vraie pour l'indice i+1.
Figure img00660005
<Desc/Clms Page number 67>
Par récurrence, pour i allant de 1 à L, x.A@- y.Bt = (- 1)'.Ci En particulier, on obtient finalement : x.AL - y.BL = (-1)L .CL Les coefficients de Bezout de x et y sont égaux à AL et BL.
Le plus grand commun diviseur de x et y est égal à CL.
Exemple. Calculer les coefficients de Bezout de 10 103 et 63 659.
Figure img00670001
<tb>
<tb> k <SEP> A <SEP> B <SEP> C <SEP> q
<tb> 0 <SEP> 1 <SEP> 0 <SEP> 63 <SEP> 659 <SEP> = <SEP> x <SEP> - <SEP>
<tb>
Figure img00670002

1 0 1 10 103 = y 6
Figure img00670003
<tb>
<tb> 2 <SEP> 1 <SEP> 6 <SEP> 3 <SEP> 041 <SEP> 3
<tb> 3 <SEP> 3 <SEP> 19 <SEP> 980 <SEP> 3
<tb> 4 <SEP> 10 <SEP> 63 <SEP> 101 <SEP> 9
<tb> 5 <SEP> 93 <SEP> 586 <SEP> 71 <SEP> 1
<tb> 6 <SEP> 103 <SEP> 649 <SEP> 30 <SEP> 2
<tb> 7 <SEP> 299 <SEP> 1 <SEP> 884 <SEP> 11 <SEP> 2
<tb> 8 <SEP> 701 <SEP> 4 <SEP> 417 <SEP> 8 <SEP> 1
<tb> 9 <SEP> 1 <SEP> 000 <SEP> 6301 <SEP> 3 <SEP> 2
<tb> 10 <SEP> 2 <SEP> 701 <SEP> 17 <SEP> 019 <SEP> 2 <SEP> 1
<tb> 11 <SEP> = <SEP> L <SEP> 3701=AL <SEP> 23 <SEP> 320 <SEP> = <SEP> BL <SEP> 1 <SEP> = <SEP> CL <SEP> 2
<tb>
Figure img00670004

12 10 103 = y 63 359 = x 0 - Les calculs sont plus simples que les explications.
23 320 . 10 103 = 235 601 960 3 701 . 63 659 = 235 601 959 23 320 . 10 103 - 3 701 . 63 659 = 1 2. 1.2. Inversion (mod n) L'algorithme d'Euclide calcule aussi l'inverse (mod x). Bien entendu, la suite {A}est alors inutile. Lorsque y est positif, que x est plus grand que y et
Figure img00670005

que x et y sont premiers entre eux, c'est-à-dire, CL = pgcd(x, y) = 1, les
<Desc/Clms Page number 68>
notations y ' (mod x) et 1/y (mod x) ont un sens.
Lorsque L est impair, l'inverse de y (mod x) est égal à BL.
Lorsque L est pair, l'inverse de y (mod x) est égal à x - BL' Dans l'exemple ci-dessus, 23 320 est l'inverse de 10 103 (mod 63 659).
2. 2. Charge de travail et méthode des restes chinois La charge de travail pour élever x à la puissance v ième (mod Il) dépend de la valeur et de la forme binaire de l'exposant v, de la taille de l'argument x et de la taille du module n. Dans le cadre de ce mémoire, l'exposant v est plus petit que le plus petit facteur premier du module n.
L'utilisation des facteurs premiers p1, p2, ... d'un module n diminue la charge de travail pour calculer (modn). Plutôt que l'opération directe élever x à la puissance v ième (mod n) , on peut avantageusement élever x à la puissance v ième dans chacun des corps CG(p,), CG(p,), ... c'est-à-
Figure img00680001

dire, (mod p,), (mod p2), ... puis, établir le résultat dans l'anneau Zn, c'est-à- dire, (mod n = p1 fois p2 fois ...). Cette manière de procéder est appelée la méthode des restes chinois. 2. 2.1. Multiplication et carré (mod n) En pratique, avec des programmes optimisés, le rapport entre la charge de travail pour un carré modulo et la charge de travail pour une multiplication modulo est environ 0,75. Par exemple, sur le composant ST 16601 pour carte à puce, avec une horloge normalisée à 3,579545 MHz, le carré modulo pour 512 bits se fait en 150 ms et la multiplication modulo en 200 ms.
Pour effectuer une opération multiplication modulo , on peut multiplier, puis, réduire : l'opération de multiplication demande à peu près autant d'effort que l'opération de réduction modulo.
La multiplication de deux nombres de 512 bits peut se ramener à des multiplications de nombres de 256 bits. Chaque nombre de 512 bits s'écrit alors a+2256.b où a et b sont des nombres de 256 bits. La multiplication de
<Desc/Clms Page number 69>
a+2256.b par c+2256.d amène à calculer les quatre produits a.c, a.d, b.c et b.d. En doublant la longueur, on multiplie par quatre la charge de travail pour multiplier. Le carré de a+2256.b amène à calculer les deux carrés a2, b 2 et le produit a.b. En doublant la longueur, on multiplie par trois la charge de travail pour élever au carré.
De même, la multiplication de deux nombres de 512 bits peut se ramener à des multiplications de nombres de 171 bits. Chaque nombre de 512 bits
Figure img00690001

s'écrit alors a+2"'.b+2'4z.c où a, b et c sont des nombres de 171 bits. La multiplication de 2171 b 2342 par d+2"'.e+2;z.f amène à calculer neuf. En doublant la longueur, on multiplie par neuf la charge de travail pour
Figure img00690002

multiplier. Le carré de a+2m .b+2#2 .c amène à calculer trois carrés et trois produits. En doublant la longueur, on multiplie par six la charge de travail pour élever au carré.
2. 2.2. Elever x à la puissance v ième (mod n) Prenons en exemple la valeur v = 3, puis, la valeur v = 65537.
Pour v = 3, c'est-à-dire, 2+1, il faut élever l'argument au carré (mod n), puis, multiplier le résultat par l'argument (mod n).
Pour v = 65 537, c'est-à-dire, 216+1, il faut élever l'argument au carré (mod n) seize fois de rang, puis, multiplier le résultat par l'argument (mod n).
2. 2.3. Méthode des restes chinois Lorsque x et y sont deux entiers positifs premiers entre eux, les calculs suivants transforment une représentation à une composante (mod x.y) en une représentation à deux composantes (mod x) et (mod y).
Figure img00690003

as --- a X) (mod x) et ay = ax (mod y) Voyons maintenant comment réaliser l'opération inverse, c'est-à-dire, comment calculer la représentation à une composante (mod x.y) connaissant la représentation à deux composantes (mod x) et (mod y). La technique décrite ci-dessous est connue comme la méthode des restes chinois.
<Desc/Clms Page number 70>
Supposons x plus grand que y. Tout d'abord, réduisons x (mod y), puis, inversons le résultat (mod y).
Figure img00700001

 = {x (mod y) }- (mod y) Ensuite, réduisons la composante ax (mod y). a'x = ax(mod y) Le résultat cherché s'obtient alors par l'une des deux formules suivantes.
Lorsque ay est supérieur ou égal à a'x,
Figure img00700002

ax y --- f , . (ay -a') (mod y) } . x + ax Lorsque ay est inférieur à a'z, a X} =={À.(a + y - a'x) (mod y) 1. x + as Dans le cadre de ce mémoire, l'exposant v est plus petit que le plus petit facteur premier du module n. Il n'y a donc pas donc de réduction de l'exposant v en fonction des différents facteurs premiers du module n. Par rapport au calcul direct de élever x à la puissance v ième (mod n) où l'argument x et le module n ont la même taille, la méthode des restes chinois divise la charge de travail - par deux lorsque le module n a deux facteurs premiers p, et p2 de même taille, - par trois lorsque le module n a trois facteurs premiers p1, p2 et p3 de même taille, et ainsi de suite.
On peut généraliser la méthode précédente ; ainsi, la procédure suivante
Figure img00700003

calcule x" (mod n) pour un exposant v = 2' +v,~v2'~l + ... vJ.2 + Vo où chaque bit de vi-1 à vo vaut 0 ou 1.
1. Donner à y la valeur x.
2. Répéter la séquence suivante pour k allant de i-1 à 0.
Remplacer y par y2(mod n).
Si le bit vk vaut 1, remplacer y par x.y (mod n).
3. Le résultat cherché est y.
<Desc/Clms Page number 71>
Selon la procédure précédente, le calcul peut se faire par log2(v) carrés (mod n) entrelacés avec h(v) multiplications (mod n). La notation h(v) représente un de moins que le poids de Hamming de v, c'est-à-dire, que l'écriture de v en binaire comporte h(v)+l bits à 1.
Figure img00710001
Pour un module ra de 512 bits, cela signifie log2(v) carrés (mod n sur 512 bits) et h(v) multiplications (mod n sur 512 bits).
Pour un module n de 256 bits, cela signifie log2(v) carrés (mod n sur 256 bits) et h(v) multiplications (mod n sur 256 bits).
Pour un module n de 171 bits, cela signifie log2(v) carrés (mod n sur 171 bits) et h (v) multiplications(mod n sur 171 bits).
2. 3. Calcul du symbole de Jacobi Le calcul du symbole de Jacobi d'un entier positif k par rapport à un entier positif impair n plus grand que k se déroule selon la procédure suivante qui utilise cinq variables appelée x, y, z, e et J. Cette procédure n'utilise pas la décomposition de n en facteurs premiers.
# La variable x est positive et impaire, strictement décroissante à partir de la valeur initiale n.
# La variable y est positive et inférieure à x, strictement décroissante à partir de la valeur initiale k.
# La variable z est positive, impaire et inférieure à y.
# La variable e est l'exposant du facteur 2 extrait de y. Seule sa parité doit être évaluée.
# La variable J vaut +1 ou -1 en partant de la valeur initiale +1.
Calcul pratique de (k # n) avec k positif et n impair et plus grand que k
1. Donner à x la valeur n ; donner à y la valeur k ; donner à J la valeur +1.
2. Décomposer y en z.2e où z est impair et positif et e positif ou nul.
Figure img00710002
(y 1 x) = (z. 2e 1 x) = (z 1 x) . (2 1 x)' Si e est impair et si x = 3 ou 5 (mod 8), changer le signe de J.
<Desc/Clms Page number 72>
3. Appliquer la loi de réciprocité quadratique sur z et x qui sont tous deux impairs.
Figure img00720001

(z 1 x) = (x 1 z) . (-1 )('-1) (z-I)14 Si x et z = 3 (mod 4), changer le signe de J.
4. Réduire x qui est toujours plus grand que z.
# Remplacer y par x (mod z).
# Remplacer x par z.
5. Si x est plus grand que 1, revenir à l'étape 2.
Si x est égal à 1, alors le symbole de Jacobi vaut J et k et n sont premiers entre eux.
Si x est nul, alors le symbole de Jacobi est nul et le pgcd de k et n est égal à z.
Exemple. Calculer (10 103 # 63 659), c'est-à-dire, (2777 1 F8AB) en notation hexadécimale.
On retrouve les divisions successives de l'algorithme d'Euclide et le calcul du pgcd. Le décalage de ligne matérialise l'extraction du facteur 2. Le symbole * matérialise le changement de signe de J.
Figure img00720002

q C C (mod 8) J change 63 659 = x 3 6 10 103 = y 7 * 3 3041 1 980 4 12 245 5 2 101 5 2 43 3 2 15 7 *
<Desc/Clms Page number 73>
Figure img00730001

1 13 5 2 2 * 13 1 1 Par conséquent, (10 103 # 63 659) = -1.
2. 4. Racines carrées sur le corps CG(p)
Figure img00730002

Lorsque c(pI)/2 (mod p) vaut +1, l'équation x2 --- c (mod p) a deux solutions dans le corps de Galois CG(p) ; ces deux solutions sont appelées racines carrées de c (mod p) .
2. 4.1. Cas où le nombre premier p est de la forme 4.i+3 Ce cas est simple. Lorsque p est congru à 3 (mod 4), (p+1)/4 est un nombre
Figure img00730003

entier ; les deux racines carrées de c (mod p) sont alors x == :!:C(P+lf4 (mod p).
2. 4.2. Cas où le nombre premier p est de la forme 4.i+l Il faut d'abord trouver une valeur convenable du paramètre S, c'est-à-dire, une valeur telle que A = S2-4.c soit un résidu non quadratique (mod p). On ne connaît pas d'autre façon de procéder que par essais successifs. En pratique, on part de S = 1, puis, on fait croître la valeur de S.
Puis, les relations suivantes sont utilisées pour calculer les suites {U} et {V} ensemble.
Figure img00730004
Pour doubler l'indice, tl2.i = u.v; v2. = v2 - 2.c' Pour ajouter 1 à l'indice, Ui + = (S.u, + v, )/2; V+l = (8.u + S.v )l2 La procédure utilise trois variables : x pour u@, y pour v@et z pour c'. L'indice cible est (p+l)/2 ; il est codé par une séquence de j bits. Cette séquence est examinée du bit de poids fort au bit de poids faible.
1. Donner à x la valeur 0 ; à y la valeur 2 ; à z la valeur 1.
2. Répétera fois la séquence suivante.
Remplacer x par x.y (mod p).
Remplacer y par y2- 2.z (mod p)
Remplacer z par z2 (mod p).
<Desc/Clms Page number 74>
Si le j ième bit codant l'indice cible vaut 1, exécuter la séquence suivante.
Remplacer t par x.
Remplacer x par (S.t + y)/2 (mod p).
Remplacer y par (S.t+ #.y)/2 (mod p)
Remplacer z par z.c (mod p).
3. Remplacer y par y/2 (mod p). Le résultat cherché est y.
2. 5. Carré et racine carrée dans Q Dans ce paragraphe, le module n est le produit de deux facteurs premiers p,
Figure img00740001

et p2 congrus à 3 (mod 4). Dans ce cas, (Pl+l)!4 et (p2+l)/4 sont des nombres entiers.
Définissons la notation (mod* n) . Cette opération consiste à calculer normalement le résultat x (mod n), puis, à garder x ou n-x, le plus petit des deux, comme résultat final.
Lorsque le module n est le produit de deux facteurs premiers p, et p2 congrus à 3 (mod 4), définissons la notation Qn . C'est l'ensemble des éléments de l'anneau des entiers (mod n) qui sont plus petits que n/2 et dont le symbole de Jacobi par rapport à n vaut +1. L'ensemble Qn a une structure d'anneau.
Considérons une première transformation définie par élever un élément x de Qn au carré (mod* n) . Le résultat y appartient également à Qn. y#x2 (mod * n) Considérons une deuxième transformation définie par élever y à la
Figure img00740002

puissance (p,+l)/4 (mod pu) , puis, élever y à la puissance (p2+1)/4 (modp,) , avant d'utiliser la méthode des restes chinois pour établir le résultat z (mod* n). Lorsque p1 est plus petit que p,, les calculs sont très précisément les suivants.
Figure img00740003

y, y (mod pl ); z, YI (Pl+I)/4( mo d ) Pl Yz = Y (mod p2 ) Z2 == Y2 (p2+1)/4( (mod P2)
<Desc/Clms Page number 75>
Figure img00750001

z' = z2 (mod pl); Si zl >- z', z"= zl -z'; Sinon, z"= zl + pi -z' = fP2 (modpl)r1 (modpl); z1,2 --- ..z" (mod pl )p2 + z2; z --- z1,2 (mod * n) Ces deux transformations sont inverses l'une de l'autre. Leur produit est l'identité parce que le résultat z rétablit le nombre x de départ. Ce sont deux permutations, inverses l'une de l'autre, des éléments de Qn.
La première permutation calcule le carré y dans Qnde l'élément x de Qn .
La deuxième transformation calcule donc la racine carrée x dans Qn de l'élément y de Qn .
Par la suite, on aura besoin de la k ième racine carrée de y dans Qn, c'est-à-dire, de la solution x dans Qn à l'équation : y#x2k-n (mod * n) Plutôt que d'extraire k racines carrées de rang dans Qn, il vaut mieux procéder globalement de la manière suivante. Cette remarque fut faite en son temps par Oded Goldreich.
Figure img00750002

y,=-y(modpl); z = (pi + 1) / 4; t=zk k (mod pl -1); xl --- yi (mod) Y2 = Y (mod p2 ); z = (p2 + 1) I4; t = zk (mod p2 -1); x2=y'2 (mod p2 ) x'=x2 (mod pl ); Si xl >- x', x"= xi - x'; Sinon, x"= xl + pl - x' = fP2 (mod/?!)}"1 (mod/?!); x1,2 = i.x" (mod pl )p2 + x2 x = x1,2 (mod * n) 2. 6. Nombres de Williams et Racine carrée de 4 dans Qn Hugh C. Williams a découvert l'intérêt cryptographique des modules n, produits de deux facteurs premiers p1 et p2 tels que p1 soit congru à 3 (mod 8) et p, à 7 (mod 8).
Lorsque le module n est le produit de deux facteurs premiers p, et P2 tels que
Figure img00750003

p, soit congru à 3 (mod 8) et P2 à 7 (mod 8), on obtient (2 1 p) = -1 et (2 P2) = +1, c'est-à-dire que 2 est un résidu non quadratique (mod p,) et un résidu quadratique (mod p2); donc, ni 2 (mod n), ni-2 (mod n)
<Desc/Clms Page number 76>
n'appartiennent à Qn.
Par la suite, a dénotera la racine carrée de 4 dans Qn. Cette racine est
Figure img00760001

représentée par les composantes : ail -2 (mod p,) et a2=2(mod pz) ou bien par al == 2 (mod p) et a, -2 (mod P2); c'est l'élément dont la représentation (mod n) est plus petite que n/2.
Il y a alors équivalence entre la connaissance du nombre a et la connaissance de la factorisation du module n.
Démonstration.
D'une part, étant donné a, le module n divise [alpha]2-4; mais le symbole de Jacobi de (7 par rapport à n vaut +1alors que celui de 2 vaut -1 ; le module n ne divise donc ni a-2, ni a+2. Par conséquent, le facteur premier p2 est le plus grand commun diviseur de n et a-2 ; le facteur premier p1 est le plus grand commun diviseur de n et [alpha]+2.
D'autre part, étant donnés les facteurs premiers p1 et p2, la racine carrée de 4
Figure img00760002

dans Qn est représentée par les composantes : or, = -2 (mod p,) et bzz 2 (mod p2), ou bien, a, 2 (mod p,) et a2 -2 (mode). Selon les restes chinois, on reconstruit a.
Shafi Goldwasser, Silvio Micali et Ronald Rivest ont introduit la paire de
Figure img00760003

fonctions { Fo ; Fez sur Qn.
Fo(x) == x2 (mod* n) et F(x) 4.x2 (mod* n) Cette paire de fonctions permute les éléments de Q .
Une collision est définie par deux éléments x et y de Qn tels que Fo(x)= F,(y). Connaître une collision équivaut à connaître les facteurs premiers du module n. La démonstration est semblable à la démonstration ci-dessus. Par conséquent, cette paire de permutations résiste aux collisions pour qui ne connaît pas les facteurs premiers p1 et P2 du module n.
Nous disposons donc de tous les ingrédients nécessaires à une démonstration de la connaissance de la factorisation d'un module public n
<Desc/Clms Page number 77>
sans en transférer la connaissance.
Deuxième partie : nouveau procédé 1. Exposé du nouveau procédé Le procédé est destiné à prouver l'origine et l'intégrité d'un message numérique m, lequel message peut être vide. Ce procédé permet l'authentification d'entité, l'authentification de message ou la signature de message.
1. 1. Paramètres Le procédé met en ûuvre un premier ensemble de nombres entiers, à savoir, au moins deux facteurs premiers notés par p1 p2 p3 ... Certains facteurs premiers peuvent apparaître plusieurs fois. Le produit des facteurs premiers
Figure img00770001

forme un module public n=p{.p2(. p3 ...). un jeu de paramètres des restes chinois notés. Aa Ab Ac .... Il y a un paramètre de moins que de facteurs premiers.
Attention, il y a plusieurs jeux de paramètres équivalents. Supposons que les grands nombres premiers sont rangés dans l'ordre croissant, s'il y a trois nombres premiers, p3 est plus petit que p1 fois p2, s'il y a quatre nombres premiers, p4 est plus petit que p1 fois p2 fois p3, et ainsi de suite.
Dans ce cas, voici un exemple de jeu de paramètres des restes chinois.
Figure img00770002
Àa =(P2 (mod pl ))-1 (mod pl ) Àb = Pl -P2 (mod p3 ))-I (mod P3 ) ~ ((pi p2 p3 (mod P4 -1 (mod pa )
Et ainsi de suite.
Le procédé met en ùuvre un deuxième ensemble de nombres entiers, à savoir, au moins un exposant public de vérification noté par v, et, pour chaque exposant v, au moins une paire de clés selon la présente invention comprenant une clé privée notée par Q et une clé publique notée par G. Une
<Desc/Clms Page number 78>
des deux relations suivantes lie chaque paire de clés selon la présente invention par les nombres v et n.
G.Qv 1 (mod n) ou bien G Qv (mod n) En l'absence de toute ambiguïté, en particulier, s'il y a un seul exposant public de vérification v, on utilise la notation (G, Q), puis, si besoins est, (GA, QA), (GB, QB), (GC, QC), ...
Avec plusieurs exposants publics de vérification vx vy vz ..., on utilise en outre la notation (Gx, Qx), (Gy, Qy), ..., puis, si besoins est, (GxA, QxA), (GxB, QxB),... (GyA, QyA), (GyB, QyB),...
En pratique, chaque clé privée Q n'est jamais utilisée telle quelle.
On utilise uniquement un jeu de composantes Q1 Q2 Q3 ..., une composante par facteur premier.
Figure img00780001
Q1 = Q (mod pl ); Q2 - Q (mod p2 ); Q3 = Q (mod p3 ); et ainsi de suite.
Par la méthode des restes chinois, on pourrait rétablir chaque clé privée Q à partir du jeu de composantes Q1 Q2 Q3 ...,. En pratique, il n'y a jamais lieu de rétablir les clés privées Q.
Figure img00780002
Qu = Q2 (mod pl ); Si a>Op&=a-0à; Sinon, =0i+i-; QI,2 == a .Q (mod Pl) }P2 + Q2 Qb - Q1,2 (mod P3); Si Q3 Q, Q = Q3 - Q; Sinon, Qb = Q3 + p3 - Qb QI,2,3 b -Q (mod P3)\Pl-P2+Ql,2>
Et ainsi de suite. Q est égal à QI,2,3,.,.
1. 1.1. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la clé privée Q Les composantes Q1 Q2 Q3 ... sont des nombres pris au hasard tels que
Figure img00780003

0<(<;?,, 0 < QZ < pz, 0 < Q3 < p3, ... Il y a une composante par facteur
<Desc/Clms Page number 79>
premier. En pratique, pour réduire la charge de travail, on choisit des composantes Q1 courtes , c'est-à-dire, de l'ordre de grandeur de la racine troisième ou quatrième du facteur premier p,.
Note. L'ensemble de ces composantes représente une clé privée Q. La clé privée Q n'est jamais utilisée telle quelle.
Figure img00790001
*Qa = Q2 (mod pl ) Si Q, Qa, Qu = Q - Qa Sinon, Qu = Q + p1 - QU Ql,2 = a .Q (mod pl ) p2 + Q2 Qb #Q1,2 (mod P3);
Figure img00790002

Si Q3 >~ Qb , Q6 = Q3 - Qb Sinon, Qb = Q3 + p3 - Qb Qt,2,3 = Cb Qb (mod p3 ) pl .p2 + Q1,2 ;
Et ainsi de suite. Q est égal à Q1,2,3,...
La clé publique G est la puissance v ième de Q (mod n) ou bien son inverse (mod n).
Figure img00790003
G = Q' (mod n) ou bien G = { Q'' (mod n) 1 -' (mod 11) Note. En pratique, pour calculer le nombre G, on élève chaque nombre Q, à la puissance v ième (mod p@), ... , puis, on utilise la méthode des restes chinois pour établir le résultat (mod n) ou son inverse (mod n).
Figure img00790004
Gl = Qi (mod pl ); G2 --- Q2 (mod p2 ) ; Ga --- G2 (mod pl ); Si G, >~ GG, G: =G-G; Sinon, Gü = G, + pi - Gu ; G1,2 ={1a.G (mod Pi ) \pi + G2 ; Gb --- G1,2 (mod p3 ) ; G3 = Q3 (mod P3) Si G3 >~ G, G =G3 -Gb; Sinon, G G3 + P3 - G; G1,2,3 = {1b.G (mod P3) }PI,P2 + GI,2;
Et ainsi de suite. G est égal à G1,2,3,... ou bien, à son inverse (mod n).
Lorsque le nombre entier v est premier, on assure la propriété de sécurité annoncée.
<Desc/Clms Page number 80>
1. 1.2. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n L'exposant public de vérification v est égal à 2k. Le nombre entier k est un paramètre de sécurité plus grand que 1. La valeur k = 1 est interdite.
Chaque nombre g est un entier inférieur au plus petit facteur premier. En outre, pour au moins un facteur premier p, l'équation x 2 = g (mod p) n'a pas de racine en x dans CG(p).
Note. Cette construction assure que le nombre g est un résidu non quadratique (mod n).
Note. En pratique, on utilise pour g les nombres 2,3, 5,6, ... en éliminant bien s#r les carrés tels que 4, 9, ...
Note. Il n'est pas recommandé d'utiliser 6 en même temps que 2 et 3 parce qu'ils se combinent par multiplication. On dit qu'ils ne sont pas indépendants. Il vaut mieux utiliser 2 et 3 et laisser tomber 6. Pour chaque nombre g, la clé publique G est égale à g2.
Pour chaque nombre g, chaque composante Q1 Q2 Q3 ... est la k ième racine carrée de G dans CG(p) qui est un résidu quadratique dans CG(p). Il y a une composante par facteur premier.
Exemple de calcul de la k ième racine carrée quadratique de G dans CG(p) On pourra utilement consulter l'appendice 3, Quadratic Residues , pp.
278-288, dans l'ouvrage Prime Numbers and Computer Methods for Factorization , Hans Riesel, Birkh%ouser, Boston, Basel, Stuttgart, 1985.
Pour chaque facteur premier p congru à 3 (mod 4), on élève k fois de rang G à la puissance (p+1)/4 pour obtenir la k ième racine carrée quadratique de G dans le corps CG(p) ; puis, on inverse ou non le résultat (mod p) pour obtenir la composante Q, pour le facteur premier p,.
Note. Plutôt que d'extraire k racines carrées successivement, on peut procéder de manière globale.
<Desc/Clms Page number 81>
Figure img00810001

x = ( p + I) l 4; y = xk (mod p -1 ); z = p -1- y; Q p ==gaz (mod p); par conséquent, p divise G.Qp2k -1. ou bien,
Figure img00810002

x=(p+1)l4; y=xk (mod/7-1); z = y; Bzz (mod p); par conséquent, p divise Qp2@-G.
Pour chaque facteur premier p congru à 1 (mod 4), on utilise les suites de Lucas pour extraire les racines carrées successives, jusqu'à obtenir la k ième racine carrée de G dans le corps CG(p), avant d'inverser ou non le résultat (mod p) pour obtenir la composante Qi pour le facteur premier pi.
Figure img00810003
Par conséquent, p divise Gaz -1 ou bien, Q2 - G. Les clés G et Q sont deux résidus quadratiques (mod n). La paire de clés selon la présente invention vérifie l'une des deux relations suivantes.
G.Q2k = 1 (mod n) ou bien, Q2k#G (mod n) Exemples de paires de clés selon la présente invention et de contraintes sur les facteurs premiers On peut utilement consulter le chapitre 3, Quadratic Residues , pp. 35- 46, dans l'ouvrage Introduction to Number Theory , Hua Loo Keng, Springer Verlag, Berlin, Heidelberg, 1982.
# (2 p) = +1lorsque p est congru à 1 (mod 8).
(2 p) = -1 lorsque p est congru à 3 (mod 8).
Pour utiliser g = 2, c'est-à-dire, la clé publique G = 4, il suffit qu'un facteur premier soit congru à 3 (mod 8). Alors, le nombre 2 est un résidu non quadratique modulo n.
# (3 p)= +1lorsque p est congru à 1 (mod 12).
(3 p)= -1 lorsque p est congru à 5 (mod 12).
Pour utiliser g = 3, c'est-à-dire, la clé publique G = 9, il suffit qu'un facteur premier soit congru à 5 (mod 12). Alors, le nombre 3 est un résidu non quadratique modulo n.
# Le nombre g = 4 est un carré ; il n'est donc pas utilisé.
<Desc/Clms Page number 82>
# (5 p)= +1 lorsque p est congru à 1 (mod 5).
(5 p)= -1 lorsque p est congru à 2 (mod 5).
Pour utiliser g = 5, c'est-à-dire, la clé publique G = 25, il suffit qu'un facteur premier soit congru à 2 (mod 5). Alors, le nombre 5 est un résidu non quadratique modulo n.
# (6 p) = +1lorsque p est congru à+1ou 5 (mod 24).
(6 p)= -1 lorsque p est congru à 7 ou ~11(mod 24).
Pour utiliser g = 6, c'est-à-dire, la clé publique G = 36, il suffit qu'un facteur premier soit congru à 7 ou ~11(mod 24). Alors, le nombre 6 est un résidu non quadratique modulo n.
# (7 p)= +1lorsque p est congru à 1, 3 ou 9 (mod 28).
(7 p)= -1 lorsque p est congru à 5, 11 ou 13 (mod 28).
Pour utiliser g = 7, c'est-à-dire, la clé publique G = 49, il suffit qu'un facteur premier soit congru à 2 (mod 5). Alors, le nombre 7 est un résidu non quadratique modulo n.
Note. Tous les témoins peuvent utiliser le même jeu de clés publiques GA, GB, GC, GD,... , par exemple, 4,9, 25 et 49, moyennant des contraintes élémentaires sur la sélection des facteurs premiers. Ces contraintes sont pratiquement gratuites lorsqu'elles sont intégrées aux procédures de production des facteurs premiers.
1. 1.3. Généralisation de la structure précédente Le nombre a est un nombre impair. Il doit diviser au moins un facteur premier moins un.
Note. En pratique, on donne au nombre a les valeurs des nombres premiers à partir de 3, soit : 3, 5, 7, 11, ...
L'exposant public de vérificationv est égal à ak. Le nombre entier k est un paramètre de sécurité plus grand que 1. La valeur k = 1 est interdite.
<Desc/Clms Page number 83>
Chaque nombre g est un entier inférieur au plus petit facteur premier. En outre, pour au moins un facteur premier? tel que a divise p-1, l'équation xa#g (mod p) n'a pas de racine en x dans CG(p).
Note. Cette construction généralise les résidus non quadratiques (mod n).
Par exemple, dans le cas a = 3, on dit que le nombre g est un résidu non cubique (mod n). Dans le cas général, on parle de résidu non a dique (mod n).
Note. En pratique, on donne au nombre g les valeurs 2,3, 4,5, ... en éliminant les puissances a ièmes.
Pour chaque nombre g, la clé publique G est égale à g@.
Pour chaque nombre g, chaque composante Q1 Q2 Q3 ... est la k ième racine a ième de G dans CG(p) qui est un résidu a dique dans CG(p). Il y a une composante par facteur premier.
Exemple de calcul de la k ième racine troisième de G dans CG(p) qui est un résidu cubique dans CG(p).
Pour chaque facteur premier p congru à 2 (mod 3), on élève k fois de rang G à la puissance (p-2)/3 pour obtenir la k ième racine a ième de G dans le corps CG(p) ; puis, on inverse ou non le résultat (mod p) pour obtenir la
Figure img00830001

composante Q, pour le facteur premier p,. Note. On peut procéder de manière globale pour accéder directement au résultat cherché.
Figure img00830002

x=(p-2)/3; y=xk (mod p -1 ); z = y; Q p --~ Gz (mod p); par conséquent, p divise Q pK - G. x=(p-2)/3; y---xk (modp-1); z= p-1-y; Qp=Gz (mod p); par conséquent, p divise G.Qp3k -1.
Pour chaque facteur premier p congru à 1 (mod 3),
Figure img00830003

pdivise G. -1 ou bien Qpn -G. 1. 2. Entités
<Desc/Clms Page number 84>
Le procédé met en ûuvre les trois entités suivantes.
Une première entité témoigne ; elle est appelée témoin.
Figure img00840001

Le témoin dispose d'au moins deux facteurs premiers p, p, P3 ... Le témoin dispose également d'un jeu de paramètres des restes chinois #a #b ... ; chaque paramètre peut être calculé à l'avance ou bien rétabli à chaque appel au témoin, selon les compromis en termes de calcul et de mémoire.
Le témoin dispose de l'exposant public de vérification v.
Le témoin dispose également d'au moins un jeu de composantes QA1 QA2
Figure img00840002

QA3 ..., QBI QB2 QB3 ... ; chaque composante peut être calculée à l'avance ou bien rétablie à chaque appel au témoin à partir des clés publiques GA, GB,... et des facteurs premiers p1 p2 p3 ... selon les compromis en termes de calcul et de mémoire.
Note. Chaque jeu de composantes Q1 Q2 Q3 ... représente une clé privée Q. Chaque paire de clés selon la présente invention est liée aux nombres v et n par l'une des deux relations suivantes.
G.Qv =- 1 (mod n) ou bien G Qv (mod n) Note. Le témoin n'utilise ni le module public n, ni la clé privée Q.
Une deuxième entité pilote le témoin.
S'il s'agit d'une authentification, c'est-à-dire, d'une preuve interactive de connaissance, l'entité qui pilote le témoin est appelée démonstrateur.
En cas d'authentification d'entité, le démonstrateur n'a pratiquement rien à faire.
En cas d'authentification de message, le démonstrateur dispose d'une fonction de hachage f.
S'il s'agit d'une signature numérique de message, c'est-à-dire, d'une preuve non interactive de connaissance, l'entité qui pilote le témoin est appelée signataire ; le signataire dispose de l'exposant public de vérification v et d'une fonction de hachage f.
<Desc/Clms Page number 85>
Une troisième entité vérifie ; elle est appelée contrôleur. Selon le cas, le contrôleur vérifie l'authentification ou la signature ; il dispose du module public n, de l'exposant public de vérification v, des clés publiques GA, GB, ... et de la fonction de hachage f.
1. 3. Etapes Le procédé comporte les étapes suivantes.
Etape 1. Engagement du témoin #A chaque appel, pour chaque exposant public de vérification vx vy vz ..., le témoin tire au hasard et en privé au moins un jeu de nombres entiers :
Figure img00850001

pour chaque facteur premier PI' chaque jeu comporte un nombre entier r, positif et plus petit que/;,. Ces nombres entiers sont ensuite appelés les aléas r1 r2 r3 ...
Figure img00850002

0<rl <pl; 0<r2 < 2; 0 < r3 < P3; Pour chaque exposant public de vérification vx vy vz ..., et pour chaque facteur premier pi, le témoin élève chaque aléa r, à la puissance v ième (mod pi).
Figure img00850003
R1 --- ri (mod pl ); R2 = r2 (modp2); R3 = r3 (mod p3 ); Puis, le témoin établit chaque engagement R (mod n) selon la méthode des restes chinois.
Ra'#R2 (mod pl);
Figure img00850004

Si RI "2:. Ra', Ra"=Ri-Ra\ Sinon, Ra"=Rl + pl ~ Rü'; RI,2 {Àa.Ra" " (mod Pl )}/72 + R2 R =. Ria (mod P3); Si R3 "2:. Rb, Rb = R3 - Rb; Sinon, Rb = R3 + p3 - Rb ; Rl,z,3 --- ,b .Rb (mod P3)JP1,P2 +RI,2;
Et ainsi de suite. R est égal à R1,2,3...
Pour chaque exposant public de vérification vx vy vz ..., il y a autant
Figure img00850005

d'engagements R que de jeux d'aléas rI rz r3
<Desc/Clms Page number 86>
Etape 2. Défi au témoin
En cas d'authentification d'entité, le démonstrateur transmet tout ou partie de chaque engagement R au contrôleur ; après avoir reçu tout ou partie de chaque engagement R, le contrôleur produit au moins une séquence de nombres de 0 à v-1 pris au hasard.
En cas d'authentification de message, le démonstrateur applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir un jeton
T à transmettre au contrôleur, après avoir reçu le jeton T, le contrôleur produit au moins une séquence de nombres de 0 à v-1 pris au hasard.
En cas de signature numérique de message, le signataire applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir au moins une séquence de nombres de 0 à v-1.
Dans les trois cas, pour chaque exposant public de vérification vx vy vz ..., chaque séquence comporte autant de nombres de 0 à v-1 qu'il y a de paires de clés selon la présente invention ; dans chaque séquence, les nombres sont notés par dA, dB, ... Chaque séquence de nombres de 0 à v-1 est ensuite appelée défi d. Pour chaque exposant public de vérification vx vy vz ..., il y a autant de défis d que d'engagements R.
Etape 3. Réponse du témoin au défi
Pour chaque exposant public de vérification vx vy vz ..., pour chaque facteur premier pi, le témoin calcule
Figure img00860001

la puissance dA ième de la composante QA (mod/7(), la puissance dB ième de la composante QB, (mod p,), le produit des résultats précédents par l'aléa r (mod p,) ;
<Desc/Clms Page number 87>
Figure img00870001

DI == rI.QA.QBdB... (mod PI); D2 = r2 .QAf .QBfB... (mod p2); D3 --- Y3 .QA .QB3 B ... (mod p3 ); # Puis, pour chaque exposant public de vérification vx vy vz ..., le témoin établit au moins une réponse D (mod n) selon la méthode des restes chinois.
Figure img00870002
Da ==D2 (mod pl ); Si D{>Da, Da=D{-Da; Sinon, Da=Dx + Pl-Da\ Dl,2 == a .D (mod p{)\p2+D2; Db =Dl2 (mod p3 ); Si D3>D'b, Db = D3 - Db ; Sinon, Db = D3 + p3 - Db ; Dl,2,3 == b .D (mod p3 )pl.p2 + DI,2
Et ainsi de suite. D est égal à D1,2,3...
Pour chaque exposant public de vérification vx vy vz ..., il y a autant de réponses D que de défis d.
Note. Chaque appel au témoin se traduit à l'interface par autant de triplets {R, d, D} que de jeux d'aléas r1 r2 r3 Remarquons qu'en élevant la réponse D à la puissance v ième (mod n), on doit retrouver l'engagement R divisé ou multiplié, selon l'équation retenue pour lier les paires de clés selon la présente invention aux nombres v et n, par la puissance dA ième de GA, la puissance dB ième de GB, ... Par conséquent, chaque triplet {R, d, D} doit vérifier l'une des deux relations suivantes.
Figure img00870003
R = GA.GBdB.... DV (mod n); ou bien R GA.GBdB.... --- D (mod n);
Etape 4. Données destinées au contrôleur En cas d'authentification d'entité ou de message, le démonstrateur transmet chaque réponse D au contrôleur.
En cas de signature numérique de message, le signataire transmet un message signé au contrôleur. Le message signé comprend le message m, ainsi que : * chaque défi d ou chaque engagement R,
<Desc/Clms Page number 88>
* chaque réponse D.
Etape 5. Vérification exercée par le contrôleur Note. On aurait pu tester ici le symbole de Jacobi de chaque réponse, à condition d'avoir forcé le symbole de l'aléa à l'étape 1. Cependant, il vaut mieux laisser tomber les symboles . II est bien plus économique d'accepter de perdre un bit de défi.
Note. L'une des deux relations suivantes reconstruit un engagement noté par R'.
Figure img00880001
R'= (GA dA .GBdB....) DV (mod n); ou bien R'= DV /(GA dA GB dB .... ) (mod n); En cas d'authentification d'entité, le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul.
Chaque engagement reconstruit R' doit reproduire l'intégralité des données transmises à l'étape 2, c'est-à-dire, tout ou partie de chaque engagement R.
Lorsque toutes les conditions sont remplies, l'authentification d'entité est réussie.
En cas d'authentification de message, le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul. Puis, il doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T'. Le jeton reconstruit T' doit être identique au jeton T de l'étape 2. Lorsque toutes les conditions sont remplies, l'authentification de message est réussie.
En cas de signature numérique de message, selon le cas, # le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul. Puis, il doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d'.
Chaque défi reconstruit d' doit être identique au défi d figurant dans
<Desc/Clms Page number 89>
le message signé. Lorsque toutes les conditions sont remplies, la signature est correcte.
# le contrôleur doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement R figurant dans le message signé pour reconstruire chaque défi d'. Puis, il doit appliquer la formule appropriée pour contrôler la cohérence de chaque triplet {R, d', D}. Chaque triplet doit être cohérent. Lorsque toutes les conditions sont remplies, la signature numérique est correcte.
2. Triplets Chaque appel au témoin se traduit par une collection de triplets à l'interface du témoin. Chaque triplet {R, d, D} comprend un engagement R, un défi d et une réponse D. Il y a deux manières de produire des triplets : une manière de produire en privé et une manière de produire en public.
# Le témoin produit en privé selon la chronologie suivante : à chaque appel, il fixe d'abord un nouveau jeu d'aléas qu'il transforme en un engagement R, puis, il produit la réponse D à n'importe quel défi d deOàv-1.
# N'importe qui peut produire en public selon la chronologie suivante : quel que soit le défi d de 0 à v-1, n'importe qui peut compléter le triplet à partir de n'importe quelle réponse D en établissant l'engagement R gr, ce aux nombres publics G, v et n.
3. Tenailles Par définition, deux triplets sont en tenaille lorsqu'ils sont constitués des deux réponses D et E à deux défis d et e pour le même engagement R, c'est-à-dire, {R, d, D} et {R, e, E}.
A chaque appel, le témoin est en position de produire des triplets en tenaille : il lui suffirait de réutiliser un jeu d'aléas. Mais il se garde bien des
<Desc/Clms Page number 90>
tenailles : en tirant au hasard un jeu d'aléas à chaque appel, il utilise en pratique chaque fois un nouveau jeu d'aléas.
3. 1. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la clé privée Q La connaissance de deux triplets en tenaille équivaut à la connaissance de la clé privée Q.
Démonstration.
Figure img00900001
D'une part, le témoin se configure à partir des facteurs premiers p, pz p3 de la clé privée Q et de l'exposant public de vérification v. Une fois configuré, le témoin peut produire une tenaille : il lui suffit d'utiliser deux fois le même jeu d'aléas.
D'autre part, deux triplets en tenaille se traduisent par les équations suivantes :
Figure img00900002

D = r.Qd (mod n) et E --- r.Qe (mod n) avec 0 <~ d < e < v
Par conséquent, E/D#Qe-d (mod n), avec 0 < e-d < Voyons comment calculer la clé privée Q à partir du rapport EID, lequel
Figure img00900003

vaut QT1 (mod n), c'est-à-dire l'une des v-1 valeurs {Q, Q2, Q3, ... <2' ' (mod n)}, sachant que Q" (mod n) est la clé publique G ou son inverse modulo n. La solution fait appel à l'identité de Bezout. Par définition, les coefficients de Bezout de v et de e-d sont les deux entiers k et l vérifiant les relations suivantes ; l'algorithme de division d'Euclide permet de les calculer efficacement.
Figure img00900004
0<-k<e-d; 0</<v; k.v - 1.(e - d) = pgcd(e - d, v) Dans le cas présent, v est premier et donc pgcd(e-d, v) = 1. Ce qui donne l'identité :
Figure img00900005

Qk v-l.(e-d) == Q:t1 (mod n) C'est-à-dire, (Qv)k l{Qe~d)1 = Q1 (mod n) * Lorsque G == QV (mod n) est utilisée, Gk I {El D)1 (mod n) vaut Q (mod n) ou son inverse modulo n.
<Desc/Clms Page number 91>
Figure img00910001

* Lorsque G.Q =1 (mod n) est utilisée, Gk.(ElD)l (modn) vaut Q (mod n) ou son inverse modulo n.
3. 2. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n Note. Cette démonstration se rapporte à la version précédente, c'est-à-dire, à la version qui tient compte du symbole de Jacobi. En effet, pourvu que le nombre g soit un résidu non quadratique pour un nombre impair de facteurs, en forçant le symbole de Legendre des aléas, on a toujours le même symbole de Jacobi pour les réponses.
Note. La présente version fait fi du symbole de Jacobi ; prix à payer est la perte d'un bit de défi par paire de clés selon la présente invention. Le procédé ne marche pas pour k = 1 ; tricheur a une stratégie gagnante totale. A partir de k = 2, le tricheur n'a plus qu'une stratégie gagnante partielle : il peut anticiper deux défis mais pas trois.
La connaissance de deux triplets en tenaille équivaut à connaître une décomposition en deux facteurs du module public n. C'est la factorisation complète s'il y a deux facteurs premiers. S'il y a plus de deux facteurs premiers, il y a factorisation partielle, c'est-à-dire, deux facteurs non tous deux premiers : d'une part, un produit de facteurs premiers par rapport auquel le symbole de Jacobi de g vaut-1 et, d'autre part, le produit des autres facteurs premiers.
Démonstration.
D'une part, le témoin se configure à partir des facteurs premiers p, p2 p3 du nombre public g et du facteur de sécurité k. Une fois configuré, le témoin peut produire une tenaille : il lui suffit d'utiliser deux fois le même jeu d'aléas.
D'autre part, deux triplets en tenaille se traduisent par les équations suivantes :
Figure img00910002

R =- Gd.D2 (mod n) et R Ge.E2k (mod n)
<Desc/Clms Page number 92>
Lorsque k vaut 1, le défi d se limite à un seul bit.
Introduisons une paire de fonctions {G0; G1}définie sur les éléments de l'anneau des entiers (mod n) dont le symbole de Jacobi par rapport à n vaut +1.
Go(x) x2 (mod n) et G,(x) G.x2 (mod n) Cette paire de fonctions généralise la paire introduite par Goldwasser, Micali et Rivest. La tenaille donne un nombre entier G.E2-D2 divisible par n. Le nombre entier G.E2-D2 est égal à g.E-D fois g.E+D. Or le symbole de Jacobi de g.E par rapport à n est-1 et celui de D est +1 ; donc, n ne divise ni g.E-D, ni g.E+D. Par conséquent, pgcd(n, g.E-D) et pgcd(n, g.E+D) sont deux facteurs non triviaux de n.
Lorsque k est plus grand que 1, le défi d est une séquence de k bits, représentant un nombre entier du bit de poids faible d(0) au bit de poids fort
Figure img00920001

d(k-1). Soit d = dl~1.2'-1 +...d1.2+do.
Composons la paire de fonctions { Go ; Gaz et étendons la notation en conséquence.
Gd o (G d 1 (...G dk -1 (x)...)) = Gd .(Gd' .(...Gdk-' .x2...)2)2 (mod n) == Gd .X2k (mod n) Gd (X) Les deux défis e et d sont deux séquences de k bits comportant trois parties : le même suffixe commun, éventuellement vide, sur les bits de poids faible, un bit de divergence à 0 dans un défi et à 1 dans l'autre défi, des préfixes quelconques, éventuellement vides, sur les bits de poids forts.
Le bit de divergence donne un nombre G.x2-y2 qui est divisible par n. Aucun des deux nombres g.x-y et g.x+y n'est divisible par n puisque g.x et y ont respectivement-1 et +1 comme symbole de Jacobi par rapport à n.
Par conséquent, pgcd(n, g.x-y) et pgcd(n, g.x+y) sont deux facteurs non triviaux de n.
<Desc/Clms Page number 93>
4. Sécurité du nouveau procédé D'une manière générale, la sécurité des protocoles sans transfert de connaissance s'analyse selon trois notions de base définies dans l'article de base de Shafi Goldwasser, Silvio Micali et Charles Rackoff.
Dans le cas qui nous intéresse, une entité proclame : - Voici un module n, un exposant de vérification v et une clé publique G; j'utilise la factorisation de n et je connais la clé privée Q. Par définition, lorsque l'entité connaît les facteurs premiers, c'est un témoin. A chaque appel, le témoin produit de manière privée un triplet que le contrôleur accepte. Par conséquent, la procédure est complète.
Par définition, lorsque l'entité ne connaît pas les facteurs premiers, c'est un tricheur. A chaque appel, le tricheur a une chance sur v de deviner le défi d (si les v défis sont équiprobables) ; peut donc anticiper un défi, n'importe lequel, et ainsi tromper le contrôleur ; s'il pouvait anticiper un deuxième défi après avoir produit l'engagement, il connaîtrait une paire de triplets en tenaille, ce qui contredit la définition du tricheur. Par conséquent, la procédure est robuste.
Note. La présente version fait fi du symbole de Jacobi ; prix à payer est la perte d'un bit de défi par paire de clés selon la présente invention. Le procédé ne marche pas pour k = 1 ; le tricheur a une stratégie gagnante totale. A partir de k = 2, le tricheur n'a plus qu'une stratégie gagnante partielle : il peut anticiper deux défis mais pas trois.
Quelle que soit la manière dont se comporte le monde extérieur, il reçoit seulement l'information que le témoin connaît les facteurs premiers. Plus précisément, quelle que soit l'information émise par le témoin, n'importe qui aurait pu la constituer sans interaction avec le témoin ; n'importe qui peut simuler les transmissions et produire un enregistrement qui reproduit les caractéristiques statistiques des informations recueillies lors d'une interaction avec le témoin. Durant l'interaction, un observateur ne peut pas
<Desc/Clms Page number 94>
distinguer un honnête témoin d'un faux témoin utilisant une liste de défis convenue à l'avance. Après l'interaction, un juge ne peut pas distinguer les deux types d'enregistrements. En effet, on ne peut pas distinguer un enregistrement de triplets produits de manière publique et un enregistrement de triplets produits de manière privée. Par conséquent, la procédure utilisée par le témoin ne laisse filtrer aucune information sur la valeur des facteurs premiers.
L'entité qui prouve pilote toujours le même témoin fonctionnant toujours de la même manière : le témoin utilise les facteurs premiers et la clé privée Q sans les révéler ; le témoin assure la protection des facteurs premiers et de la clé privée Q. Le contrôleur vérifie la clé privée Q sans en prendre connaissance. La procédure se déroule sans transfert de connaissance .
Certaines paires de clés selon la présente invention sont telles que la connaissance de la clé privée Q implique la connaissance de la factorisation du module n. Avec le nouveau procédé, la factorisation et la clé privée Q ne s'usent pas, même quand on s'en sert.
5. Performances du nouveau procédé avec v = 2k Dans cette évaluation, on fait l'hypothèse que la valeur de G est petite, par exemple, G = 4. La charge de travail du témoin et la charge de travail du contrôleur dépendent du niveau de sécurité recherché, c'est-à-dire du produit de deux nombres : le nombre j de triplets produits à chaque appel au témoin et la valeur donnée au paramètre de sécurité k moins un (en effet, on perd un bit de défi en laissant tomber le symbole de Jacobi).
Figure img00940001
Pour une authentification avec j. (k-1 ) = 16 avec j = 1, le témoin doit effectuer 17 carrés pour calculer l'engagement R, puis, en moyenne 16 carrés et 8 multiplications plus une multiplication pour calculer la réponse D, soit 41 opérations (mod n) ; cette charge est divisée par deux avec deux facteurs premiers, soit 20 opérations (mod n) ;
<Desc/Clms Page number 95>
cette charge est divisée par trois avec trois facteurs premiers, soit environ 14 opérations (mod n) ; et ainsi de suite. le contrôleur doit effectuer 17 carrés (mod n).
Pour une signature avec j.(k-1) = 80 avec j = 1, le témoin doit effectuer 81 carrés pour calculer l'engagement R, puis, en moyenne 80 carrés et 40 multiplications plus une multiplication pour calculer la réponse D, soit 202 opérations (mod n) ; cette charge est divisée par deux avec deux facteurs premiers, soit 100 opérations (mod n) ; cette charge est divisée par trois avec trois facteurs premiers, soit 67 opérations (mod n) ; et ainsi de suite. le contrôleur doit effectuer 81 carrés (mod n).
Remarque. Pour une valeur donnée du niveau de sécurité j.k, le choix j = 1 ne change pratiquement pas la charge de travail du témoin, ni celle du contrôleur ; elle minimise toutefois le nombre de triplets produits, c'est-àdire, la charge de transmission pour mener à bien l'opération, que cette opération soit une authentification ou une signature.
Utilisons plusieurs paires de clés selon la présente invention, toutes avec le même exposant public de vérification v. Cela fait apparaître un niveau de sécurité j.(k-1).l où l est le nombre de paires de clés selon la présente invention. Le fait d'utiliser plusieurs paires de clés selon la présente invention diminue la charge de travail du témoin, ainsi que la charge de travail du contrôleur.
Dans le tableau ci-dessous, M représente une multiplication (mod n) et X un carré (mod n). Rappelons que sur le composant ST 16601 pour carte à puce, avec une horloge normalisée à 3,579545 MHz, le carré modulo pour 512 bits se fait en 150 ms et la multiplication modulo en 200 ms.
<Desc/Clms Page number 96>
Figure img00960001

(k-1).l= 16 /=1 1 = 2 1 = 4 1=8 l= 16
Figure img00960002
<tb>
<tb> Engagement <SEP> 17 <SEP> X <SEP> 9 <SEP> X <SEP> 5 <SEP> X <SEP> 3 <SEP> X <SEP> 2 <SEP> X <SEP>
<tb> Réponse <SEP> 1 <SEP> M <SEP> + <SEP> 1 <SEP> M <SEP> + <SEP> 1M <SEP> + <SEP> 4X+ <SEP> 1 <SEP> M <SEP> + <SEP> 1 <SEP> M <SEP> + <SEP>
<tb> 16 <SEP> X <SEP> + <SEP> 8X+ <SEP> 8M <SEP> 2X+ <SEP> 1X+
<tb> 8M <SEP> 8X <SEP> 8 <SEP> M <SEP> 8M
<tb> Totaldu <SEP> 33 <SEP> X+ <SEP> 17X+ <SEP> 9X+ <SEP> 5 <SEP> X <SEP> + <SEP> 3X+
<tb>
Figure img00960003

témoin 9 M 9 M 9 M 9 M 9 M
Figure img00960004
<tb>
<tb> Trois <SEP> 11 <SEP> X <SEP> + <SEP> 6X+ <SEP> 3X+ <SEP> 2X+ <SEP> 1X+
<tb> facteurs <SEP> 3 <SEP> M <SEP> 3 <SEP> M <SEP> 3 <SEP> M <SEP> 3 <SEP> M <SEP> 3 <SEP> M <SEP>
<tb> Vérification <SEP> 17 <SEP> X <SEP> 9 <SEP> X <SEP> 5 <SEP> X <SEP> 3 <SEP> X <SEP> 2 <SEP> X <SEP>
<tb>
Le compromis pour l = 4 est très attrayant parce que, compte tenu des restes chinois avec un module à trois facteurs premiers, le terminal et la carte ont à peu près la même charge de travail. II est préconisé d'utiliser les clés publiques GA = 4, GB = 9, GC = 25, GD = 49.

Claims (40)

Revendications
1. Procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée témoin dispose des facteurs premiers
Figure img00970001
PI' P2' ... (pi 9... ) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2- P3 0.. , ledit témoin dispose aussi * des composantes QA" QA2, ... (QAi , ...), et QBI, QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB, ...
Ri rivx mod p; où ri est un entier, associé au nombre premier pi, tel que 0 < ri < pi, chaque ri appartenant à une collection d'aléas {r1, r2, r3, ...}, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte que, pour chaque exposant public de vérification v, il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, - une deuxième entité pilote dudit témoin * appelée démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message,
GA.QA# mod n = 1 ou GA QA# mod n lesdits exposants publics de vérification vx, vy, ... étant utilisés par le témoin pour calculer des engagements R en effectuant des opérations du type :
Figure img00970003
composantes GA., GA2, ... (GAi, ...) et GB" GB2, ... (GBi, ...) * des exposants publics de vérification vx, vy, ... lesdites clés privées et clés publiques étant liées par des relations du type :
Figure img00970002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 98>
R'-~-GA'".GB....D" modn ou du type : R' . GA d^ . GB ' .... = D" mod n ledit contrôleur vérifie que les triplets {R', d, D} sont cohérents.
Figure img00980002
D. = ri. QA. 1 dA. QBi dB mod pi où r, est un aléa tel que 0 < ri < p1 de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacune des réponses D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit contrôleur recevant une ou plusieurs réponses D calcule à partir desdites réponses des engagements R' en effectuant des opérations du type:
Figure img00980001
* appelée signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité appelée contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit témoin reçoit de la deuxième entité ou du contrôleur un ou plusieurs défis d tel que 0# d# vx - 1 et calcule à partir de ce défi une ou plusieurs réponses D en effectuant des opérations du type :
2. Procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée témoin dispose des facteurs premiers
Figure img00980003
Pn P2' ... (P ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' Pus ... , ledit témoin dispose aussi * des composantes QA1, QA2' ... (QA; , ...), et QBI, QB2' ... (QB; ,
<Desc/Clms Page number 99>
...), ..., représentant des clés privées QA, QB, ...
<Pi ' chaque ri appartenant à une collection d'aléas { rl, r2, r3, ... }, # puis en appliquant la méthode des restes chinois, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité pilote dudit témoin, * appelée démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * appelée signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité appelée contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit témoin reçoit de la deuxième entité ou du contrôleur, des collections de défis d {dA, dB, ...} tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB,
Figure img00990003
GA.QA' mod n =1 ou GA QA" mod n ledit exposant public de vérification v étant utilisé par le témoin pour calculer des engagements R, . en effectuant des opérations du type : Ri# riv mod Pi où r, est un entier, tiré au hasard, associé au nombre premier pi, tel que 0 < r,
Figure img00990002
composantes GA,, GA2, ... (GA;, ...) et GBt, GB2, ... (GB;, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type :
Figure img00990001
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 100>
R'---GA'".GB....Dv modn ou du type : R'. GA dA. GB dB.... == DV mod n ledit contrôleur vérifie que les triplets {R', d, D} sont cohérents.
Figure img01000002
Di = r.. 1 QA. 1 dA . QBi **.... mod P, # puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des D, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n ledit contrôleur recevant une réponse D calcule à partir de cette réponse un engagement R' en effectuant des opérations du type :
Figure img01000001
...} comprenant un nombre de défis égal au nombre de paires de clés, ledit témoin calcule à partir de chacune desdites collections de défis {dA, dB, ...} des réponses D # en effectuant des opérations du type :
3. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'une entité ; ledit procédé met en oeuvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers
Figure img01000003
Pu p25 ... (pi ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PI,P2' P3.... , ledit témoin dispose aussi
Figure img01000004
* des composantes QAI, QA2, ... (QA, ...), et QB19 QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB,...
composantes GA,, GA2, ... (GA;, ...) et GB1, GB2, ... (GBi5 ...)
Figure img01000005
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 101>
1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre
1 1"|, r2, r3, ... }, # étape 2. défi d destiné au témoin : - le démonstrateur transmet tout ou partie de chaque engagement R au contrôleur, - le contrôleur, après avoir reçu tout ou partie de chaque engagement R, produit au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v
Figure img01010001
Ri riv mod pi de sorte que le nombre d'opérations arithmétiques modulo pli à effectuer pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver l'authenticité d'une entité, ledit témoin, ledit démonstrateur et ledit contrôleur exécutent lés étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r; positif et plus petit que p; , - pour chaque facteur premier p, , le témoin élève chaque aléa r, à la puissance v ième modulo p,
2 - une deuxième entité pilote dudit témoin appelée démonstrateur
GA.QAv mod n =- 1 ou GA =- QAvmod n
* d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type:
<Desc/Clms Page number 102>
R9 =- GA dA GB dB Dv mod n ou du type : R'.GAdA.GB....---D'modn ledit contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le démonstrateur.
Figure img01020002
D. 1 == r.. 1 QA. 1 dA. QB. 1 dB.... mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au contrôleur : - le démonstrateur transmet au contrôleur chaque réponse D, ' étape 5. vérification par le contrôleur : ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
Figure img01020001
de défis égal au nombre de paires de clés, ' étape 3. réponse du témoin au défi d : - ledit témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...} reçues du contrôleur en effectuant des opérations du type :
4. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit procédé met en oeuvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers
Figure img01020003
Pv P2' ... (pi ...) (i étant supérieur ou égal à 2) d'un module public n tel
<Desc/Clms Page number 103>
que n = Pl'P2' P3.... , ledit témoin dispose aussi * des composantes QA1, QA2' ... (QA; , ...), et QB1, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Figure img01030001
3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver l'authenticité d'un message ledit témoin, ledit démonstrateur et ledit contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier pi, chaque collection comporte un aléa ri positif et plus petit que p, , - pour chaque facteur premier p, , le témoin élève chaque aléa ri à la puissance v ième modulo p, R; riv mod pi de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des R; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au témoin :
2 - une deuxième entité pilote dudit témoin appelée démonstrateur,
composantes GA1, GA2, ... (GAi, ... ) et Gij, GB2' ... (GBi, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n = 1 ou GA = QAv mod n
Figure img01030002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 104>
R'==GAdA.GBdB....Dv modn ou du type : R' . GA dA. GB dB .... == DV mod n ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T', ~
Figure img01040001
Di ri QAi dA. QBi dB.... mod p, puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au contrôleur : - le démonstrateur transmet au contrôleur chaque réponse D, ' étape 5. vérification par le contrôleur : ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
- le démonstrateur applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour un jeton T, - le démonstrateur transmet le jeton T au contrôleur, - le contrôleur, après avoir reçu le jeton T, produit au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du témoin au défi d : - ledit témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...} reçues du contrôleur en effectuant des opérations du type :
<Desc/Clms Page number 105>
ledit contrôleur vérifie que le jeton T' est identique au jeton T transmis à l'étape 2 par le démonstrateur.
5. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit procédé met en oeuvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers
Figure img01050001
Pn p2g ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PuP2 Ps ... , ledit témoin dispose aussi * des composantes QA1, QA2, ... (QA; , ...), et QB1, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Ri riv mod p,
3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver la signature d'un message ledit témoin, ledit démonstrateur et ledit contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa ri positif et plus petit que pi, - pour chaque facteur premier p, , le témoin élève chaque aléa ri à la puissance v ième modulo p,
2 - une deuxième entité pilote dudit témoin appelée signataire,
GA.QAv mod n = 1 ou GA = QAvmod n
composantes GA,, GA2, ... (GAi, ...) et GB" GB2, ... (GB;, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type:
Figure img01050002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 106>
D. 1 =r.. 1 QA. 1 dA. QB. 1 dB.... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des D, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - ledit témoin transmet les réponses D au signataire et/ou au contrôleur, ' étape 4. données destinées au contrôleur : - le signataire transmet un message signé au contrôleur comprenant :
Figure img01060002
irn r2l r3, z ' étape 2. défi d destiné au témoin : - le signataire applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, - le signataire transmet les collections de défis d au témoin, . étape 3. réponse du témoin au défi d : - ledit témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...}reçues du contrôleur en effectuant des opérations du type :
Figure img01060001
de sorte que le nombre d'opérations arithmétiques modulo pii à effectuer pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
<Desc/Clms Page number 107>
R' - GA d'" . GB d'B .... Dv mod n ou du type : R' . GA d'A. GB d'B.... == DV mod n ledit contrôleur vérifie que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé,
Figure img01070002
R' --~ GA ' . GB dB .... D" mod n ou du type : R'. GAdA.GBdB....=D"mod n ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d', ledit contrôleur vérifie que chaque défi d' reconstruit est identique au défi d figurant dans le message signé, cas où le contrôleur reçoit la collection des engagements R dans le cas où le contrôleur reçoit la collection des engagements R et des réponses D, ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement R pour reconstruire chaque défi d', ledit contrôleur reconstruit alors la collection des engagements R' en effectuant des opération du type
Figure img01070001
/ le message m, / les collections de défis d ou les engagements R, / chaque réponse D ' étape 5. vérification par le contrôleur : cas où le contrôleur reçoit la collection des défis d, dans le cas où le contrôleur reçoit la collection des défis d et des réponses D, ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
6. Procédé selon l'une quelconque des revendications 1 à 5 tel que
<Desc/Clms Page number 108>
GA QAvmod n ou bien tel que GA.QAv mod n = 1 de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des GAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.
GA, QA;" mod p; puis en appliquant la méthode des restes chinois pour établir GA tel que
Figure img01080003
composante QAi , QBi , ... pour chacun desdits facteurs premiers p., lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA1, QA2, ... (QA;, ...), et QBII QB2' ... (QB; , ...), ... par la méthode des restes chinois, lesdites clés publiques GA, GB, ... étant calculée . en effectuant des opérations du type :
Figure img01080002
les composantes QA1, QA2, ... (QA, ...), et QBI, QB2, ... (QB; ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une
Figure img01080001
7. Procédé selon la revendication 6 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
8. Procédé selon l'une quelconque des revendications 1 à 5 tel que l'exposant public de vérification v est du type v = ak ou k est un paramètre de sécurité.
9. Procédé selon la revendication 8 tel que : - l'exposant public de vérification v est du type v = 2k ou k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle
<Desc/Clms Page number 109>
GA= QA, 2exp(k) mod Pi ou bien telles que : GA .QAi 2.exp(k) mod Pi= 1 on les obtient en extrayant la kième racine carrée de GA dans le corps de Galois CG(Pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
Figure img01090002
- lesdites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA sont telles que :
Figure img01090001
sorte que l'équation x2# gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n
10. Procédé selon la revendication 9 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(p,), * dans le cas où le facteur premier pi est congru à 3 modulo 4, on applique notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA, GAZ mod p1 * dans le cas où le facteur premier p, est congru à 1 modulo 4, on utilise les suites de Lucas.
11. Système pour diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte
<Desc/Clms Page number 110>
* des composantes QAj, QA2, ... (QAi , ...), et QB11 QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB,...
Figure img01100002
module public n tel que n = Pl'P2' P3 . , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant :
Figure img01100001
bancaire à microprocesseur, le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un
où ri est un aléa tel que 0 < ri < Pi, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité appelée dispositif pilote dudit dispositif témoin pouvant être également contenue notamment dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message,
Figure img01100005
GA.QA# mod n = 1 ou GA QA# mod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type : Ri# rivx mod pi
Figure img01100004
composantes GA GA2, ... (GAi, ...) et GBI, GB2, ... (GB, ...) * des exposants publics de vérification vx, vy,... lesdites clés privées et clés publiques étant liées par des relations du type :
Figure img01100003
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 111>
R'---GAd".GB....D" modn ou du type : R' . GA dA . GB dB .... - Dv mod n ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour
Figure img01110003
D. --- r; . QA. 1 dA . QB. m .... mod pi où ri est un entier, associé au nombre premier p,, tel que 0 < ri < pi, chaque ri appartenant à une collection d'aléas {r1, r2, r3, ...}, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte que, pour chaque exposant public de vérification v, il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses Di pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit dispositif contrôleur, recevant une ou plusieurs réponses D, comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D des engagements R' en effectuant des opérations du type :
Figure img01110002
un ou plusieurs défis d tel que 0<d <~ vx - 1 et comporte des deuxièmes moyens de calcul pour calculer à partir dudit défi d une ou plusieurs réponses D en effectuant des opérations du type :
Figure img01110001
- une troisième entité appelée dispositif contrôleur se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, ledit dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur
<Desc/Clms Page number 112>
vérifier que les triplets {R', d, D} sont cohérents.
12. Système pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers Pl, p2, ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#P2. P3.... , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant
Figure img01120001
* des composantes QA1, QA2, ... (QAi , ... ), et QBI, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Ri riv mod p, où ri est un entier, tiré au hasard, associé au nombre premier p;, tel que 0 < ri < pi, chaque ri appartenant à une collection d'aléas {ri, r2, r3, ...}, ' puis en appliquant la méthode des restes chinois,
GA.QAV mod n - 1 ou GA = QAvmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type :
Figure img01120003
composantes GA,, GA2, ... (GAi, ... ) et Gui, GB2, ... (GB;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type :
Figure img01120002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 113>
le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité, appelée dispositif contrôleur, se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, ledit dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ledit dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des
<Desc/Clms Page number 114>
R' -~- GA '" . GB ' .... D" mod n ou du type : R'.GA dA.GBdB....=Dvmodn ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Figure img01140002
D, 1 =r.. 1 QAi " . QB. 1 dB.... mod p, puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des Di pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit dispositif contrôleur, recevant une ou plusieurs réponses D, comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D un engagement R' en effectuant des opérations du type :
Figure img01140001
réponses D . en effectuant des opérations du type :
13. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'une entité ; ledit procédé met en oeuvre trois entités :
1- une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des
Figure img01140003
facteurs premiers pl, p2, ... (pj , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = pl.p2. P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire
<Desc/Clms Page number 115>
entiers {rI, r 2' r3, ...},telle que pour chaque facteur premier p, chaque collection comporte un aléa ri positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, ,
Figure img01150003
3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, pour prouver l'authenticité d'une entité, ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du dispositif témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres
2 - une deuxième entité appelée dispositif démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade,
composantes GA GA2, ... (GAi, ... ) et GB,, GB2, ... (GB,;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n #1 ou GA QAvmod n
Figure img01150002
* des composantes QA1, QA2, ... (QAi , ...), et QB1, QB2, ... (QB; , ...), représentant des clés privées QA, QB, * des clés publiques GA, GB,... ayant respectivement pour
Figure img01150001
contenant :
<Desc/Clms Page number 116>
Di 1 = r.. 1 QA. 1 dA. QB. 1 dB.... mod p, puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour
Figure img01160003
{ rI' rz, r3, ... }, ' étape 2. défi d destiné au dispositif témoin : - le dispositif démonstrateur comporte des moyens de transmission pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, - le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D ,à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type :
Figure img01160002
Roi = rV mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
Figure img01160001
<Desc/Clms Page number 117>
R' . GA dA. GB dB.... --- D' mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur.
Figure img01170002
R' = GA ''" . GB 'B .... Do mod n ou du type :
Figure img01170001
chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, # étape 4. données destinées au dispositif contrôleur : - le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D, # étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
14. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit procédé met en oeuvre trois entités :
1- une première entité appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des
Figure img01170003
facteurs premiers Pl' p2, ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = P!.p2' P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire
<Desc/Clms Page number 118>
* des composantes QA, QA2, ... (QAÉ ...), et QBI9 QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Figure img01180001
contenant
3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, pour prouver l'authenticité d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : # étape 1. engagement R du dispositif témoin : - ledit dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p,, chaque collection comporte un aléa r, positif et plus petit que pi, - ledit dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, ,
2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade,
GA.QAV mod n =1 ou GA =- QA" mod n
Figure img01180003
composantes Gal, GA2, ... (GA, ...) et GB," GB2, ... (GB,;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type:
Figure img01180002
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 119>
D, = r.. 1 QA. 1 dA . QB. 1 dB .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer
Figure img01190003
rle r2' r3, ... Il ' étape 2. défi d destiné au dispositif témoin : - le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour un jeton T, - ledit dispositif démonstrateur comporte des moyens de transmission pour transmettre le jeton T au dispositif contrôleur - ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collection de défis d {dA, dB, ...} reçues du dispositif contrôleur en effectuant des opérations du type :
Figure img01190002
R == rj mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
Figure img01190001
<Desc/Clms Page number 120>
R' - GA d" . GB dB .... D' mod n ou du type : R' . GA dA. GB dB.... = DV mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T', ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur.
Figure img01200001
par les quatrièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, # étape 4. données destinées au dispositif contrôleur : - le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
15. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit procédé met en oeuvre trois entités :
1- une première entité, appelée dispositif témoin, contenues notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin comporte une première zone mémoire contenant des
<Desc/Clms Page number 121>
* des composantes QA" QA2, ... (QA; , ...), et Qui9 QB2' ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Figure img01210001
facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. P3.... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant :
3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, pour prouver la signature d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p., chaque collection comporte un aléa r, positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever
2 - une deuxième entité appelée dispositif de signature, pouvant être également contenue notamment dans ledit objet nomade,
GA.QAv mod n = 1 ou GA = QAvmod n
composantes GAI' GA2, ... (GA;, ...) et GB, GB2, ... (GBi5 ...) * un exposant publique de vérification v lesdites paires de clés privées et publiques étant liés par des relations du type:
Figure img01210002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 122>
Di ri. QA dA. QBi # .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer
Figure img01220003
{ri, r2, r3, ... }, . étape 2. défi d destiné au dispositif témoin : - ledit dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} comprenant un nombre de défis égal au nombre de paires de clés, - le dispositif de signature transmet les collections de défis d au témoin, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type :
Figure img01220002
Ri = ris mod pi de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
Figure img01220001
chaque aléa r, à la puissance v ième modulo p;, pour chaque facteur premier pi,
<Desc/Clms Page number 123>
R9=-GA dA GB dB ....Dvmodn ou du type : R'. GA dA. GR dB....= DV mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé,
Figure img01230001
par les quatrièmes moyens de calcul pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - ledit dispositif témoin comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur, ' étape 4. données destinées au dispositif contrôleur : - le dispositif de signature transmet au dispositif contrôleur un message signé comprenant : / le message m, / les collections de défis d ou les engagements R, / chaque réponse D ' étape 5. vérification par le dispositif contrôleur : cas où le dispositif contrôleur reçoit la collection des défis d, dans le cas où le dispositif contrôleur reçoit les collections des défis d et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
<Desc/Clms Page number 124>
R' . GA d'" . GB d'B .... --- D" mod n ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier què chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé.
Figure img01240002
R' = GA d'" . GB d'B .... Dv mod n ou du type :
Figure img01240001
cas où le dispositif contrôleur reçoit la collection des engagements R dans le cas où le dispositif contrôleur reçoit la collection des engagements R et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R, ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer alors la collection des engagements R' en effectuant des opérations du type
16. Système selon l'une quelconque des revendications 11 à 15 tel
Figure img01240003
que les composantes QAI, QA2' ... (QA , ...), et OBI' QB2' ... (QB; , ...), ... des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QAi, QB;, ... pour chacun desdits facteurs premiers p, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI, QA2, ... (QA, ...), et QBI9 QB2, ... (QBi , ...), ... par la méthode des restes chinois, ledit dispositif témoin comportant des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA.= QAmodp, # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA =- QAvmod n ou bien tel que
Figure img01240004
GA.QA' mod n --~ 1
<Desc/Clms Page number 125>
17. Système selon la revendication 16 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA; pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n,
18. Système selon l'une quelconque des revendications 11 à 15 tel que l'exposant public de vérification v est du type v = ak où k est un paramètre de sécurité.
19. Système selon la revendication 18 tel que : - l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul
Figure img01250001
pour calculer les dites composantes QAI, QA2, ... (QAi , ...) de la clé privée QA en appliquant des formules telles que : GA- QAi 2exp(k) mod pi ou bien telles que :
Figure img01250002
GA .QA 2.exp(k) mod p== et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer
<Desc/Clms Page number 126>
par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
20. Système selon la revendication 19 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), * dans le cas où le facteur premier pi est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QAi# GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
21. Objet nomade, se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, pour diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit objet nomade faisant intervenir trois entités : - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin dispose d'une première zone mémoire contenant des
Figure img01260001
facteurs premiers Pl' p2, ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant :
Figure img01260002
* des composantes QA" QA2' ... (QA; , ...), et QB1, QB2, ... (QB, ...), ..., représentant des clés privées QA, QB,...
<Desc/Clms Page number 127>
R, rivx mod p, où ri est un aléa tel que 0 < ri < pi, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun despi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité appelée dispositif contrôleur se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif pilote audit dispositif contrôleur,
GA.QAvx mod n =- 1 ou GA = QAvxmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type :
composantes GA,, GA2, ... (GA;, ...) et GB" GB2, ... (GB;, ...) * des exposants publics de vérification vx, vy,... lesdites clés privées et clés publiques étant liées par des relations du type :
Figure img01270001
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 128>
D. = r.. 1 QA, 1 dA . QB. "# .... mod pi où ri est un entier, associé au nombre premier pi, tel que 0 < ri < pi , chaque ri appartenant à une collection d'aléas {r1, r2, r3, ...}, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte que, pour chaque exposant public de vérification v, il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou les dites réponses D.
Figure img01280001
ledit dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur un ou plusieurs défis d tel que 0# d# vx - 1 et comporte des deuxièmes moyens de calcul pour calculer à partir dudit défi d une ou plusieurs réponses D en effectuant des opérations du type :
22. Objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit objet nomade faisant intervenir trois entités: - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2# P3.... , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant
<Desc/Clms Page number 129>
* des composantes QA1, QA2, ... (QA; , ...), et QBI, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB, ...
Figure img01290001
Ri riv mod pi où r; est un entier, tiré au hasard, associé au nombre premier pi, tel que 0 < ri < pi, chaque r; appartenant à une collection d'aléas {r1, r2, r3, ...}, ' puis en appliquant la méthode des restes chinois, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans le cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième, entité, appelée dispositif contrôleur, se présentant
composantes GA GA2, ... (GAI, ...) et GBI, GB2, ... (GBi, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n #1 ou GA --- QAvmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type :
Figure img01290002
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 130>
Di = r,. QA. 1 dA . QBi 1 dB .... mod p, # puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou lesdites réponses D.
Figure img01300001
notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif pilote audit dispositif contrôleur, ledit dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ledit dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D # en effectuant des opérations du type :
23. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un dispositif contrôleur
<Desc/Clms Page number 131>
* des composantes QA" QA2, ... (QA; , ...), et QBI9 QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
Figure img01310002
module public n tel que n = Pl 'P2' P3.... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant :
Figure img01310001
1 - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un
l'authenticité d'une entité ; ledit objet nomade faisant intervenir trois entités :
3 - une troisième entité appelée dispositif contrôleur se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur, pour prouver l'authenticité d'une entité, ledit objet nomade exécute les étapes suivantes :
2 - une deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade,
GA.QA'mod n --- 1 ou GA = QA' mod n
Figure img01310004
composantes GA GA2, ... (GAi, ...) et GBJ' GB2, ... (GB, ..) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type:
Figure img01310003
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 132>
Ri = riv mod pi de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... Il ' étape 2. transmission des engagements R et réception des défis d destinés au dispositif témoin : - ledit objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur tout ou partie de chaque engagement R, - ledit objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...} produits par ledit dispositif contrôleur, ' étape 3. réponse du dispositif témoin aux défis d : - ledit dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D , à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type :
# étape 1. engagement R du dispositif témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p;, chaque collection comporte un aléa ri positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier p, ,
<Desc/Clms Page number 133>
D. = r.. 1 QA. 1 dA . QB. m .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les troisièmes moyens de calcul pour calculer chacun des D; pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - ledit objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et l'authenticité de l'entité contrôlée.
Figure img01330001
24. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit objet nomade faisant intervenir trois entités :
1 - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un
Figure img01330002
module public n tel que n = Pl'P2' P3 , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant
Figure img01330003
* des composantes QA1, QA2, ... (QA; , ...), et QB,, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
composantes GA GA2' ... (GAi, ...) et GB" GB2, ... (GBi, ...)
Figure img01330004
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 134>
Ri riv mod p, (de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin
3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur, pour prouver l'authenticité d'un message ledit objet nomade exécute les étapes suivantes : # étape 1. engagement R du dispositif témoin : - ledit dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ri positif et plus petit que p; , - ledit dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, ,
2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade,
* un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n = 1 ou GA QAv mod n
<Desc/Clms Page number 135>
D. 1 == r.. 1 QA. " . QB. 1 dB .... mod P. puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les quatrièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - l'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur chaque réponse D
Figure img01350002
{ ri' r2, r3, ... }, ' étape 2. réception des défis d destinés au dispositif témoin: - le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour un jeton T, - ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur le jeton T, - ledit objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...}produits par ledit dispositif contrôleur au moyen du jeton T, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur en effectuant des opérations du type :
Figure img01350001
établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
<Desc/Clms Page number 136>
' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D) et l'authenticité du message m.
25. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit objet nomade faisant intervenir trois entités :
1 - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#P2# p3. ... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant :
Figure img01360001
* des composantes QA1, QA2, ... (QA; , ...), et QB1, QB2, ... (QB; , ...), représentant des clés privées QA, QB, ...
3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière
2 - une deuxième entité appelée dispositif de signature, pouvant être également contenue dans ledit objet nomade,
GA.QA' mod n = 1 ou GA --- QAvmod n
Figure img01360003
composantes GA,, GA2, ... (GAi, ...) et GB1, GB2, ... (GRi, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type:
Figure img01360002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 137>
{r l' r 2' r3, ... }, ' étape 2. défi d destiné au dispositif témoin : - ledit dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés,
Figure img01370001
acoustique ledit dispositif témoin et ledit dispositif de signature audit dispositif contrôleur, pour prouver la signature d'un message ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p., chaque collection comporte un aléa ri positif et plus petit que p; , - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier p, , Ri# riv mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas
<Desc/Clms Page number 138>
D. = r.. 1 QA. 1 dA . QB. 1 dB .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - l'objet nomade comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur, ' étape 4. données destinées au dispositif contrôleur : - l'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur un message signé comprenant : / le message m, / les collections de défis d ou les engagements R, / chaque réponse D # étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et la signature numérique du message m.
Figure img01380001
- le dispositif de signature transmet les collections de défis d au témoin, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type :
26. Objet nomade selon l'une quelconque des revendications 21 à
Figure img01380002
25 tel que les composantes QA,, QA2, ... (QA,,...), et QB1, QB2, ... (QB; , ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QAi, QBi, ... pour chacun desdits facteurs
<Desc/Clms Page number 139>
27. Objet nomade selon la revendication 26 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
GA.QAv mod n 1 de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n,
GA --- QA" mod n ou bien tel que
Figure img01390002
desdites composantes QA1, QA2, ... (QAi , ... ), et QB1, QB2' ... (QB; , ...), par la méthode des restes chinois, ledit dispositif témoin comportant des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA,= QAivmod pi # puis en appliquant la méthode des restes chinois pour établir GA tel que
Figure img01390001
premiers p,, lesdites clés privées QA, QB, pouvant être calculées à partir
28. Objet nomade selon l'une quelconque des revendications 21 à 25 tel que l'exposant public de vérification v est du type v=ak où k est un paramètre de sécurité.
29. Objet nomade selon la revendication 28 tel que : - l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation
<Desc/Clms Page number 140>
GA .QA 2.exp(k) mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi), de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
Figure img01400001
x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer lesdites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA en appliquant des formules telles que : GA= QAi 2exp(k) mod p; ou bien telles que :
30. Objet nomade selon la revendication 29 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(p;), * dans le cas où le facteur premier pi est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y#xk mod (p-1 ) ; z = y ; QA1 = GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
31. Dispositif de contrôle permettant de diminuer la charge de travail pendant une session destinée à vérifier : - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m,
<Desc/Clms Page number 141>
ledit dispositif de contrôle se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif de contrôle mettant en oeuvre : - un module public n tel que n soit le produit de facteurs premiers secrets p1, p2, ... (p;, ...) (i étant supérieur ou égal à 2) n = p1#p2#p3####, - des clés publiques GA, GB,...
GA.QA# mod n ---1 ou GA QA# mod n ledit dispositif de contrôle faisant intervenir trois entités : - une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin produisant des engagements R, - une deuxième entité appelée dispositif pilote dudit dispositif témoin pouvant être contenue notamment dans ledit objet nomade, - une troisième entité, appelée dispositif contrôleur, contenue dans ledit dispositif de contrôle, ledit dispositif de contrôle comporte : - des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif contrôleur audit dispositif témoin et/ou audit dispositif pilote, - des moyens de transmission pour transmettre les données produites par ledit dispositif contrôleur vers ledit dispositif témoin et/ou ledit dispositif pilote, - des moyens de réception pour recevoir les données provenant dudit dispositif témoin et/ou dudit dispositif pilote,
Figure img01410001
- des exposants publics de vérification vx, vy,... lesdites clés privées GA et les clés publiques associées QA étant liées par des relations du type :
<Desc/Clms Page number 142>
R'; --~ GA d. Dva mod n ou du type : R'; . GA d --- D"a mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents
Figure img01420002
dtelque0<~d5vx-1, - des deuxièmes moyens de calcul pour calculer, en fonction des réponses D reçues dudit dispositif témoin et/ou dudit dispositif pilote, des engagements R' en effectuant des opérations du type :
Figure img01420001
ledit dispositif contrôleur comporte : - des premiers moyens de calcul pour produire un ou plusieurs défis
32. ,Dispositif de contrôle permettant de diminuer la charge de travail pendant une session destinée à vérifier, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit dispositif de contrôle se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif de contrôle mettant en oeuvre : - un module public n tel que n soit le produit de facteurs premiers
Figure img01420003
secrets pl, p2, ... (p;, ...) (i étant supérieur ou égal à 2) n=P1#p2#p3####, - des clés publiques GA, GB,...
GA.QAv mod n = 1 ou GA =- QAv mod n ledit dispositif de contrôle faisant intervenir trois entités : - une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte
- un exposant public de vérification v lesdites clés privées GA et les clés publiques associées QA étant liées par des relations du type :
<Desc/Clms Page number 143>
R' GAdA.GBdB....D mod n ou du type : R'. GA dA. GB dB....==Dv mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Figure img01430001
bancaire à microprocesseur, ledit dispositif témoin produisant des engagements R, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être contenue notamment dans ledit objet nomade, - une troisième entité, appelée dispositif contrôleur, contenue dans ledit dispositif de contrôle, ledit dispositif de contrôle comporte : - des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif contrôleur audit dispositif témoin et/ou audit dispositif pilote, - des moyens de transmission pour transmettre les données produites par ledit dispositif contrôleur vers ledit dispositif témoin et/ou ledit dispositif pilote, - des moyens de réception pour recevoir les données provenant dudit dispositif témoin et/ou dudit dispositif pilote, ledit dispositif contrôleur comporte : - des premiers moyens de calcul pour produire un ou plusieurs défis d {dA, dB, ...} tels que 0# dA# v -1, - des deuxièmes moyens de calcul pour calculer, en fonction des réponses D reçues du dudit dispositif témoin et/ou dudit dispositif pilote, des engagements R' en effectuant des opérations du type :
33. Dispositif de contrôle selon la revendication 32 permettant de diminuer la charge de travail pendant une session destinée à vérifier l'authenticité d'une entité ;
<Desc/Clms Page number 144>
dans le cas d'une authentification d'entité, le dispositif pilote est appelé dispositif démonstrateur, pour prouver l'authenticité d'une entité ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa ri entier positif et plus petit que p; , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , ' étape 2. défis produits par le dispositif contrôleur et destinés au dispositif témoin : - lesdits moyens de réception du dispositif de contrôle reçoivent tout ou partie de chaque engagement R, transmis par le dispositif démonstrateur, et le transmet au dispositif contrôleur, - le dispositif contrôleur comporte des premiers moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin aux défis d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D , à partir desdites collections de défis d {dA, dB, ...}reçues du dispositif contrôleur, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur :
<Desc/Clms Page number 145>
R' --- GA dA. GB dB.... Dv mod n ou du type : R' . GA dA. GB dB.... == DV mod n ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur
Figure img01450001
ledit dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
34. Dispositif de contrôle selon la revendication 32 permettant de diminuer la charge de travail pendant une session destinée à vérifier l'authenticité d'un message m, dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif démonstrateur, pour prouver l'authenticité d'un message m, ledit dispositif de contrôle exécute les étapes suivantes : # étape 1. engagement R du dispositif témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r; entier positif et plus petit que pi , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , ' étape 2. défis d produits par ledit dispositif contrôleur et destinés au dispositif témoin : - lesdits moyens de réception du dispositif de contrôle reçoivent au moins un jeton T calculé et transmis par le dispositif démonstrateur en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, - ledit dispositif contrôleur comporte des premiers moyens de calcul pour
<Desc/Clms Page number 146>
R5 =- GA dA . GB dB.... Dv mod n ou du type : R' . GA '' . GB ' .... Dv mod n ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T', ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur.
Figure img01460001
calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB,...} comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, # étape 4. données destinées au dispositif contrôleur : - les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
35. Dispositif de contrôle selon la revendication 32 permettant de diminuer la charge de travail pendant une session destinée à vérifier la signature numérique d'un message m, dans le cas d'une authentification d'un message m, le dispositif pilote est
<Desc/Clms Page number 147>
au moins une collection de défis d {dA, dB, ...} tels que 0 <~ dA <~ v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, - le dispositif de signature transmet les collections de défis d au témoin, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...}, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - ledit dispositif témoin comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur, ' étape 4. données destinées au dispositif contrôleur : - les moyens de réception du dispositif de contrôle reçoivent du dispositif de signature un message signé comprenant : / le message m,
Figure img01470001
appelé dispositif de signature, pour prouver la signature numérique du message m, ledit dispositif de contrôle exécute les étapes suivantes : # étape 1. engagement R du témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que pour chaque facteur premier pi, chaque collection comporte un aléa ri entier positif et plus petit que p; , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , # étape 2. défis d destinés au dispositif témoin : - ledit dispositif de signature calcule, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R,
<Desc/Clms Page number 148>
R' . GA d'A GB d'B....# Dv mod n
R' GA d'A . GB du.... Dv mod n ou du type :
Figure img01480002
R'==GAdA.GBdB....Dv modn ou du type : R'.GA'".GB....---D"modn * des deuxièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', * des troisièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé, cas où le dispositif contrôleur reçoit la collection des engagements R dans le cas où le dispositif contrôleur reçoit la collection des engagements R et des réponses D, ledit dispositif contrôleur comporte * des premiers moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R, * des deuxièmes moyens de calcul pour calculer alors la collection des engagements R' en effectuant des opération du type
Figure img01480001
/ les collections de défis d ou les engagements R, / chaque réponse D . étape 5. vérification par le dispositif contrôleur : cas où le dispositif contrôleur reçoit la collection des défis d, dans le cas où le dispositif contrôleur reçoit les collections des défis d et des réponses D, ledit dispositif contrôleur comporte * des premiers moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type :
<Desc/Clms Page number 149>
* des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé.
36. Dispositif de contrôle selon l'une quelconque des revendications 31 à 35 tel que les composantes QA1, QA2, ... (QAi,...), et QB1, QB2, ... (QBi, ...), des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QAi, QB; , ... pour chacun desdits facteurs premiers pi, lesdites clés privées QA, QB, pouvant être calculées à
Figure img01490001
partir desdites composantes QAI, QA2, ... (QA, ...), et QBI, QB2, ... (QBi , ...), ... par la méthode des restes chinois, ledit dispositif témoin comportant des moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA; --- QAivmod pi # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA QAvmod n ou bien tel que
GA.QAv mod n = 1 de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n,
37. Dispositif de contrôle selon la revendication 36 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA.
38. Dispositif de contrôle selon l'une quelconque des revendications 31 à 35 tel que l'exposant public de vérification v est du type
<Desc/Clms Page number 150>
v = ak où k est un paramètre de sécurité.
39. Dispositif de contrôle selon la revendication 38 tel que : - l'exposant public de vérification v est du type v=2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer les dites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA en appliquant des formules telles que : GA- QAi 2exp(k) mod p, ou bien telles que :
Figure img01500001
GA .QA 2.exp(k) mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confére une sécurité équivalente à la connaissance de la factorisation de n.
40. Dispositif de contrôle selon la revendication 39 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type :
<Desc/Clms Page number 151>
x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA, --- GAZ mod p, * dans le cas où le facteur premier pi est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.
FR9901065A 1999-01-27 1999-01-27 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message Pending FR2788910A1 (fr)

Priority Applications (28)

Application Number Priority Date Filing Date Title
FR9901065A FR2788910A1 (fr) 1999-01-27 1999-01-27 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message
FR9903770A FR2788911A1 (fr) 1999-01-27 1999-03-23 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message
FR9912465A FR2788908B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
FR9912467A FR2788912B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers
FR9912468A FR2824974B1 (fr) 1999-01-27 1999-10-01 Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux.
CA002360887A CA2360887C (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers
KR1020017009491A KR100676460B1 (ko) 1999-01-27 2000-01-27 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법
PCT/FR2000/000190 WO2000045550A2 (fr) 1999-01-27 2000-01-27 Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux
JP2000596696A JP4772965B2 (ja) 1999-01-27 2000-01-27 エンティティの真正性および/またはメッセージの完全性を証明するための方法
AU22986/00A AU769446C (en) 1999-01-27 2000-01-27 Method for proving the authenticity or integrity of a message by means of a public exponent equal to the power of two
JP2000597915A JP4772189B2 (ja) 1999-01-27 2000-01-27 エンティティの真正性および/または特殊素因子を使用するメッセ−ジの完全性および/または真正性を証明するための方法、システム、及び装置
US09/869,966 US7266197B1 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors
AU22984/00A AU769464B2 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of message
KR1020017009493A KR100676461B1 (ko) 1999-01-27 2000-01-27 특정 소인수를 이용한 엔티티 인증성, 및 메시지의 무결성및(또는) 인증성 검증방법, 시스템 및 장치
JP2000597914A JP2003519447A (ja) 1999-01-27 2000-01-27 エンティティの真正性および/またはメッセージの完全性および/または真正性を証明するための方法、システム、および装置
EP00901656A EP1145472A3 (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
KR1020017009492A KR20010108143A (ko) 1999-01-27 2000-01-27 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치
CA002360954A CA2360954A1 (fr) 1999-01-27 2000-01-27 Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux
PCT/FR2000/000189 WO2000046947A2 (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers
CA002361627A CA2361627A1 (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
PCT/FR2000/000188 WO2000046946A2 (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
CNB008031975A CN100377520C (zh) 1999-01-27 2000-01-27 证实实体的真实性、消息的完整性和/或真实性的方法和系统
CNB008047189A CN1322700C (zh) 1999-01-27 2000-01-27 利用非对称密钥证明真实性或完整性的方法和计算机系统
US09/889,918 US7386122B1 (en) 1999-01-27 2000-01-27 Method for proving the authenticity or integrity of a message by means of a public exponent equal to the power of two
EP00901657.7A EP1145473B1 (fr) 1999-01-27 2000-01-27 Procédé, système, dispositif destinés à prouver l'authenticité d'une entité et/ou l'integrité et/ou l'authenticité d'un message aux moyens de facteurs premiers particuliers
AU22985/00A AU769444B2 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of message using specific prime factors
EP00901658.5A EP1145482B1 (fr) 1999-01-27 2000-01-27 Procédé destiné à prouver l'authenticité d'une entité ou l'intégrité d'un message au moyen d'un exposant public égal à une puissance de deux
CN00804617A CN1408154A (zh) 1999-01-27 2000-01-27 验证实体真实性和/或消息的完整性和/或真实性的方法,系统,设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9901065A FR2788910A1 (fr) 1999-01-27 1999-01-27 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message

Publications (1)

Publication Number Publication Date
FR2788910A1 true FR2788910A1 (fr) 2000-07-28

Family

ID=9541414

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9901065A Pending FR2788910A1 (fr) 1999-01-27 1999-01-27 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message

Country Status (1)

Country Link
FR (1) FR2788910A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0311470A1 (fr) * 1987-09-07 1989-04-12 France Telecom Procédés et systèmes d'authentification d'accréditations ou de messages à apport nul de connaissance et de signature de messages
EP0666664A1 (fr) * 1994-02-04 1995-08-09 France Telecom Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
EP0756398A1 (fr) * 1995-07-26 1997-01-29 Philips Cartes Et Systemes Système et procédé de communication de messages cryptés selon un procédé de type R.S.A. avec réduction modulaire pour obtenir un décryptage rapide

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0311470A1 (fr) * 1987-09-07 1989-04-12 France Telecom Procédés et systèmes d'authentification d'accréditations ou de messages à apport nul de connaissance et de signature de messages
EP0666664A1 (fr) * 1994-02-04 1995-08-09 France Telecom Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
EP0756398A1 (fr) * 1995-07-26 1997-01-29 Philips Cartes Et Systemes Système et procédé de communication de messages cryptés selon un procédé de type R.S.A. avec réduction modulaire pour obtenir un décryptage rapide

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QUISQUATER J -J ET AL: "FAST DECIPHERMENT ALGORITHM FOR RSA PUBLIC-KEY CRYPTOSYSTEM", ELECTRONICS LETTERS, vol. 18, no. 21, 14 October 1982 (1982-10-14), pages 905 - 907, XP000577331, ISSN: 0013-5194 *
SHAND M ET AL: "FAST IMPLEMENTATIONS OF RSA CRYPTOGRAPHY", PROCEEDINGS OF THE SYMPOSIUM ON COMPUTER ARITHMETIC, WINDSOR, JUNE 29 - JULY 2, 1993, no. SYMP. 11, 29 June 1993 (1993-06-29), SWARTZLANDER E;IRWIN M J; JULLIEN G, pages 252 - 259, XP000419946 *

Similar Documents

Publication Publication Date Title
EP0218305B1 (fr) Systèmes de signature aveugle non anticipée
Enge Elliptic curves and their applications to cryptography: an introduction
Ferguson Single term off-line coins
Kilian Uses of randomness in algorithms and protocols
Tsiounis Efficient electronic cash: new notions and techniques
EP1738517B1 (fr) Procedes et dispositifs cryptographiques sans transfert de connaissance
EP0311470B1 (fr) Procédés et systèmes d&#39;authentification d&#39;accréditations ou de messages à apport nul de connaissance et de signature de messages
FR2822002A1 (fr) Authentification cryptographique par modules ephemeres
Chaum Blinding for unanticipated signatures
EP0878934B1 (fr) Procédé d&#39;identification à clé publique utilisant deux fonctions de hachage
EP1291763A1 (fr) Procédé de brouillage d&#39;un calcul à quantité secrète
US7346637B2 (en) Polynomial time deterministic method for testing primality of numbers
EP1350357B1 (fr) Procede d&#39;amelioration de la securite de schemas de chiffrement a clef publique
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
WO2006030107A1 (fr) Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee
FR2788909A1 (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
EP1145473B1 (fr) Procédé, système, dispositif destinés à prouver l&#39;authenticité d&#39;une entité et/ou l&#39;integrité et/ou l&#39;authenticité d&#39;un message aux moyens de facteurs premiers particuliers
Goldwasser New directions in cryptography: twenty some years later (or cryptograpy and complexity theory: a match made in heaven)
JP2004527139A (ja) エンティティの真性性またはメッセージの完全性を証明する方法、システム、および装置。
FR2788911A1 (fr) Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l&#39;authenticite d&#39;une entite et/ou l&#39;origine et l&#39;integrite d&#39;un message
FR2788910A1 (fr) Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l&#39;authenticite d&#39;une entite et/ou l&#39;origine et l&#39;integrite d&#39;un message
FR2814619A1 (fr) Procede d&#39;encodage de messages longs schemas de signature electronique a base de rsa
FR2763452A1 (fr) Procede d&#39;identification a cle publique
WO1998051038A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
Märtens Practical compact e-cash with arbitrary wallet size