FR2788911A1 - 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
FR2788911A1
FR2788911A1 FR9903770A FR9903770A FR2788911A1 FR 2788911 A1 FR2788911 A1 FR 2788911A1 FR 9903770 A FR9903770 A FR 9903770A FR 9903770 A FR9903770 A FR 9903770A FR 2788911 A1 FR2788911 A1 FR 2788911A1
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
FR9903770A
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
Priority claimed from FR9901065A external-priority patent/FR2788910A1/fr
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR9903770A priority Critical patent/FR2788911A1/fr
Priority to FR9912467A priority patent/FR2788912B1/fr
Priority to FR9912465A priority patent/FR2788908B1/fr
Priority to FR9912468A priority patent/FR2824974B1/fr
Priority to AU22986/00A priority patent/AU769446C/en
Priority to CN00804617A priority patent/CN1408154A/zh
Priority to CNB008031975A priority patent/CN100377520C/zh
Priority to US09/869,966 priority patent/US7266197B1/en
Priority to PCT/FR2000/000189 priority patent/WO2000046947A2/fr
Priority to PCT/FR2000/000188 priority patent/WO2000046946A2/fr
Priority to JP2000596696A priority patent/JP4772965B2/ja
Priority to US09/889,918 priority patent/US7386122B1/en
Priority to EP00901658.5A priority patent/EP1145482B1/fr
Priority to AU22984/00A priority patent/AU769464B2/en
Priority to EP00901656A priority patent/EP1145472A3/fr
Priority to CA002360954A priority patent/CA2360954A1/fr
Priority to JP2000597914A priority patent/JP2003519447A/ja
Priority to CNB008047189A priority patent/CN1322700C/zh
Priority to KR1020017009493A priority patent/KR100676461B1/ko
Priority to JP2000597915A priority patent/JP4772189B2/ja
Priority to CA002360887A priority patent/CA2360887C/fr
Priority to EP00901657.7A priority patent/EP1145473B1/fr
Priority to AU22985/00A priority patent/AU769444B2/en
Priority to CA002361627A priority patent/CA2361627A1/fr
Priority to KR1020017009492A priority patent/KR20010108143A/ko
Priority to KR1020017009491A priority patent/KR100676460B1/ko
Priority to PCT/FR2000/000190 priority patent/WO2000045550A2/fr
Publication of FR2788911A1 publication Critical patent/FR2788911A1/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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • H04L9/3221Cryptographic 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 interactive zero-knowledge proofs
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Storage Device Security (AREA)

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 calcule 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 . QAi dA . QBi dB .... mod Pi où r i est un aléa tel que 0 < r i < P1 . 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 #uvre des calculs modulo des nombres de 512 bits ou davantage. 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 #uvre les trois entités ci-après définies.
I. Une première entité, appelée témoin, dispose des facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1.p2. p3.... Le témoin dispose aussi
Figure img00020001

* des composantes QA,, à,,... (QA,, ...), 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,, GA2, ... (GA,...) et GB,, GB2, ... (GBi 1...)
<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 =- QA'mod 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 r 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 confiance fusionnent. Chaque témoin utilise la factorisation p,, p2, ... (pi, ...) 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 pi 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 #uvre 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 - 1 et calcule à partir de ce défi une ou plusieurs réponses D en effectuant des opérations du type :
<Desc/Clms Page number 4>
Di = ri.QAi d mod 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 p, 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 :
Figure img00040001

R', = GA d. D"X mod n ou du type : R'.. 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 #uvre 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 =
Figure img00040002

p.p2. p3.....
Le témoin dispose aussi * des composantes QA,, QA2, ... (QA, , ou), et QBI, QB2, ... (QB, , ou), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00040003

composantes GA,, GAZ, ... (GA,...) et GB,, GB2, ... (GBi5 ...) * 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 :
Figure img00050001

GA.QA" mod n = 1 ou GA QA'mod 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 : Ri # r1v mod p, où r est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 <
Figure img00050002

r < p , appartenant à au moins une collection d' aléas {roi, 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).
Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, Bien entendu, dans ce cas comme dans le cas général précédent, 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.
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 :
D = ri. 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 p1 à 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.
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 : R'= GA dA. GB dB. ...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 #uvre trois entités.
I. Une première entité, appelée témoin, dispose des facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n =
Figure img00070001

PI*P2* p3.... , Le témoin dispose aussi : * des composantes QA,, Qu 21 ... (QAI, ...), et QB,, QB2, ... (QB , ou), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00070002

composantes GA,, GAZ, ... (GA(, ...) et GB,, GBz, ... (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.QAv 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 {r,, r2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa r positif 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@ # riv mod p, On notera 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.
<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 1 == r.. 1 QA 1 dA . QB 1 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 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.
# é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 :
Figure img00080002

R'=GA d" . GB "B .... Dv mod n ou du type :
<Desc/Clms Page number 9>
Figure img00090001

R'.GAdA.GBdB....=D"modn 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 #uvre 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 =
Figure img00090002

PL-PI' p3.... , Le témoin dispose aussi : * des composantes QA,, QA,, ... (QA, , ou), et QB., QB2 ... (QB, ou), ..., représentant des clés privées QA, QB, * des clés publiques GA, GB,... ayant respectivement pour
Figure img00090003

composantes GA,, GAz, .h (GA, ...) et GB,, GB2, ... (GD" ...) * 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 img00090004

GA.QA" mod n = 1 ou GA =- QAvmod 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 {r,, r2, r3, ...}, telle que pour chaque facteur premier p,, chaque collection comporte un aléa r. positif et plus petit que p, .
<Desc/Clms Page number 10>
Pour chaque facteur premier p1, le témoin élève chaque aléa r, à la puissance v ième modulo p,
R = r@v mod p, (de sorte 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) 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 img00100001

D 1 == r . 1 QA 1 dA . QB 1 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 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.
# é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 :
Figure img00110002

R'. GA dA . 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 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, ... (p@, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1.p2.p3. ...
Le témoin dispose aussi
Figure img00110003

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

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.QAV mod n =- 1 ou GA =- QAvmod n II. Une deuxième entité, pilote dudit témoin, est appelée signataire.
<Desc/Clms Page number 12>
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 {ri, r., r, ...},telle que, pour chaque facteur premier p., 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,
R, = 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 {r,, 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 1 == r . 1 QA 1 dA . QB 1 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 .... D" mod n ou du type : R' . GA dA. GB dB. no:::: 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 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'A GR d'B Dv mod n ou du type : R'. GA d'A 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

QA,, Qat, ... (QA, , ...), et QB,, QB,, ... (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 p1. Lesdites clés privées QA, QB, peuvent être calculées à partir desdites composantes QA,, QA2, ...
Figure img00140003

(QA" ou), et QBI, QB29 ... (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.= QAiv mod p, puis en appliquant la méthode des restes chinois pour établir GA tel que
GA =- QAv mod n ou bien tel que
Figure img00140004

GA.QA" mod n = 1 Ainsi, le nombre d'opérations arithmétiques modulo p, à 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 k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1.
Dans ce cas, la clé publique GA est un carré gA2 inférieur à n choisi de sorte que les deux équations
Figure img00150001

x = gA mod n et x2 --~ - gA mod n n'ont pas de solution en x dans l'anneau des entiers modulo n.
Les composantes QA,, QA2, ... (QA@, ...) de la clé privée QA sont alors telles que : GA QA2exp(k) mod p, ou bien telles que :
Figure img00150002

GA QAI 2 ex p(k) mod p,=- 1 On les obtient en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p,), Ainsi, le nombre d'opérations arithmétiques modulo p, à 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.
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 k iè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, on applique notamment un algorithme du type : x = (p+I)/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, on emploie les suites de Lucas.
Système La présente invention concerne également un système permettant de mettre en #uvre 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 #uvre 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 p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un
Figure img00160001

module public n tel que n = PI'PZ' p3.....
Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,, QAz, ... (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 img00160002

composantes GA,, GAZ, ... (gaz, ...) et GB,, Go 21 ... (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>
Figure img00170001

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 en effectuant des opérations du type :
Figure img00170002

R, - r," mod p, ou r, est un aléa tel que 0 < r < pi, 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 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 :
Figure img00170003

D,---r.QA,dmodp; ou r est un aléa tel que 0 < r < p, (de sorte que le nombre d'opérations arithmétiques modulo p@ à effectuer par lesdits deuxièmes moyens de calcul polir 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)
<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'--~GAd.D"x modn ou du type :
Figure img00180002

R'.GAd--~D"zmodn 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 #uvre 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 module public n tel que n = p,.p2. p3. ..., Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant
Figure img00180003

* des composantes QA,, QA2, ... (QA" ...), et QB,l QB2, on (QB , ...), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GA,, on) et GB,, GB2, ... (GB1,...), * 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>
R, - r/ mod 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.
II y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, Le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits premiers moyens de calcul pour calculer chacun des R, 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é, 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

D r,. QAI dA . QB, '".... 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 D, pour chacun des p, 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 : R' = GA dA. GB dB. ... Dv mod n ou du type : R'. GA dA. GB 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 #uvre 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 facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un
Figure img00210001

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 QAI, QA2, ... (QA , ...), et QBI, QB2, ... (QB,, ou), ..., représentant des clés privées QA, QB, ....
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00210002

composantes GAI, 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 : 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 {ruz, 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 r, à la puissance v ième modulo p; , pour chaque facteur premier p , R@ # r@v mod p, On notera 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 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. 1 == r . 1 QA 1 dA . QB 1 dB .... mod P puis, il applique la méthode des restes chinois.
Le nombre d'opérations arithmétiques modulo p, à effectuer par les
<Desc/Clms Page number 23>
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.
# é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 . Gg dB .... D" mod n ou du type :
Figure img00230002

R'. GA dA. GB "\ ...= DY 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 #uvre 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 p,, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un
Figure img00240001

module public n tel que n = PI.P2. p3.... ,.Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant
Figure img00240002

* 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
Figure img00240003

composantes GA,, GAZ, ... (GA, ...) et GBI, 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 : 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 {r,, r2, r3, ...}, 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 ri à la puissance v ième modulo p, , pour chaque facteur premier p, , Ri # riv mod p,
<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 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.
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 :
Figure img00250001

D --~ ruz . QA d" . QBI dll mod p 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 D, 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 dA. GB dB....= 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 #uvre 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, ... (p1, ...) (i étant supérieur ou égal à 2) d'un
<Desc/Clms Page number 27>
Figure img00270001

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

* des composantes QA,, 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 img00270003

composantes GA,, GA2, ... (GA, ...) et GB,, GB2, ... (GB,, m) * un exposant publique 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é, 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 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 p ,
Ri =- r1v 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.
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 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 :
Figure img00280001

D ri . QAT dA . QB, dB .... mod p, puis, il applique 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 D, 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 de ....Dv mod n ou du type :
Figure img00290002

R'. GA dA. GB d$ .... = D" 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éfid 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'A GB d'$ .... Du mod n ou du type : R'.GAd'".GBd'B....--~D"modn 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 QA,, QA2, ... (QA ...), et QB,, 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 p1, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA,, QA2, ...
Figure img00300002

(qat, ...), et QB,, QB2, ... (QB" ...), ... 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 img00300003

GA = QA 1 v mod P #puis en appliquant la méthode des restes chinois pour établir GA tel que GA --~ QA" mod n ou bien tel que GA.QA 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 p, 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
<Desc/Clms Page number 31>
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é plus grand que 1.
De préférence également, l'exposant public de vérification v est du type v = 2" où k est un paramètre de sécurité plus grand que 1, Dans ce cas, la clé publique GA est un carré gA2 inférieur à n choisi de sorte que les deux équations x2= gA mod n et x2 # - gA mod n n'ont pas de solution en x dans l' anneau des entiers modulo n.
Le dispositif témoin comporte des neuvièmes moyens de calcul pour calculer les dites composantes QA,, QA2, ... (QA,, ...) de la clé privée QA en appliquant des formules telles que : GA =- QA 2exp(k) mod p, ou bien telles que :
Figure img00310001

GA .QA 2.exp(k)mod P,= 1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p,).
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 k ième racine carrée de GA dans le corps de
<Desc/Clms Page number 32>
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 # 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 #uvre 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 contenant des facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à
Figure img00320001

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,, QA2, ... (QA,,ou), et QB,, QB2, ... (QB,,ou), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00320002

composantes GA,, GAZ, ... (GA,, ou) et GB,, GB2, ... (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 -= QAvx 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 :
R = r1vx mod p, ou r est un aléa tel que 0 < r < p@.
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 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 img00330001

D 1 == r . 1 QA 1 d mod P ou r, est un aléa tel que 0 < r, < p,
<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 contenant des facteurs premiers p., p2, ... (p, , ...) (i étant supérieur ou égal
Figure img00340001

à 2) d'un.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 QAI, QA2, (QA ...), et QB1, QB2, ... (QB" ou), ..., représentant des clés privées QA, QB,...
* des clés publiques GA, GB,... ayant respectivement pour
Figure img00340002

composantes GA,, Go 21 ... (GA, ...) et GB1, GB2, ou (GB,, ou) * 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 = QAv 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 :
R = r1v mod p. où r, est un entier, tiré au hasard, associé au nombre premier p@, tel que 0 <
Figure img00340003

ru < p , appartenant à au moins une collection d'aléas { r,, r2, r3, ...}, * puis en appliquant la méthode des restes chinois, II y a autant d'engagements R que de collections d'aléas {r1, r2, 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 pi 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 :
Figure img00350001

D = r . QA, d" . QB 1 dB .... mod p, # 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 contenant des facteurs premiers p,, p2, ... (p, , ou) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1.p2. p3..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant :
Figure img00360001

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

composantes GA,, GA2, ... (GA, ...) et GBI, GBz, ... (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.QAv mod n 1 ou GA = QAvmod 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 {roi, r25 r3, ...}, 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 ri à la puissance v ième modulo p, , pour chaque facteur premier p,,
R = r1v mod p, 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.
Il y a autant d'engagements R que de collections d'aléas {r1, r2, 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

Di--~r.QAd".QBdB....modp, 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, ... (p1, ...) (i étant supérieur ou égal à 2) d'un
Figure img00390001

module public n tel que n = p..p,. p3..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant
Figure img00390002

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

composantes GA,, 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 : 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 r positif 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 ri à la puissance v ième modulo p, , pour chaque facteur premier p , Ri # r1v mod p, 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.
Il y a autant d'engagements R que de collections d'aléas {r,, 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 :
Figure img00400001

D, =- r.. QA @ dA . QBid]3 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 p, 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 p1, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. p3. ... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant :
Figure img00410001

* des composantes QA,, à,,... (QA,, ...), et QBI, 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,,...) * 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. 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 entiers {r1, r2, r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa r, positif et plus petit que p1.
Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r1 à la puissance v ième modulo p, , pour chaque facteur premier p ,
Figure img00420001

R 1 == r 1 v mod 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 R, 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 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

D 1 == r . 1 QA 1 dA . QB 1 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 QA,, QA2, ...
(QA, , ...), et QB,, 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, QB, pouvant être calculées à partir desdites composantes QA1, QA2, ... (QA,, ...), et QB,,
Figure img00440001

Qu29 ... (QB, ...), 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 : GA = QA@v mod p1 # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA =- QAv mod 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 k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1.
Dans ce cas, la clé publique GA est un carré gA2 inférieur à n choisi de sorte que les deux équations x2 = gA mod n et x2 = - gA mod n n'ont pas de solution 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 i 2exp(k) mod p, ou bien telles que : GA.QA 1 2.exp(k) mod p.=- 1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG (p@).
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 k iè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 :
Figure img00450002

x = (p+l)/4 ; y = xk mod (p- 1) ; z = y ; QA, GA' 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 GQ2 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 #uvre 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 #uvre : - un module public n tel que n soit le produit de facteurs premiers
Figure img00460001

secrets p,, pz, ... (p,, ...) (i étant supérieur ou égal à 2) n = p.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 = GAvx 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-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 img00470002

R' = GA d. D"x mod n ou du type : R'1.GA<1=EDï:iinodn - 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 #uvre : - un module public n tel que n soit le produit de facteurs premiers secrets p,, p2, ... (p,, ...) (i étant supérieur ou égal à 2)
Figure img00470003

n = pl.pZ. 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 dA. GB dR .... D" mod n ou du type :
R'. GA dA. GBdb. ... # Dv 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 {r1, r2, r3, ...}, telle que, pour chaque facteur premier p,, 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. GB dB .... Dv mod n ou du type : R' . GA d" . GB d$ .... --- D" 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 une collection d'aléas {r1, r2, r3, ...}, telle que, pour chaque facteur premier p,, 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 d produits par ledit dispositif contrôleur et
<Desc/Clms Page number 51>
destinés 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 :
Figure img00510001

R'= GA dia. GB de .... D" 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 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 {r,, r2, r3, ...}, telle que, pour chaque facteur premier p,, 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 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....DY mod n ou du type :
R'. GA dA. GB dB. ... # Dv 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'A. GB d'B....Dv mod n ou du type : R'. GA d'A. GB d'B....=: DV rnod 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,, QA,, ... (QA , ...), et QBI, QB2, ... (QB, , ...), des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QA1, QB,, ... pour chacun desdits facteurs premiers p,, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA,, QA2, ...
Figure img00540003

(QA,, ...), et QB,, Qu,,... (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 : GA = QA1v mod p, # puis, en appliquant la méthode des restes chinois pour établir GA tel que
GA =- QAv mod 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
<Desc/Clms Page number 55>
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.
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 k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1, Dans ce cas clé publique GA est un carré gA2 inférieur à n choisi de sorte que les deux équations x2 = gA mod n et x2 = - gA mod n n'ont pas de solution en x dans l'anneau des entiers modulo n.
Le dispositif témoin comporte des neuvièmes moyens de calcul pour calculer les dites composantes QA,, QA2, ... (QA,, ...) de la clé privée QA en appliquant des formules telles que :
GA = QA, 2exp(k) mod p@ ou bien telles que :
Figure img00550001

GA.QA2ep(l0modp=l 1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p.) 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.
<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 k iè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 ; 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 : mathématiques 1. Congruences Dans ce paragraphe, x, y et z sont des entiers naturels. z 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) } 1 a x =- b y (mod m); a.x -- b.y (mod m) } (Loi B)
Figure img00560002

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

bzz (mod m) ≤> { a.n b.n (mod m.n) } (Loi D) { a == b (mod r.s); pgcd(r, s) = 1 } r a = b (mod r); 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}. lx 1= lx, = a. Puis, pour i >-1, x,+ = a + x, (mod p)l Calculons le terme pour l' indice i+p : xi+ p = xi + p.a # xi (mod p) Par conséquent, la suite {X} est périodique et sa période est p.
Les p-1 premiers termes sont distincts et non nuls ; on y retrouve une fois et une seule fois chacun des entiers de 1 à p-1 ; les p-1 premiers termes forment donc une permutation des entiers de 1 à p-1.
Calculons le produit des p-1 premiers termes de la suite {X}.
Figure img00570003
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 La fonction d'Euler est notée par (p(n). C'est le nombre d'entiers positifs inférieurs à n et premiers avec n.
=> Lorsque a et n sont premiers entre eux, a#(n) = 1 (mod n).
=> Lorsque n est un nombre premier p, #(p) = p-1.
Figure img00570004
=*Lorsque n est le produit de deux nombres premiers distincts p, et P2.
<Desc/Clms Page number 58>
Figure img00580001
<PC n) = (Pl -1) . (p 2 -1).
:::::> Lorsque la factorisation de n est p,x. p2' . p31...., (p(n)ln = (1-1/P,) . (l-l/P2) . (l-l/P3) 1. 4. Rang des éléments dans le corps de Galois CG(p) Soit un nombre premier impair p. Soit un nombre entier positif a inférieur à p. Définissons la suite {X}.
Figure img00580002

lx 1 = 1 x, = a. Puis, pour i >-1, x, +1 a.xl (mod p)l Calculons le terme pour l'indice i+p et utilisons le théorème de Fermat. xt+p = aP .x = a.x, = xc+1 (mod p) Par conséquent, la période de la suite {X} est égale à p-1 ou à un diviseur de 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). le rang de l'élément a' (mod p) : ce rang s'exprime simplement en fonction dei et de p-1.
=> Lorsque i est premier avec p-1, c'est p-l .
# Lorsque i divisep-1, 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), y a <p(p-l) éléments générateurs où cp est la fonction d'Euler.
Par conséquent, dans le corps de Galois CG(p) où (p-l)/2 est un nombre premier impair noté par p', => il y a un seul élément de rang 1 : c'est 1, =* il y a un seul élément de rang 2 : c'est -1,
<Desc/Clms Page number 59>
# il y a p'-1 éléments de rang p', # il y a p'-1 éléments de rang 2.p' ; sont les éléments générateurs.
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).
Figure img00590001
=*Lorsque n est le produit de deux nombres premiers impairs p, et pz, ,(n) = PPcm,~1 Pz~1).
=} Lorsque a et b sont premiers entre eux, X(a.b) = ppcm(X(a), #(b)).
=} Pour les puissances d'un nombre premier impair p,
Figure img00590002

k(pe) pe-1.
=} Pour les puissances de 2, ,(2) - 1; ,(4) - 2; ,(2) - 2'~z.
=} Dans tous les cas, #(n) divise (p(n). L'égalité n'intervient que lorsque n est premier.
1. 6. Résidus quadratiques Considérons l'équation x2= 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 en x, on dit que c est un résidu non 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).
1. 7. Structure du corps de Galois CG(p) Pour tout nombre premier impair p, il y a (p-1)/2 résidus quadratiques (mod
<Desc/Clms Page number 60>
Figure img00600001

p) et (p-l)/2 résidus non quadratiques (mod p). De plus, 1\ 2\ ((p-I )/2)Z forment un ensemble complet de résidus quadratiques (mod p).
Pour tout nombre premier impair p, chaque résidu quadratique (mod p) a exactement deux racines carrées dans CG (p). effet, pour tout 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 carrées sont alors ~a1/2 (mod p). Les éléments x et p-x ont le même carré dans CG(p).
Pour tout nombre premier p congru à 3 (mod 4), pour tout nombre x positif et plus petit que p, l'un des deux nombres x ou p-x est un résidu quadratique (mod p) et l'autre un résidu non quadratique (mod p). Alors, la transformation élever au carré (mod p) permute l'ensemble des résidus quadratiques (mod p). L'ensemble des résidus quadratiques (mod p) est souvent noté par Q . Dans l'ensemble Q , les deux transformations élever au carré (mod p) et prendre la racine carrée (mod p) sont définies et inverses l'une de l'autre.
Remarque. Dans CG(p), lorsque (p-1)/2 est un nombre premier impair p', les résidus quadratiques (mod p) sont les p'-1 éléments de rang p' complétés par l'élément de rang 1, c'est-à-dire, 1.
Lorsque p est un nombre premier congru à 1 (mod 4), la propriété précédente peut se généraliser comme suit : si p-1 = z.2' oùz est impair et e plus grand que 1, alors la transformation élever au carré (mod p) permute l'ensemble des nombres c de rang impair, c'est-à-dire, dont le rang divise z (c'est z lui-même ou bien un diviseur de z), c'est-à-dire, l'ensemble des nombres c tels qu'il y a des solutions en x à l'équation suivante : x 2e # c (mod p) D'une manière plus générale, dans l'ensemble des éléments de rang impair de CG(p), l' opération élever au carré (mod p) est une permutation. La permutation inverse peut légitimement s'appeler prendre la racine carrée (mod p).
<Desc/Clms Page number 61>
1. 7.1. Fonction exponentielle sur CG(p) Lorsque p est un nombre premier impair et que a est un élément générateur de CG (p), transformation élever a à la puissance x ième (mod p) permute les éléments non nuls de CG (p). 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 img00610001

x H y = ax (mod p) t-* yf--7 x=loga(y) dans CG( p) 1. 7.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). 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
Figure img00610002

l'exposant v (mod p-1 ). x f--7 y == XV (mod p) ≤> y f--7 x == yS (mod p) 1. 8. 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, -1et 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
<Desc/Clms Page number 62>
formule est encore appelée le critère d'Euler.
Figure img00620001

(c 1 p) ccp m (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 img00620002
Si n= pxa. p2p... , alors (c 1 n) = (c 1 p,)a.(c p2)p ... En d'autres termes, si a et b sont des entiers positifs impairs premiers avec c et c',
Figure img00620003

(c 1 a. b) = (c 1 a). (c 1 b) et (c a) . (c' 1 a)= (c'. c 1 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.
Voici la base de la loi de réciprocité quadratique, la reine de la théorie des nombres aux dires de Gauss. Lorsque m et n sont deux nombres premiers impairs distincts, deux cas se présentent : - Ou bien, ils sont tous deux congrus à 3 (mod 4) ; ce cas, une seule des deux équations suivantes, x2 == m (mod n) et x2 = n (mod m), a deux solutions en x.
- Ou bien, ils ne sont pas tous deux congrus à 3 (mod 4) ; ce cas, les deux équations ont des solutions ou bien aucune des deux n'a de solution.
La loi de réciprocité quadratique lie les symboles de Jacobi (m # n) et
<Desc/Clms Page number 63>
(n m) où m et n sont deux entiers positifs impairs : Legendre et Euler connaissaient cette loi ; Gauss l'a démontrée.
Figure img00630001

(m 1 n). (n 1 m) = (- 1 t 1) (n 1)/4 En d'autres termes, le signe change quand m et n sont tous deux congrus à 3 (mod 4).
Figure img00630002

Notons la relation : (-1 n) ~ (-1 )" bzz 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 img00630003

Notons enfin la relation : (2 1 n) = (-1)(112~1)/8 En d'autres termes, 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. 9. 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 img00630004
(x-a).(x - fJ) = x2 - (a + P).x + a.0 = x2 - S.x+ P S P =S2-4.P=(a-/3)2 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 img00630005
U= u p = 0; u =1. Puis, pour i >- 0, u+2 = S.ul+1 - P.u {v}= {va = 2; vI = S. Puis, pour i >- 0, vi+2 = S,vi+l - 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.
<Desc/Clms Page number 64>
Figure img00640001

Ui et v(=a'+/3'
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 img00640002

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

u2.t = u .v, ; v2i=vf-2.Pl Pour retrancher un à l' indice, ut~ ~ (S.u; - v ) I 2.P et v~ ~ (S.vt - .u ) l 2.P Pour ajouter un à l'indice, Ui+i = (S.ui + v; ) l 2 et vi+l = (S.vi + t1,ui)/ l 2 Par ailleurs, les racines a et z3 s'expriment facilement en fonction de S =a+ {3 etde =a-3. à=(S+)/2 et 3=(S-)/2 Les expressions deu u@ et v, en fonction des racines a et 0 s'écrivent encore :
Figure img00640004

(sWÂÏ fs-VÂÏ (s+JÂl (s-JÂÏ ui = ±,/À 11 -j=- 't = ( S + J:i Ji + ( S - J:i Ji 2.J:i 2.J:i 2 2
Figure img00640005

Développons les polynômes (S + ) zk+1 et (S - )2k+I et combinons leurs développements.
Figure img00640006
2.k 1 2.k z3 2.k-2.A+ c2.k-1 . 2 k-l -M2.+]--2.+!- ''2.+i- -±--2.+!- - '' k ~ C2.k+1.S 2.(k-i) .Li i=O 22.k.v2.k+1 = S2.k+I 2 k+l S2.k-t,+ ... CZ.k+1 . S3.Ok 2.k+I..Li k = "C2.i S2.(k-i)+1 Ai L., C2.k+l 2.(k-i i=O
<Desc/Clms Page number 65>
Figure img00650001

Les coefficients du binôme sont notés par C qui vaut il (n # '# i)\ i ! (n-i)!@ 1. 9.1. Suites de Lucas sur le corps CG(p) Lorsque p est un nombre premier impair, p divise les coefficients du binôme Cpi pour i allant de 1 à p-1. En d'autres termes, il ne reste alors qu'un seul terme dans chacune des deux précédents développements de polynômes. On obtient donc :
Figure img00650002

2p-I.u p - 0(p-lOz (mod p), c'est-à-dire, up =(D.I p) (mod p) 2P-l.vp =SP (mod p), c'est-à-dire, v p = S (mod p) Lorsque (0 1 p) = +1, u p = 1 (mod p) et v p = S (mod p) Dans ce cas, en retranchant un à l'indice, on obtient : up~ =(S.up-vp)I2.P---0 (mod p) vp~]=(S.vp-A.up)/2.P = 2 (mod p) Lorsque A est un résidu 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 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.
Lorsque (# # p) = -1, up = -1 (mod p) et v p = S (mod p) Dans ce cas, en ajoutant un à l'indice une première fois, on obtient :
Figure img00650003

u p+ ~ (S.u p + v ) l 2 = 0 (mod p) vp+ ~ (S.vp + .u p ) l 2 = 2.P (mod p) Puis, en ajoutant un à l'indice une deuxième fois, on obtient : u p+2 = (S.u p+1 + v p+1 ) l 2 = P (mod p) v p+2 = (S.Vp+l + A.up+i )/2 = S.P (mod p) Lorsque # 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.
<Desc/Clms Page number 66>
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
Figure img00660001

divise up (0 p) et M,-,A ! I P. 2. Quelques méthodes pratiques de calcul 2. 1. Racines carrées dans CG(p)
Figure img00660002

Lorsque C(P-I)12 (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. 1.1. Cas où p est congru à 3 (mod 4) Selon le critère d'Euler, on a :
Figure img00660003

c(H)/2-sl (mod p), ce qui donne, bzz z - c (mod p). Lorsque le nombre premierp est congru à 3 (mod 4), le nombre (p+l)/4 est un entier ; par conséquent, les deux racines carrées de c dans CG (p)
Figure img00660004

alors :!:cCp+l)/4 (modp).
2. 1.2. 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 # = S2- 4. c soit un résidu non quadratique (mod p). On procède par essais successifs. En pratique, on part de S = 1, puis, on fait croître la valeur de S.
Lorsque A est un résidu non quadratique par rapport à un nombre premier p impair ne divisant ni c, ni S, ni #, les suites de Lucas pour les indices p+1 et p+2 sur le corps CG (p) dans l' état initial multiplié par c.
Figure img00660005
Or, on connaît les relations suivantes : v,2 - A.u,2 = 4.P' et m2.< U1 VI En d'autres termes, p divise alors Up+1 qui est égal au produit de U(p+I)12 par v (1)+1)/2* Par conséquent, p divise alors Uf.p+I)12 ou Vf.p+I)I2' En fait, p ne peut diviser V(HI)/2; il divise donc u,,,2.
On obtient donc, p+D/2 - 4.c('+) z (mod p) Or, - c(p+l)l2==c (mod p)
<Desc/Clms Page number 67>

Figure img00670001

Par conséquent, le nombre: x == - v (p+l) /2 2 (mod p) est alors une solution à l'équation : x --- c (mod p).
Les relations suivantes sont utilisées pour calculer les suites {U} et {V} ensemble.
Figure img00670002
Pour doubler l' indice, u2, = ul .v ; v2.i = Vi 2 2.ci Pour ajouter 1 à l'indice, u+1 = (S.u + v )I2; vi+l = (.1.u + S.vt )/2 La procédure suivante 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 ; donnerà 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).
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. 2. Algorithme d'Euclide L'algorithme d'Euclide opère la division des entiers. Soient deux entiers positifs x et y tels que x soit plus grand que y. Divisons x par y pour obtenir un quotient q positif et plus petit que ou égal à x et un reste r positif ou nul et plus petit que y.
Soit, 0 < y < x
Par conséquent, x = q. y + r avec 0 < q # x et 0<r<y 2. 2.1. Coefficients de Bezout et pgcd
<Desc/Clms Page number 68>
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 img00680001

0 < k < y, 0<~l<x et k.x -l.y = pgcd(x, y) Par divisions successives, l'algorithme d'Euclide permet de calculer efficacement les coefficients de Bezout et le plus grand commun diviseur de deux entiers positifs.
A partir des valeurs initiales Co = x et C1 = y, considérons les divisions successives :
Figure img00680002

Co = q .C + C2 ; Cl = 92 C2 + C3 ; ... jusqu' à : CL-1 = qL.CL + CL+l où CL+1 = 0.
Les restes successifs forment la suite {C} qui est ainsi définie pour les indices i allant de 0 à CL+1.
Les quotients successifs forment la suite {q}qui est ainsi définie pour les indices i allant de 1 à L.
La suite {C} peut encore se définir de la manière suivante.
Figure img00680003
C= Cp = x; Cl = y; puis, pour i allant de 1 à L, Ci+, = C,~ - ql .C, => La suite {C} est strictement décroissante de Co jusqu'à CL+I qui est nul.
Définissons maintenant deux autres suites appelées {A} et { B } .
IAI= 1 Ao = 1; A1 = 0; puis, pour i allant de 1 à L, A(+1 A~ + <?, .
{B}= {Bo = 0; BI = 1; puis, pour i allant de 1 à L, B+l = B~] + <?, .5, } Les premiers termes de la suite {A } sont Ao = 1, AI = 0, A2 = i, A3 = q2lA4 = 1 + q, => La suite {A} est strictement croissante de A3 à Al+l' Les premiers termes suivants de la suite {B} sont Bo=O,B=l,Bz=q,B3=1+q.q2,...
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 img00680004

A.C+1 + A+lCi = Ai-lCc + A.C~ Par conséquent, la valeur de A,.Ci+l + Ai+,.Ci est constante pour i allant de
<Desc/Clms Page number 69>
OàL.
Figure img00690001
Puisque Ao.C + A1.C = y, nous obtenons : .4] .C y, Et, de la même manière, BL+1 1 .C L = x. Par ailleurs, remarquons les égalités : jc.o # y.Bo = x (-1)0 ,Co x.A - y.B ~ -y = (-1) .C Supposons la relation vraie pour les indices i-1 et i ; puis, vérifions qu'elle est encore vraie pour l'indice i+1.
Figure img00690002

x.A,+ - yBl+ =x.(A-1 +qi.Al)-y.(Bl~] + q Bi ) ~ (x.At~ - y.Bl~ ) + 9 (x.At - y.B ) ~ (-1)- .(C~ - 9 Cr ) ~ (-I)+t .Ci+ 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 img00690003
<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> -
<tb>
Figure img00690004

1 0 1 10 103 = y 6
Figure img00690005
<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> 6 <SEP> 301 <SEP> 3 <SEP> 2
<tb> 10 <SEP> 2 <SEP> 701 <SEP> 17 <SEP> 019 <SEP> 2 <SEP> 1
<tb>
<Desc/Clms Page number 70>
Figure img00700001
<tb>
<tb> 11 <SEP> =L <SEP> 3 <SEP> 701 <SEP> = <SEP> AL <SEP> 23 <SEP> 320 <SEP> = <SEP> BL <SEP> 1 <SEP> = <SEP> CL <SEP> 2
<tb> 12 <SEP> 10 <SEP> 103 <SEP> = <SEP> y <SEP> 63 <SEP> 359 <SEP> = <SEP> x <SEP> 0
<tb>
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. 2.2. Inversion (mod n) L'algorithme d'Euclide calcule aussi l'inverse (mod x). Lorsque y est positif, que x est plus grand que y et que x et y sont premiers entre eux,
Figure img00700002

c'est-à-dire, CL= pgcd(x, y) = 1, les notations y-' (mod x) et 1/y (mod x) ont un sens. Bien entendu, la suite {A}est alors inutile.
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.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 img00700003

as z (mod x) et ay y == a X) (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. Supposons x plus grand que y. Tout d'abord, réduisons x (mod y), puis, inversons le résultat (mod y). Ce calcul est généralement fait à l'avance et le nombre # est stocké dans le dispositif de calcul. Le nombre # est un paramètre des restes chinois.
Figure img00700004

Vil = {x (mod y) }-' (mod y) Ensuite, réduisons la composante ax (mod y).
<Desc/Clms Page number 71>
Figure img00710001

a'z = 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 img00710002

axy = IÂ. (a - a's) (mod y) } . x + a;r Lorsque a est inférieur à a'x, az, {/L (ay + y - a'x) (mod y) } . x + ax 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.
(y 1 x) = (z. 2' 1 x) = (z # x). (2 # x)e => Si e est impair et si x = 3 ou 5 (mod 8), changer le signe de J.
3. Appliquer la loi de réciprocité quadratique sur z et x qui sont tous deux impairs.
Figure img00710003
(z 1 x)=(x 1 z).(-I)(;r\)(")14
<Desc/Clms Page number 72>
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 les deux nombres 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 img00720001
<tb>
<tb> q <SEP> C <SEP> C <SEP> (mod <SEP> 8) <SEP> J <SEP> change <SEP>
<tb> 63 <SEP> 659 <SEP> = <SEP> x <SEP> 3
<tb>
Figure img00720002

6 10 103 = y 7 *
Figure img00720003
<tb>
<tb> 3 <SEP> 3 <SEP> 041 <SEP> 1
<tb> 980 <SEP> 4
<tb> 12 <SEP> 245 <SEP> 5
<tb> 2 <SEP> 101 <SEP> 5
<tb> 2 <SEP> 43 <SEP> 3
<tb> 2 <SEP> 15 <SEP> 7 <SEP> *
<tb> 1 <SEP> 13 <SEP> 5 <SEP>
<tb> 22
<tb> 13 <SEP> 1 <SEP> 1
<tb>
<Desc/Clms Page number 73>
Par conséquent, (10 103 63 659) =-1.
2. 4. Carré et racine carrée dans Qn Dans ce paragraphe, le module n est le produit de deux facteurs premiers p1
Figure img00730001

et p2 congrus à 3 (mod 4). Dans ce cas, (p,+l)/4 et (p,+1)14 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 /?, 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.
Figure img00730002

y=x2 (mod*n) Considérons une deuxième transformation définie par élever y à la puissance (p,+1)/4 (mod p,) , puis, élever y à la puissance (p2+1)/4 (mod p2) , avant d'utiliser la méthode des restes chinois pour établir le résultat z (mod* n). Lorsque p, est plus petit que p2, les calculs sont très précisément les suivants.
Figure img00730003

y, = y (mod p1 ) z, == yiPl +1)/4 (mod) y2 = y (mod p2) Z2 --- y2+)ia (mod P2) z' = Z2 (mod pl ); Si Z] z', z"= zl - z'; Sinon, z"= z] + Pl - Z' A={/?2 (modp,)}"1 (mod/7]); ZI,2 = ,.Z" (mod p1 )I p2 + Z2; Z = Z,2 (mod * n) Ces deux transformations sont inverses l' une de l'autre. Leur produit est l'identité parce que le résultatz rétablit le nombre x de départ. Ce sont deux permutations, inverses l'une de l'autre, des éléments de Qn.
<Desc/Clms Page number 74>
La première permutation calcule le carré y dans Qn de l'élément x de Q .
La deuxième transformation calcule donc la racine carrée x dans Q 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 # x2 k (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 img00740001
Yt = Y (mod pl ); z=(i+l)/4; t - zk k (mod Pl -1); x = Yi t (mod Pl) Y2 = Y (mod p2); z = (P2 +1)/4; t - Zk (mod p2 -1); x2 = Yt2 (mod P2) X' = x2 (mod/?j); Si ]>', "=-'; Sinon, x"=xl +pl -x' =2 (modp!)}"1 (modpl); x\2={X.x" (mod Pl)}P2 + X2; x = x,2 (mod * n) 2. 5. 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 P2 à 7 (mod 8).
Lorsque le module n est le produit de deux facteurs premiers p, et p2 tels
Figure img00740002

que/7, 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) n'appartiennent à Qn.
Par la suite, a dénotera la racine carrée de 4 dans Qn. Cette racine est
Figure img00740003

représentée par les composantes : al = -2 (mod ,) et a2= 2 (mod P2) ou bien par a, = 2 (mod p, ) et a2= -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
<Desc/Clms Page number 75>
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 a par rapport à n vaut +1 alors 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 a+2.
Figure img00750001
D'autre part, étant donnés les facteurs premiers p, et pz, la racine carrée de 4 dans Qn est représentée par les composantes : ai= -2 (mod /?,) et a2 = 2 (mod pz), ou bien, at 2 (mod ,) et a2 -2 (modp2). Selon les restes chinois, on reconstruit a.
Shafi Goldwasser, Silvio Micali et Ronald Rivest ont introduit la paire de fonctions {F0; F1}sur Qn.
Figure img00750002

F,)(x) =- x' (mod* n) et F,(x) 4.xz (mod* n) Cette paire de fonctions permute les éléments de Q .
Figure img00750003

Une collision est définie par deux éléments x et y de Qn tels que F0(jc) = 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 sans en transférer la connaissance.
3. Charges de travail La charge de travail pour élever x à la puissance v ième (mod n) 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.
<Desc/Clms Page number 76>
L'utilisation des facteurs premiers p,, p2, ... d'un module n diminue la charge de travail pour calculer (mod n). 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(p2), ... c'est-à-
Figure img00760001

dire, (mod p,), (modp2), ... puis, établir le résultat dans l'anneau Z n, c'est-à- dire, (mod n = p, fois p2 fois ...). Cette manière de procéder est appelée la méthode des restes chinois. 3. 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+b.2256 où a et b sont des nombres de 256 bits. La multiplication de a+b.2256 par c+d.2256 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+b.2256 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 img00760002

s'écrit alors a+2"'.b+2'Z.c où a, b et c sont des nombres de 171 bits. La multiplication de a+27'.b+2'4'.c par d+2"'.e+2"Z.f amène à calculer neuf. En
<Desc/Clms Page number 77>
doublant la longueur, on multiplie par neuf la charge de travail pour
Figure img00770001

multiplier. Le carré de a+2"'.b+2"z.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é.
3. 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).
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 p,, 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 img00770002

calcule x' (mod n) pour un exposant v = 2' + v ~I .2-I + ... v .2 + vp où chaque bit de v@-@ à v0 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).
<Desc/Clms Page number 78>
3. Le résultat cherché est y.
Selon la procédure précédente, le calcul peut se faire par log2(v) carrés (mod n) entrelacés avec h (v) (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.
Pour un module n 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).
Deuxième partie : 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
Figure img00780001

au moins deux facteurs premiers notés part, p2 P3 ... Certains facteurs premiers peuvent apparaître plusieurs fois. Le produit des facteurs premiers forme un module public n = p1. p2 (. p3 ...).
Figure img00780002

un jeu de paramètres des restes chinois notés.A. A, 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,
Figure img00780003

s'il y a trois nombres premiers, p, est plus petit que PI fois p2, s'il y a quatre nombres premiers, p, est plus petit que PI fois pz fois p3,
<Desc/Clms Page number 79>
et ainsi de suite.
Dans ce cas, voici un exemple de jeu de paramètres des restes chinois.
Figure img00790001
Àa = (P2 (mod P\ )-1 (mod P\ ) 6 = ((Pt P2 (mod P3 -' (mod P3 ) c = ((Pt P2 P3 (mod P4 -1 (mod P4 )
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 des deux relations suivantes lie chaque paire de clés selon la présente invention par les nombres v et n.
Figure img00790002
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 besoin 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 img00790003
*<2, = C (mod Pt ) 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.
Qa = Q2 (mod p1); ;
Figure img00790004

Si 6)>6 6=6)-<2 Sinon, 6a==6]+!-6
<Desc/Clms Page number 80>
Figure img00800001

Q1,2 - a Qa (mod Pl)}P2 ' Q2 Qb C),2 (mod P3); Si Q3 Q, Qb = Q3 - Qb Sinon, =63+3-6 Qt,2,3 =bQb (mod p3)pt.P2+Q1,2
Et ainsi de suite. Q est égal à Q1,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 img00800002

0 < 6, </' 0 < 62 <Pz' 0 < Q3 < P3, ... Il y a une composante par facteur premier. En pratique, pour réduire la charge de travail, on choisit des composantes Q, 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.
Qa # Q2 (mod/?,); ;
Figure img00800003

Si 6)>6 -6)- Sinon, Qa = Qt + P1 -Qa Q1,2 =aQa (mod P)]P2 +Q2; Qb = Q1,2 (mod p3 ) Si Q3 Qb, Qb = Q3 - Qb; Sinon, Qb = Q3 + P3 - Qb; Q1,2,3 - b Qb (mod P3 )P1 P2 + Q1,2 Et ainsi de suite. Q est égal à QI,2,3, .0. La clé publique G est la puissance v ième de Q (mod n) ou bien son inverse (mod n).
Figure img00800004

G = Q (mod n) ou bien G { Q" (mod n) 1 -' (mod n) 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 img00800005
Gl == Qr (mod p );
<Desc/Clms Page number 81>
Figure img00810001

G2 = Q2 (modp2); Ga = G2 (mode); Si Gt aga, Ga =G-Ga; Sinon, Ga =Gl + Pl-Ga; Gt,2 --~ .a .Ga (mod pt )P2 + G2 G, = Gl>2 (mod P3); G3 = Q3 (mod p3 ) Il il Si G3>Gb, Gg = G3 -Gb; Sinon, Gb = G3 + p3 -Gb; G1,2,3 = 6.G6 (mod P3)}Pl-P2+G\t2\
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.
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 à wk 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
Figure img00810002

outre, pour au moins un facteur premier p, l'équation xz --~ g (mod p) n'a pas de solution en x dans CG (p) pour au moins un facteur q l'équation x 2 = -g (mod q) n'a pas de solution en x dans CG(q). Cette construction assure que les deux équations x 2= g (mod n) et x2 = -g (mod n) n'ont pas de solution en x dans l'anneau des entiers modulo n, c'est-à-dire que les nombres g et-g sont deux résidus non quadratiques (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 comme nombre de base 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 comme nombres de base et retrouver 6 comme le produit de 2 et 3.
Pour chaque nombre g, la clé publique G est égale à g2.
<Desc/Clms Page number 82>
Pour chaque nombre g, chaque composante Q1 Q2 Q3 ... est la k ième racine carrée de G dans CG (p) 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, Birkhauser, 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) ; on inverse ou non le résultat (mod p) pour obtenir la composante Q, pour le facteur premier/?.
Note. Plutôt que d'extraire k racines carrées successivement, on peut procéder de manière globale.
Figure img00820001

x=(p+1)14; y=xk (modp-I); z=p-I-y; Qp =G (mod p); par conséquent, p divise G.Qp2K-1. ou bien,
Figure img00820002

x=(p+1)I4; y=xk (mod p-1); z= y; Qp =- G (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 Q, pour le facteur premier p@.
Figure img00820003
Par conséquent, p divise G.Q -1 ou bien, Qp # 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.
Figure img00820004

G.Q2k =1 (mod n) ou bien, Q2 k == G (mod n) Par conséquent, dans l'anneau des entiers modulo n, le k-1 ième carré de chaque clé privée Q ou son inverse (mod n) est une racine carrée non
<Desc/Clms Page number 83>
triviale de la clé publique G = g2. Appelons q cette racine carrée de G (mod n) qui n'est ni g ni -g. Par conséquent, n qui divise q2-g2 ne divise ni q-g ni q+g. Ainsi, le module n se scinde en deux facteurs non triviaux : le pgcd de n et de q-g et le pgcd de n et de q+g. Par conséquent, pour n'importe quelle clé privée Q, la connaissance de n'importe laquelle des k valeurs {Q, Q2, Q4, ... jusqu'au k-1 ième carré de Q (mod n)} révèle une factorisation non triviale du module n.
Contraintes induites par les nombres de base 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.
Figure img00830001
#(3 1 p) = +1 lorsque 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é.
# (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) = +1 lorsque p est congru à 1 ou 5 (mod 24).
Figure img00830002
(6 1 p) = -1 lorsque p est congru à 7 ou +1 (mod 24).
<Desc/Clms Page number 84>
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) = +1 lorsque p est congru à 1, 3 ou 9 (mod 28).
Figure img00840001
(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érification v est égal à ak. 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 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.
<Desc/Clms Page number 85>
Pour chaque nombre g, la clé publique G est égale à 8a.
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). II 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) ; on inverse ou non le résultat (mod p) pour obtenir la composante Q, pour le facteur premier p1.
Note. On peut procéder de manière globale pour accéder directement au résultat cherché.
Figure img00850001

x = ( p - 2) l 3; y = xk (mod p -1 ); z = y; Q p = G (mod p); par conséquent, pdivise Qp 3* -G. x=(p-2)/3; y=xk (modp-l); 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 img00850002

p divise G.Q -1 ou bien Qp - G.
1. 2. Entités Le procédé met en #uvre les trois entités suivantes.
Une première entité témoigne ; c'est le témoin. Il dispose d'un exposant public de vérification v = 2k. En fonction des compromis retenus entre charge de travail et volume de données à stocker, le témoin stocke encore d'autres nombres :
Figure img00850003

- ou bien les j facteurs premiers p, P2 P3 ... et les 1 clés publiques GA GB ... ; à chaque appel, le témoin doit alors reconstituer les l clés privées QA QB ... selon le paramètre k à partir des 1 clés publiques
Figure img00850004

GA GB ... et des j facteurs premiers p, p2 P3 ... ;
<Desc/Clms Page number 86>
- ou bien, le module n et les1 clés privées QA QB... ; le témoin ne fait alors appel ni aux facteurs premiers ni aux restes chinois ;
Figure img00860001

- ou bien un ensemble de j.(l+2)-1 nombres privés de tailles voisines pour utiliser les facteurs premiers et les restes chinois : - j facteurs premiers p1 p2 p3
Figure img00860002

- j-1 paramètres des restes chinois A a A, - j.1 composantes de clés privées : QA, QA2 ... QB( QB2 ...
Une deuxième entité pilote le témoin ; c'est le pilote. Il dispose d'un certificat Cert(Id, n) liant le module n à une identité Id. Il connaît un message m. S'il s'agit d'une authentification dynamique, c'est-à-dire, d'une preuve interactive de connaissance, il est encore appelé 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, le pilote est encore appelé signataire ; signataire dispose de l'exposant public de vérification v et d'une fonction de hachage f.
Une troisième entité vérifie ; c'ést le contrôleur. Selon le cas, le contrôleur vérifie l'authentification ou la signature ; il dispose d'un module public N pour ouvrir les certificats afin d' établir une identité Id et un module n, de l'exposant public de vérification v = 2k, des l clés publiques GA, GB, ... et de la fonction de hachage f.
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) En termes de charge de travail du témoin, la solution optimale consiste à utiliser les facteurs premiers, les paramètres des restes chinois et les composantes des clés- privées. Chaque clé privée Q est construite, puis,
<Desc/Clms Page number 87>
stockée et utilisée sous la forme de composantes, Q1 Q2... une composante
Figure img00870001

par facteur premier, Pl P2 ... Les clés privées Q n'apparaissent alors jamais et le témoin n'utilise pas non plus les clés publiques G.
En termes de charge de travail du contrôleur, la solution optimale consiste à utiliser pour G une valeur qui soit la plus petite possible. Les valeurs sur un seul quartet ou un seul octet sont particulièrement conseillées. En pratique, on utilise pour ga gb ... les premiers nombres premiers : 2,3, 5,7, 11, ....
Dans la présentation qui suit le témoin utilise les facteurs premiers et les restes chinois. Le témoin peut s'en abstenir, ce qui affecte simplement et seulement les actions du témoin. Le protocole GQ2 déroule les étapes suivantes permettant au contrôleur de vérifier l'origine et l'intégrité d'un message m.
- L'authentification dynamique est une preuve interactive.
- La signature numérique est une preuve non interactive.
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 : pour chaque facteur premier p,, chaque jeu comporte un nombre entier r, positif et plus petit que p@. Ces nombres entiers sont ensuite appelés les aléas r, r2 r3 ...
Figure img00870002
0<r <pl; 0<r2<p2; 0<r3<p3; # Pour chaque exposant public de vérification vx vy vz ..., et pour chaque facteur premier p,, le témoin élève chaque aléa r à la puissance v ième (mod pi).
Figure img00870003
RI rlv (mod p1 ); RZ --- r2 (mod p2 ); R3 == r3' (mod P3); # Puis, le témoin établit chaque engagement R (mod n) selon la méthode des restes chinois.
<Desc/Clms Page number 88>
Figure img00880001
Ra' = R2 (mode); Si 1 - a' a - 1 a' Sinon, a - 1 + Pl a ' Rl,2 =.{Àa.Ra" (mod pt )Î P2 + R2; Rb RI 2 (mod P3); Si R3 >- Rb , Rb = R3 - Rb ; Sinon, Rb = R3 + p3 - Rb ; Rt,2,3 = î.b.Rb (mod P3 )pt P2 + Rt,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 img00880002

d' engagements R que de jeux'd' aléas r, r2 r3 ...
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.
<Desc/Clms Page number 89>
Etape 3. Réponse du témoin au défi # Pour chaque exposant public de vérification vx vy vz pour chaque facteur premier p@, le témoin calcule
Figure img00890001

la puissance dA ième de la composante QA, (mod p), 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#);
Figure img00890002

Dl -rl,QAdA.QBdB... (mod PI); D2 - = r2.QA2A.QB2B... (mod p2); D3 --- r3 .QA3 A .QB dB ... (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 img00890003
Da = D2 (modp,); Si D, >Da, Du =Dl -DQ; Sinon, Da =Dl + pl -Da; D1,2 ==a.D (mod pl )p2 +' D2 Db - D1,2 (mod p3 ); Si D3 >- Db, Db D3 - Db; Sinon, Db = D3 + p3 - Db; Dl,2,3 == b .D (mod p3 )p .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
Figure img00890004

{R, d, D} que de jeux d'aléas r, 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.
R = GAdA .GB dB .... D'' (mod n);
Figure img00890005

ou bien R GA dA .GBdB.... == D v (mod 11);
<Desc/Clms Page number 90>
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, * 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 . Il 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 img00900001
R'=.(GAdA.GBdB....)Dv (mod n); ou bien R' --~ D'' l (GAdA.GBB.... ) (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
<Desc/Clms Page number 91>
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 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 de 0 à 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
<Desc/Clms Page number 92>
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 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 img00920001
D'une part, le témoin se configure à partir des facteurs premiers PI P2 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 img00920002

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

vaut Q'~d (mod n), c'est-à-dire l'une des v-1 valeurs { , Qu, Q', ... Qv- (mod n)}, sachant que Qv (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
<Desc/Clms Page number 93>
suivantes ; l'algorithme de division d'Euclide permet de les calculer efficacement.
Figure img00930001

0<-k<e-d; 0<-l<v; k.v-l.(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 img00930002

Qk.v-l.(e-d) = Q1 (mod n) C'est-à-dire, (Q" kl(Q e-d )1 = Q (mod n) #Lorsque G =6" (mod n) est utilisée, G kl(EID)l (mod n) vaut Q (mod n) ou son inverse modulo n.
#Lorsque G.Qv =1 (mod n) est utilisée, Gk.(E / D)l (mod n) vaut
Q (mod n) ou son inverse modulo n.
3. 2. Jeux de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n Les nombres GQ2 sont des produits de l+1 facteurs premiers distincts congrus à 3 (mod 4) avec la contrainte suivante : pour chacun de 1 petits nombres distincts, appelés nombres de base et notés par ga, gb, ainsi que pour chacune de leurs combinaisons multiplicatives ga.gb, ..., soit en tout 2i-1 nombres représentés de façon générique par g, les deux équations x2 # g (mod n) et x2 = -g (mod n) n'ont pas de solution en x dans l'anneau des entiers modulo n. On dit alors que les nombres g et -g sont deux résidus non quadratiques modulo n.
Note. Petit signifie plus petit que le plus petit des facteurs premiers. De préférence, les nombres de base sont les l premiers nombres premiers ga = 2, gb = 3,...
Les plus simples des nombres GQ2 sont les nombres de Williams avec un seul nombre de base ga = 2 et deux facteurs premiers, l'un congru à 3 (mod 8) et l'autre à 7 (mod 8).
Rappelons que pour chaque nombre g qui n'est pas un carré, chaque nombre premier congru à 3 (mod 4) et plus grand que g se classe dans l'une
<Desc/Clms Page number 94>
des deux catégories suivantes : - la catégorie où g est un résidu non quadratique (et donc -g un résidu quadratique), - la catégorie où -g est un résidu non quadratique (et donc g un résidu quadratique).
Définition. Deux facteurs premiers sont équivalents ou complémentaires au regard d'un nombre g selon qu'ils appartiennent ou pas à la même catégorie au regard du nombre g.
Définition. Au regard de chaque nombre g, le profil dej facteurs est défini par une séquence de l bits en attribuant le symbole 1 au premier facteur ainsi que à tous les facteurs qui lui sont équivalents, c'est-à-dire qui ont le même symbole de Legendre, et le symbole 0 à tous les facteurs qui lui sont complémentaires, c'est-à-dire, qui ont l'autre symbole de Legendre.
Pour obtenir le profil au regard du produit de plusieurs nombres de base ga, gb, ..., on calcule le produit des symboles de Legendre, puis, on code le profil résultant en attribuant le symbole 1 au premier facteur ainsi que à tous les facteurs qui lui sont équivalents, c'est-à-dire, qui ont le même symbole de Legendre, et le symbole 0 à tous les facteurs complémentaires, c'est-à-dire, qui ont l'autre symbole de Legendre.
Pour pouvoir comparer des profils, il faut ranger les facteurs dans le même ordre, par exemple, dans l'ordre croissant.
3. 2.1. Méthode systématique de construction des nombres GQ2 Voyons comment construire les nombres GQ2 de manière systématique, de façon à pouvoir intégrer simplement la méthode de construction dans un générateur de modules n.
Le premier facteur doit simplement être congru à 3 (mod 4). On notera toutefois son symbole de Legendre par rapport aux l nombres de base ga, gb, ...
Le deuxième facteur doit être complémentaire au regard du premier nombre
<Desc/Clms Page number 95>
de base ga. Par exemple, lorsque ga = 2, un facteur doit être congru à 3 (mod 8) et l'autre à 7 (mod 8) : un nombre de Williams. Par exemple encore, lorsque ga = 3, un facteur doit être congru à 1 (mod 3) et l'autre à 2 (mod 3), sachant qu'ils sont bien sûr tous deux congrus à 3 (mod 4). On notera également le symbole de Legendre du deuxième facteur par rapport aux l nombres de base ga, gb, ... et on commencera à établir les 2'-1 profils.
Le troisième facteur doit prendre en compte le deuxième nombre de base gb (par exemple, gb = 3 après ga = 2). Deux cas se présentent, selon que les deux premiers facteurs premiers sont équivalents ou complémentaires au regard du nombre gb.
- Lorsque les deux premiers facteurs premiers sont équivalents au regard du nombre gb, le nouveau facteur doit être complémentaire au regard du nombre gb.
- S'ils sont complémentaires, alors par rapport au premier facteur, le nouveau facteur doit être équivalent au regard de l'un des deux nombres ga ou gb et complémentaire au regard de l'autre.
On notera encore le symbole de Legendre du troisième facteur par rapport aux l nombres de base ga, gb, ... et on commencera à établir les 2'-1 profils. Ainsi, avec trois facteurs, pour les deux nombres de base, il y a trois profils possibles : 100, 110 et 101. La construction assure un profil différent pour chacun des trois nombres ga, gb et ga fois gb.
Le quatrième facteur doit prendre en compte le troisième nombre de base gc (par exemple, gc = 5 après gb = 3 et ga = 2). Deux cas se présentent, selon que les trois premiers facteurs sont équivalents ou pas au regard du nombre gc.
- Lorsque les trois premiers facteurs premiers sont équivalents au regard du nombre gc, le nouveau facteur doit être complémentaire au regard du nombre gc.
<Desc/Clms Page number 96>
- S'ils ne sont pas équivalents, ils reproduisent le profil de l'un des trois nombres ga, gb ou ga fois gb (par exemple, 2,3 ou 6), soit g ce nombre. Par rapport au premier facteur, le nouveau facteur doit être équivalent au regard de l'un des deux nombres g ou gc et complémentaire au regard de l' autre.
On notera encore le symbole de Legendre du quatrième facteur par rapport aux nombres de base ga, gb, ... et on continuera à établir les 2'-1 profils. Ainsi, avec quatre facteurs premiers, pour trois nombres de base, il y a sept profils possibles: 1000,1100, 1010,1001, 1110,1101 et 1011. La construction assure un profil différent pour chacun des sept nombres suivants : les trois nombres de base : ga, gb, gc et leurs quatre combinaisons multiplicatives ga.gb, ga.gc, gb.gc et ga.gb.gc.
Ensuite, la procédure se généralise aisément de la manière suivante.
Lorsque j facteurs sont déjà construits, le 7+ 1 ième facteur doit prendre en compte un j ième nombre de base ; appelons g' ce nombre, par exemple, le j ième nombre premier après les j-1 premiers nombres premiers. Deux cas se présentent, selon que les j premiers facteurs sont équivalents ou pas au regard du nombre g'.
- Lorsque les j premiers facteurs premiers sont équivalents au regard du nombre g', le nouveau facteur doit être complémentaire au regard du nombre g'.
- S'ils ne sont pas équivalents, ils reproduisent le profil de l'un des j-1 nombres ga, gb, ... ou de l'une de leurs combinaisons multiplicatives ga fois gb, ... ; appelons g ce nombre. Par rapport au premier facteur, le nouveau facteur doit être équivalent au regard de l'un des deux nombres g ou g' et complémentaire au regard de l'autre.
On notera encore le symbole de Legendre du j+1 ième facteur par rapport aux l nombres de base ga, gb, ... et on continuera à établir les 2'-1 profils.
<Desc/Clms Page number 97>
3. 2.2. Utilisation cryptographique des nombres GQ2 Voici deux motifs d'intérêt cryptographique pour les nombres GQ2.
- Produire des paires de clés pour des schémas de signature numérique qui étendent l'usage de l'exposant 2 à des modules n ayant plus de deux facteurs premiers.
- Produire des jeux de clés pour des schémas GQ2 d'authentification dynamique ou de signature numérique.
3. 2.2.1 Dans l'annexe A de ISO/CEI 9796, extension de l'usage des exposants pairs à des modules ayant plus de deux facteurs premiers, chaque facteur étant congru à 3 (mod 4).
=> Pour éviter de divulguer la factorisation du module n en appliquant la fonction privée de signature à un argument, c'est-à-dire, en calculant une racine carrée (mod n), il faut égaliser les symboles de Legendre de l'argument par rapport à l'ensemble des facteurs premiers du module n. Cette égalisation se fait en divisant par un égaliseur approprié. A la vérification, il faut décoder le résultat, c'est-à-dire, déduire la valeur de l'égaliseur mis en #uvre à la signature.
Il faut d'abord choisir et normaliser un ou plusieurs petits nombres. Ces nombres sont de préférence les l premiers nombres premiers. Nous les nommerons les égaliseurs de base et les noterons par ga, gb ... Les l égaliseurs de base complétés par leurs combinaisons multiplicatives, soit 2-1 nombres en tout, constituent l'ensemble des égaliseurs. Voyons comment utiliser les égaliseurs.
# Deux facteurs - On choisit d'abord un égaliseur de base ga (par exemple, ga = 2 ; pourrait aussi bien prendre 3, 5 ou 7 ...). Puis, on choisit deux facteurs premiers complémentaires au regard de l'égaliseur ga (par exemple, lorsque ga = 2, un facteur est congru à 3 (mod 8) et l'autre à 7 (mod 8)). Lorsqu'un argument est soumis à la fonction privée
<Desc/Clms Page number 98>
de signature, on calcule le symbole de Jacobi de l'argument par rapport au module n. S'il vaut +1, on garde l'argument tel quel. S'il vaut-1, on remplace l'argument par l' argument divisé par l' égaliseur ga pour mettre le symbole de Jacobi à +1 ; suite à cette opération, le symbole de
Jacobi de l'argument vaut +1, c'est-à-dire que les symboles de Legendre de l'argument sont alors tous les deux égaux à-1 ou bien tous les deux égaux à +1. Cette méthode figure dans l'annexe A de la norme ISO/CEI
9796.
# Trois facteurs - On choisit d'abord deux égaliseurs de base, par exemple, ga = 2 et gb = 3. Puis, on choisit les trois facteurs premiers de sorte que ga = 2, gb = 3 et ga.gb = 6 soient tous les trois des résidus non quadratiques (mod n). Lorsque les trois symboles de Legendre de l'argument sont inégaux, on les égalise en divisant l' argument selon le cas par ga = 2, gb = 3 ou ga.gb = 6, c'est-à-dire, par l'égaliseur qui présente le même profil que l'argument.
# Quatre facteurs - On choisit d'abord trois égaliseurs de base, par exemple, ga = 2, gb = 3 et gc = 5. Puis, on choisit les quatre facteurs premiers de sorte que les sept nombres 2,3, 5,6, 10,15 et 30 soient des résidus non quadratiques (mod n). Lorsque les quatre symboles de
Legendre de l'argument sont inégaux, on les égalise en divisant l'argument par l' égaliseur approprié : 2,3, 5,6, 10,15 ou 30, c' est-à- dire, celui qui présente le même profil que l'argument.
# Cinq facteurs - On choisit d'abord quatre égaliseurs de base, par exemple, ga = 2, gb = 3, gc = 5 et gd = 7. Puis, on choisit les cinq facteurs premiers de sorte que les quinze nombres 2,3, 5,6, 7,10, 14,
15,21, 30,35, 42,70, 105,210 soient des résidus non quadratiques (mod n). Lorsque les symboles de l'argument sont inégaux, on les égalise en divisant l'argument par l'égaliseur approprié : 2,3, 5,6, 7,
10,14, 15,21, 30,35, 42,70, 105,210, c'est-à-dire celui qui a le même
<Desc/Clms Page number 99>
profil que l'argument.
# Et ainsi de suite.
3. 2.2.2. GQ2 - Le module est le produit de facteurs premiers congrus à 3 (mod 4).
# La propriété à assurer est que toute paire de triplets GQ2 en tenaille révèle une factorisation non triviale du module.
Il faut d'abord choisir un ou plusieurs petits nombres. Ce sont de préférence les l premiers nombres premiers. Nous les appellerons les racines triviales de base et les noterons par ga, gb, gc ... Les racines triviales de base complétées par leurs combinaisons multiplicatives, soit, en tout, 2'-1 nombres, constituent l'ensemble des racines triviales.
# Deux facteurs - Il faut d'abord sélectionner une seule racine triviale de base ga (par exemple, ga = 2 ; pourrait aussi bien prendre 3,5 ou 7 ...). Il faut ensuite choisir les deux facteurs de sorte que la racine triviale ga soit un résidu non quadratique (mod n), c'est-à-dire que les facteurs soient complémentaires au regard de la racine triviale ga.
# Trois facteurs - II faut d'abord sélectionner deux racines triviales de base, par exemple, ga = 2 et gb = 3. Il faut ensuite choisir les trois facteurs de sorte que les trois (2 puissance 2 moins 1) racines triviales ga gb et ga.gb, par exemple, 2,3 et 6, soient des résidus non quadratiques (mod n).
# Quatre facteurs - Il faut d'abord sélectionner trois racines triviales de base, par exemple, ga = 2, gb = 3 et gc = 5. Il faut choisir ensuite les quatre facteurs premiers de sorte que les nombres 2,3 et 5, ainsi que leurs combinaisons multiplicatives, c'est-à-dire, 6,10, 15 et 30, soient tous les sept (2 puissance 3 moins 1) des résidus non quadratiques (mod n). Ces sept nombres sont les racines triviales.
# Cinq facteurs - Il faut d'abord sélectionner quatre racines triviales de base, par exemple, ga = 2, gb = 3, gc = 5 et gd = 7. Il faut choisir
<Desc/Clms Page number 100>
ensuite les cinq facteurs premiers de sorte que les nombres 2,3, 5 et 7, ainsi que leurs combinaisons multiplicatives, c'est-à-dire, 6,10, 14,15,
21,30, 35,42, 70,105 et 210, soient tous les quinze (2 puissance 4 moins 1) des résidus non quadratiques (mod n). Ces quinze nombres sont les racines triviales.
# Et ainsi de suite.
Dans les mécanismes GQ2 d'authentification dynamique et de signature numérique, toute paire de triplets GQ2 en tenaille révèle une des k valeurs
Figure img01000001

{6. Q2, Q4, ... jusqu'au k-1 ième carré de Q (mod n) où Q est une des 2'-' combinaisons multiplicatives des l clés privées de base QA, QB, ... Ceci revient à connaître le k-1 ième carré d'un nombre Q (mod n) ; nombre ou son inverse (mod n) est une racine carrée (mod n) de la combinaison correspondante des clés publiques, combinaison que nous notons par G = g2. Nommons q ce nombre.
La mise en #uvre de nombres GQ2, c'est-à-dire, de modules n construits selon la méthode précédentes à partir de l+1 facteurs premiers et de l racines de base ga gb ..., assurent que, pour toute paire de triplets en tenaille, le nombre q obtenu ci-dessus est une racine carrée non triviale de
Figure img01000002

G = g2 dans l'anneau des entiers modulo n. Le module n divise q2-gz, alors qu'il ne divise ni q-g ni q+g. Ainsi, avec des nombres GQ2, toute paire de triplets GQ2 en tenaille révèle une factorisation non triviale du module n. Sur l'ensemble des paires de triplets en tenaille, toutes les factorisations non triviales sont possibles : la factorisation est déterminée par le profil du nombre g concerné : d'une côté, tous les facteurs premiers équivalents au premier facteur premier, de l'autre tous les autres facteurs premiers, c'est-àdire, ceux qui sont complémentaires au premier facteur premier.
<Desc/Clms Page number 101>
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 ; 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 102>
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).
Pour une authentification avec j.(k-1) = 16 avec j = l, 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 103>
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).
Figure img01030001
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
Figure img01030002

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 104>
Figure img01040001

(k-1).l= 16 1=1 1 = 2 1 = 4 1 = l= 16
Figure img01040002
<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> 16X+ <SEP> 8X+ <SEP> 8M <SEP> 2X+ <SEP> 1 <SEP> X <SEP> + <SEP>
<tb> 8M <SEP> 8X <SEP> 8M <SEP> 8M
<tb> Total <SEP> du <SEP> 33 <SEP> X <SEP> + <SEP> 17 <SEP> X <SEP> + <SEP> 9 <SEP> X <SEP> + <SEP> 5 <SEP> X <SEP> + <SEP> 3 <SEP> X <SEP> + <SEP>
<tb> témoin <SEP> 9M <SEP> 9M <SEP> 9M <SEP> 9M <SEP> 9M
<tb> Trois <SEP> 11 <SEP> X <SEP> + <SEP> 6X+ <SEP> 3X+ <SEP> 2X+ <SEP> 1 <SEP> X <SEP> +
<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. Il 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 #uvre trois entités : - une première entité appelée témoin dispose des facteurs premiers p,, p2, ... (p1,...) (i étant supérieur ou égal à 2) d'un module public n tel
Figure img01050001
que n = Pl'P2' P3.... , ledit témoin dispose aussi * des composantes QAI, QA 21 ... (QA,, ...), et Qui, QB2, ... (QB, ...), ..., représentant des clés privées QA, QB,...
R, r1vx mod p, où r; est un entier, associé au nombre premier p,, tel que 0 < r < p1, chaque r 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.QAvx mod n 1 ou GA QAvxmod 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:
composantes GA,, GA2, ... (GA,, ...) 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 img01050002
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 106>
R'== GA dA. GB dB....DV mod n 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 img01060002
D, = ri, QA; . QB, .... mod p. où r, est un aléa tel que 0 < r, < p, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer 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, 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 img01060001
* 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 #uvre trois entités : - une première entité appelée témoin dispose des facteurs premiers
Figure img01060003
Pl, P2, ... (P; ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pi'P2' P3' "' ledit témoin dispose aussi * des composantes QA,, QA2, ... (QA, , ...), et QB1, QB2, ... (QB, ,
<Desc/Clms Page number 107>
qu'il y a autant d'engagements R que de collections d'aléas { ruz, rz, r3, ... }, 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, - 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 égalu nombre d'engagements R, chaque collection {dA,
Figure img01070003
r, < p, , chaque ra appartenant à une collection d'aléas fur,, 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
Figure img01070002
Ri = riv mod p où r est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 <
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 :
Figure img01070001
...), ..., 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,, ...) * 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 108>
R' . GA dia. GB dll Dv mod n ledit contrôleur vérifie que les triplets {R', d, D} sont cohérents.
Figure img01080003
R'=== GA dA. GB dB.... DV mod n ou du type :
Figure img01080002
D -r.QA 1 dA . 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 p, à 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 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 img01080001
dB, ...}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 #uvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers p1, p2, ... (p., ...) (i étant supérieur ou égal à 2) d'un module public n tel
Figure img01080004
que n = p,.pz. p3.... , ledit témoin dispose aussi * des composantes QA,, QA2, ... (QA,, ...), et QB,, QB2, ... (QB, , ...), ..., représentant des clés privées QA, QB,...
composantes GA,, GA2, ... (GA,, ...) et GB,, Gaz, ... (GB,, ...)
Figure img01080005
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 109>
1 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 - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre
Figure img01090003
R; --- r mod p, de sorte que le nombre d'opérations arithmétiques modulo p1, à 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, - 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
Figure img01090002
premier P" chaque collection comporte un aléa rpositif 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,
Figure img01090001
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 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 {r,, r2, r3, ...},telle que, pour chaque facteur
2 - une deuxième entité pilote dudit témoin appelée démonstrateur
* 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.QA' mod n = 1 ou GA --- QA'mod n
<Desc/Clms Page number 110>
R' . GA dA. GB dB .... --- Dv mod n 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.
R'== GA dA. GR dB....DV mod n ou du type :
Figure img01100002
D, = r, . QA, QBI dB mod p, de sorte que le nombre d'opérations arithmétiques modulo p, à 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, 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 img01100001
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 #uvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel
<Desc/Clms Page number 111>
que n = p,.p2. p3. ..., ledit témoin dispose aussi * des composantes QA,, QA2, ... (QA, ...), et QB,, QB2, ... (QB,, ...), ..., représentant des clés privées QA, QB, ...
{rJ, r2, r3, ... }, # étape 2. défi d destiné au témoin :
Figure img01110003
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 {r,, r2, r3, ...},telle que pour chaque facteur premier p, 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, R@ # R1v mod p, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des R, 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, de telle sorte qu' il y a autant d'engagements R que de collections d'aléas
2 - une deuxième entité pilote dudit témoin appelée démonstrateur,
GA.QA" mod n = 1 ou GA QA'mod n
Figure img01110002
composantes GA,, à,,... (GA, ...) et GB,, 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:
Figure img01110001
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 112>
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',
R' == GA dA. GB dB.... DV mod n ou du type :
Figure img01120002
D --~ ri . QAi dA QB .... mod p, puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p1 à 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, # é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 img01120001
- 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 113>
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 #uvre trois entités :
1 - une première entité appelée témoin dispose des facteurs premiers
Figure img01130001
Pt, p2g ... (p , ..0) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl 'P2' P3' - ledit témoin dispose aussi * des composantes QA1, QA., ... (QA , ...), et QB,, QB2, (QB , ...), ..., représentant des clés privées QA, QB,...
Ri = r@v 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 p,, chaque collection comporte un aléa r positif 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 p1
2 - une deuxième entité pilote dudit témoin appelée signataire,
GAoQAv mod n == 1 ou GA = QA'mod n
Figure img01130003
composantes GA,, GAx, ... (GA, ...) et GB,, GBx, ... (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 img01130002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 114>
D 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 p, à effectuer 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, 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 img01140002
{ r, rz, 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 é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 img01140001
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, - 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 115>
R9 =- GA d'A GB d'R D' mod n ou du type : R\GAd'".GBd'B....---D"modn ledit contrôleur vérifie que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé,
Figure img01150002
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 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
R'=GA d" . GB dB .... Dv mod n ou du type :
Figure img01150001
/ 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 116>
GA.QAv mod n = 1 de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer 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.
GA QAv mod n ou bien tel que
GA, QA1v mod p # puis en appliquant la méthode des restes chinois pour établir GA tel que
les composantes QA,, QA2, ... (QA, , ...), et QB,, 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, pouvant être calculées à partir desdites composantes QA,, QA2, ... (QA,,...), et QB,, 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 :
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 k v = a ou k est un paramètre de sécurité plus grand que 1.
9. Procédé selon la revendication 8 tel que : - l' exposant public de vérification v est du type v = 2" ou k est un paramètre de sécurité plus grand que 1, - la clé publique GA est un carré gA2inférieur à n choisi de telle
<Desc/Clms Page number 117>
GA= QA 2expc) mod p, ou bien telles que : GA.QA, 2.exp(k) mod p,=- 1 on les obtient en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p.) de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer 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, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
Figure img01170002
- lesdites composantes QAt' QA2, ... (QA, ...) de la clé privée QA sont telles que :
Figure img01170001
sorte que les deux équations x2 = gA mod n et x2 # - gA mod n n'ont pas de solution en x dans l'anneau des entiers modulo n,
10. Procédé selon la revendication 9 tel que pour extraire la k iè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, on applique 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, 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 #uvre 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 118>
bancaire à microprocesseur, le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p,, p2, ... (p1, ...) (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 contenant : * des composantes QA,, QA2, ... (QA, , ...), et QB,, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,...
R = r1vx mod p, où r est un aléa tel que 0 < ri < p@, de sorte que 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, - 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,
composantes GA,, GA2, ... (GA,, ...) 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 : GA.QA" mod n = 1 ou GA --- QAvx 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 :
Figure img01180001
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 119>
R' . GA dA. GB dB .... --~ Du mod n ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour
Figure img01190002
R' = GA d" . GB dB .... D" mod n ou du type :
Figure img01190001
Di = r . QA, dA . QBi dB .... mod p. où r, est un entier, associé au nombre premier p,, tel que 0 < r, < p1, chaque r, 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 D, 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 :
- 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 un ou plusieurs défis d tel que 0<d<vx-let 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 :
<Desc/Clms Page number 120>
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 #uvre 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 p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un
Figure img01200001
module public n tel que n = Pl'P2' p3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,, QA2, ... (QA, ...), et QB,, QB2' ... (QB,, ...), ..., représentant des clés privées QA, QB,...
R,---r"modp, où r est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 < r, < p, , chaque r, appartenant à une collection d'aléas {r1, r2, r3, ...}, # puis en appliquant la méthode des restes chinois,
Figure img01200004
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 :
Figure img01200003
composantes GA,, Go 21 ... (GA,, ... ) et GB,, GB2, ... (GB|5 ...) * 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 img01200002
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 121>
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 par lesdits premiers moyens de calcul pour calculer chacun des R, 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é, 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 122>
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 quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents.
Figure img01220001
Di r,. QA, dA . QB, 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 D, 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 :
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 #uvre 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 facteurs premiers p,, p2, ... (p; , ...) (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 123>
contenant : * des composantes QA,, QA2, ... (QA , ...), et QB,, 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 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 entiers {r1, r2, r3, ... },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 p, ,
2 - une deuxième entité appelée dispositif démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade,
GA.QA" mod n == 1 ou GA QAvmod n
Figure img01230002
composantes GA,, GA, ... (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 img01230001
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 124>
D 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 p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour
Figure img01240002
r 1, 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 é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 img01240001
R. = r' mod p, 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
<Desc/Clms Page number 125>
R'. GA dA . GB dB .... # Dv 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.
R'=GA d" . GB dB .... Dv mod n ou du type :
Figure img01250001
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 #uvre 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 facteurs premiers p,, p2, ... (p1, ...) (i étant supérieur ou égal à 2) d'un
Figure img01250002
module public n tel que n = p,.p,. p3.... , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire
<Desc/Clms Page number 126>
* des composantes QA,, QA 21 ... (QA , ...), et QBII QBz, ... (QB , ...), ..., représentant des clés privées QA, QB,...
Figure img01260001
contenant
entiers {ruz, rz, r31 ...},telle que pour chaque facteur premier P" chaque collection comporte un aléa r, positif et plus petit que p1, - ledit 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, ,
Figure img01260002
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
2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade,
* des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAZ, ... (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 : GA.QA mod n = 1 ou GA QAvmod n
<Desc/Clms Page number 127>
Di = r, . QAidA. QB, 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
{ r,, r2, r3, ... }, # é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 img01270001
Ri # riv mod p, 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 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
<Desc/Clms Page number 128>
R' ~~ GA d" . GB dB ....Dv mod n ou du type : R' . GA dA. GR 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 img01280001
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, 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 #uvre 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 129>
facteurs premiers p,, p2, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. p3. ... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QA,, QA2, ... (QA, ...), et QB,, 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 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 {r,, r2, r3, ...},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
2 - une deuxième entité appelée dispositif de signature, pouvant être également contenue notamment dans ledit objet nomade,
* des clés publiques GA, GB, ... ayant respectivement pour composantes GA,, GAZ, ... (GA,, ...) et GB,, GB2, ... (GB,, ...) * un exposant publique de vérification v lesdites paires de clés privées et publiques étant liés par des relations du type: GA.QAV mod n = 1 ou GA QA'mod n
<Desc/Clms Page number 130>
chaque aléa r, à la puissance v ième modulo p,, pour chaque facteur premier Pi' r1 = r1v mod p, 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 {r1, 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 : Di # r, . QA, dA . QB, 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
<Desc/Clms Page number 131>
R' -~- GA d" . GB dB .... D" mod n ou du type : R' . GA dA. GB dB. 'H === 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 img01310001
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, 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 132>
R'. GA d'A. GB d'B. ... # Dv mod n ledit 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é.
R' --- GA d'" . GB d'B .... D" mod n ou du type :
Figure img01320001
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 que les composantes QA,, QA2, ... (QA, , ...), et QB,, 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, QB, pouvant être calculées à partir desdites composantes QA,, QA2, ... (QA,, ...), et QB,, 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 :
GAi QA@v mod p, # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA =- QAv mod n ou bien tel que GA.QA' mod n - 1
<Desc/Clms Page number 133>
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 GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n,
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.
18. Système selon l'une quelconque des revendications 11 à 15 tel que l'exposant public de vérification v est du type k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que les deux équations x2 = gA mod n et x2 # - gA mod n n'ont pas de solution 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 QA,, QA2, ... (QA, , ...) de la clé privée QA en appliquant des formules telles que : GA= QA 2exp(k) mod pi ou bien telles que :
Figure img01330001
A ,QAi 2.exp(k) mod p,=1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p) de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer
<Desc/Clms Page number 134>
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, 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 k iè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.
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 facteurs premiers p,, p2, ... (p, , ...) (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 : * des composantes QA,, QA2, ... (QA,, ...), et QB,, QB2, ... (QB,, ...), ..., représentant des clés privées QA, QB,...
<Desc/Clms Page number 135>
Ri = r1vx mod p, où r est un aléa tel que 0 < r, < p,, de sorte que 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, - 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.QA" 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 :
Figure img01350002
composantes GA,, GAZ, ... (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 img01350001
* des clés publiques GA, GB, ... ayant respectivement pour
<Desc/Clms Page number 136>
D. = r1. QA, dA . QBi dB .... mod p, où r, est un entier, associé au nombre premier p,, tel que 0 < ri < p, , chaque r, 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 D, pour chacun des p, 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.
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 p,, p2, ... (p, , ...) (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 contenant
<Desc/Clms Page number 137>
* des composantes QA,, QA2, ... (QA., ...), et QB,, QB2, ... (QB,, ...), ..., représentant des clés privées QA, QB,...
r < p; , chaque r, appartenant à une collection d'aléas 1 ruz, 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 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, - 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
Figure img01370002
Ri = riv mod p, où r est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 <
composantes GA,, GAZ, ... (GA., ... ) et GB,, Gaz, ... (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.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 :
Figure img01370001
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 138>
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 : D@ # r . QA dA QB 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 D, pour chacun des p. 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.
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 139>
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 p,, p2, ... (p, , ...) (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 : * des composantes QA,, QA2, ... (QA , ...), et QB,, QB2, ... (QB1, ...), ..., représentant des clés privées QA, QB,...
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,
composantes GA,, GAz, ... (GA,,...) et GB,, GBz, ... (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 = QAv mod n
Figure img01390001
* des clés publiques GA, GB,... ayant respectivement pour
<Desc/Clms Page number 140>
{rI, rz, r3, ... }, # é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 :
Figure img01400001
R, r1v mod p 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
# é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 p1, 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 p, ,
<Desc/Clms Page number 141>
D, = r1. QA,dA. QB, 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 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.
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, ... (p, , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. p3. ... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant * 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,, GA2, ... (GA., ...) et GB,, GB2' ... (GB,,...)
<Desc/Clms Page number 142>
R. = r1v mod p, (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
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 {r,, F2, r3, ...},telle que, pour chaque facteur premier p1, chaque collection comporte un aléa r positif et plus petit que p, , - ledit 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, ,
2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade,
GA.QA' mod n -~-1 ou GA -= QAvmod n
Figure img01420001
* 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 143>
Dj - r . QA 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 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, 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 img01430002
{ r, 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 img01430001
é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 144>
# é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 p,, p2, ... (p, , ...) (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 : * des composantes QA,, QA2, ... (QA, , ...), et QB,, 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.QAv mod n = 1 ou GA = QAvmod n
* des clés publiques GA, GB, ... ayant respectivement pour composantes GA,, GAZ, ... (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:
<Desc/Clms Page number 145>
R = r1v mod p, de sorte que 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 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, ...}, # é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,
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 p1, chaque collection comporte un aléa r, positif et plus petit que p1, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r à la puissance v ième modulo p1, pour chaque facteur premier p,,
<Desc/Clms Page number 146>
- 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 : Di # r . QA, dA . QBidB 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 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, - 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.
26. Objet nomade selon l'une quelconque des revendications 21 à 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 QA, , QB , ... pour chacun desdits facteurs
<Desc/Clms Page number 147>
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 GA; pour chacun des P1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n,
GA QAv mod n ou bien tel que
GA, QAiv mod p, # puis en appliquant la méthode des restes chinois pour établir GA tel que
premiers p@, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA,, QA2, ... (QAi, ...), et QB,, 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 :
28. Objet nomade selon l'une quelconque des revendications 21 à 25 tel que l'exposant public de vérification v est du type k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que les deux équations
<Desc/Clms Page number 148>
GA .QA,2exp(k) mod p,= 1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p,), de sorte que 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, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n.
x2= gA mod n et x2 # - gA mod n n'ont pas de solution en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer lesdites composantes QA,, QA2, ... (QA, , ...) de la clé privée QA en appliquant des formules telles que : GA= QAi2exp(k) mod p, ou bien telles que :
30. Objet nomade selon la revendication 29 tel que pour extraire la k iè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, GA' 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 149>
n = p,.pz. p3.... , - des clés publiques GA, GB, ...
Figure img01490001
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 #uvre : - un module public n tel que n soit le produit de facteurs premiers secrets p,, p2, ... (p,,...) (i étant supérieur ou égal à 2)
GA.QA" mod n = 1 ou GA # QAvx 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,
- 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 150>
R' == GA d. DV. modn ou du type : R'@. Cad # Dva mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents
Figure img01500002
d tel que 0 <~ d <~ vx - 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 img01500001
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 #uvre : - un module public n tel que n soit le produit de facteurs premiers secrets p,, 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 = QAvrnod 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
Figure img01500003
- 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 151>
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.
R' --~ GA d" . GB dB .... Dv mod n ou du type :
Figure img01510001
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 152>
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 {1 r2, r3, ...},telle que, pour chaque facteur premier p, chaque collection comporte un aléa r 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 153>
R'=GA d" . GB dB .... Dv mod n ou du type : R'. GA dA. GR 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 img01530001
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 p@, chaque collection comporte un aléa r 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 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 154>
R'. GA dA. GB dB .... - 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.
R' --- GA d" . GB dB .... D" mod n ou du type :
Figure img01540001
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 155>
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 p,, chaque collection comporte un aléa r, 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, 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,
<Desc/Clms Page number 156>
R'. GA d'A. GB d'Il. Dv mod n
R': GA . GR .... D mod n ou du type :
Figure img01560002
R' - GA d" . GB d$ .... D" mod n ou du type : R' . GA dA. GR dB....: DV 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 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 img01560001
/ 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 157>
* 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 QA,, QA2, ... (QA, , ...), et QB,, 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, QB, pouvant être calculées à partir desdites composantes QA,, QA2, ... (QA,, ...), et QB1, QB2, ... (QB,, ...), ... 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 :
Figure img01570001
GAi --- QA" mod p, # puis en appliquant la méthode des restes chinois pour établir GA tel que
GA QA'mod n ou bien tel que
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 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 158>
k v=a où k est un paramètre de sécurité plus grand que 1.
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é plus grand que 1, - la clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que les deux équations x2 # gA mod n et x2 = - gA mod n n'ont pas de solution 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 QA,, QA2, ... (QA , ...) de la clé privée QA en appliquant des formules telles que : GA= QA, 2exp(k) mod p, ou bien telles que :
Figure img01580001
GA .QA, 2..p(k)mod P,= 1 et en extrayant la k ième racine carrée de GA dans le corps de Galois CG(p,) de sorte que 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, 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 k iè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 :
<Desc/Clms Page number 159>
x = (p+ 1 )/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.
FR9903770A 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 Pending FR2788911A1 (fr)

Priority Applications (27)

Application Number Priority Date Filing Date Title
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
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
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
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.
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
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
CNB008047189A CN1322700C (zh) 1999-01-27 2000-01-27 利用非对称密钥证明真实性或完整性的方法和计算机系统
CNB008031975A CN100377520C (zh) 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
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
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
JP2000596696A JP4772965B2 (ja) 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
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
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
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
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
JP2000597914A JP2003519447A (ja) 1999-01-27 2000-01-27 エンティティの真正性および/またはメッセージの完全性および/または真正性を証明するための方法、システム、および装置
CN00804617A CN1408154A (zh) 1999-01-27 2000-01-27 验证实体真实性和/或消息的完整性和/或真实性的方法,系统,设备
KR1020017009493A KR100676461B1 (ko) 1999-01-27 2000-01-27 특정 소인수를 이용한 엔티티 인증성, 및 메시지의 무결성및(또는) 인증성 검증방법, 시스템 및 장치
JP2000597915A JP4772189B2 (ja) 1999-01-27 2000-01-27 エンティティの真正性および/または特殊素因子を使用するメッセ−ジの完全性および/または真正性を証明するための方法、システム、及び装置
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
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
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
KR1020017009492A KR20010108143A (ko) 1999-01-27 2000-01-27 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치
KR1020017009491A KR100676460B1 (ko) 1999-01-27 2000-01-27 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=26234789

Family Applications (4)

Application Number Title Priority Date Filing Date
FR9903770A Pending 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
FR9912467A Expired - Fee Related 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
FR9912465A Expired - Fee Related 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
FR9912468A Expired - Fee Related 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.

Family Applications After (3)

Application Number Title Priority Date Filing Date
FR9912467A Expired - Fee Related 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
FR9912465A Expired - Fee Related 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
FR9912468A Expired - Fee Related 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.

Country Status (2)

Country Link
KR (3) KR100676460B1 (fr)
FR (4) FR2788911A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1368930B1 (fr) * 2001-03-12 2016-11-16 Callahan Cellular LLC Authentification cryptographique par modules ephemeres

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2865590A1 (fr) * 2004-01-23 2005-07-29 France Telecom Procede pour etablir, a partir d'un jeu de grands nombres premiers, un jeu de cles destine a prouver l'authenticite d'une entite ou l'integrite d'un message

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2620248B1 (fr) * 1987-09-07 1989-11-24 France Etat Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages
WO1989011706A1 (fr) * 1988-05-19 1989-11-30 Ncr Corporation Procede et dispositif d'authentification
EP0381523A3 (fr) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Procédé de calcul assisté par serveur et unité distribuée de traitement d'information
FR2733379B1 (fr) * 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
EP0792044B1 (fr) * 1996-02-23 2001-05-02 Fuji Xerox Co., Ltd. Dispositif et procédé d'authentification de droits d'accès d'un utilisateur à des ressources selon le principe Challenge-Response

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1368930B1 (fr) * 2001-03-12 2016-11-16 Callahan Cellular LLC Authentification cryptographique par modules ephemeres

Also Published As

Publication number Publication date
FR2788912A1 (fr) 2000-07-28
FR2824974B1 (fr) 2004-01-16
FR2788908A1 (fr) 2000-07-28
KR20010108143A (ko) 2001-12-07
FR2788908B1 (fr) 2003-09-26
FR2824974A1 (fr) 2002-11-22
KR20010108144A (ko) 2001-12-07
KR100676461B1 (ko) 2007-01-31
FR2788912B1 (fr) 2002-08-09
KR20010108142A (ko) 2001-12-07
KR100676460B1 (ko) 2007-01-31

Similar Documents

Publication Publication Date Title
US4947430A (en) Undeniable signature systems
EP3010177B1 (fr) Procédé d&#39;authentification d&#39;un dispositif client auprès d&#39;un serveur à l&#39;aide d&#39;un élément secret
US4759064A (en) Blind unanticipated signature systems
Ferguson Single term off-line coins
EP1738517B1 (fr) Procedes et dispositifs cryptographiques sans transfert de connaissance
Tsiounis Efficient electronic cash: new notions and techniques
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
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
FR2822002A1 (fr) Authentification cryptographique par modules ephemeres
EP0878934B1 (fr) Procédé d&#39;identification à clé publique utilisant deux fonctions de hachage
US6959085B1 (en) Secure user identification based on ring homomorphisms
EP1291763A1 (fr) Procédé de brouillage d&#39;un calcul à quantité secrète
CA2360953C (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
CA2386748C (fr) Procede, systeme, dispositif a prouver l&#39;authenticite d&#39;une entite ou l&#39;integrite d&#39;un message
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
FR2877453A1 (fr) Procede de delegation securisee de calcul d&#39;une application bilineaire
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
FR2763452A1 (fr) Procede d&#39;identification a cle publique
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
EP0743775B1 (fr) Procédé de signature numérique à connaissance nulle, permettant d&#39;élaborer une signature résistant aux collisions
Wang et al. The design of a novel e-cash system with the fairness property and its implementation in wireless communications
KR20020060188A (ko) 엔티티 인증성 또는 메시지의 무결성 검증방법, 시스템 및장치
WO2011027071A1 (fr) Procédé cryptographique d&#39;abonnement anonyme a un service
FR2911024A1 (fr) Procede de signature de liste anonyme et correlable