Brevet FR2788910A1 — publié le 20000728

Procédé, système, dispositif pour diminuer la charge de travail pendant une session destinée à prouver l'authenticité d'une entité et/ou l'origine et l'intégrité d'un message. La présente invention concerne les procédés, les systèmes ainsi que les dispositifs destinés à prouver l'authenticité d'une entité et/ou l'origine et l'intégrité d'un message. Le brevet EP 0 311470 B1 dont les inventeurs sont Louis Guillou et JeanJacques Quisquater décrit un tel procédé. On y fera ci-après référence en le désignant par les termes : brevet GQ ou procédé GQ . Selon le procédé GQ, une entité appelée autorité de confiance attribue une identité à chaque entité appelée témoin et en calcule la signature RSA ; durant un processus de personnalisation, l'autorité de confiance donne identité et signature au témoin. Par la suite, le témoin proclame : Voici mon identité ; j'en connais la signature RSA. Le témoin prouve sans la révéler qu'il connaît la signature RSA de son identité. Gr,ce à la clé publique de vérification RSA distribuée par l'autorité de confiance, une entité appelée contrôleur vérifie sans en prendre connaissance que la signature RSA correspond à l'identité proclamée. Les mécanismes utilisant le procédé GQ se déroulent sans transfert de connaissance . Selon le procédé GQ, le témoin ne connaît pas la clé privée RSA avec laquelle l'autorité de confiance signe un grand nombre d'identités. La sécurité du procédé GQ est au mieux équivalente à la connaissance de la signature RSA de l'identité. Il y a équivalence lorsque l'exposant public de vérification RSA est un nombre premier. Le procédé GQ met en oeuvre des calculs modulo des nombres de 512 bits. Ces calculs concernent des nombres ayant sensiblement la même taille élevés à des puissances de l'ordre de 216 + 1. Or les infrastructures microélectroniques existantes, notamment dans le domaine des cartes bancaires, font usage de microprocesseurs auto-programmables monolithiques dépourvus de coprocesseurs arithmétiques. La charge de travail liée aux multiples opérations arithmétiques impliquées par des procédés tels que le procédé GQ, entraîne des temps de calcul qui dans certains cas s'avèrent pénalisant pour les consommateurs utilisant des cartes bancaires pour acquitter leurs achats. Il est rappelé ici, qu'en cherchant à accroître la sécurité des cartes de paiement, les autorités bancaires posent un problème particulièrement délicat à résoudre. En effet, il faut traiter deux questions apparemment contradictoires : augmenter la sécurité en utilisant des clés de plus en plus longues et distinctes pour chaque carte tout en évitant que la charge de travail n'entraîne des temps de calcul prohibitifs pour les utilisateurs. Ce problème prend un relief particulier dans la mesure où, en outre, il convient de tenir compte de l'infrastructure en place et des composants microprocesseurs existants. L'invention a pour objet d'apporter une solution à ce problème tout en renforçant la sécurité. Plus particulièrement, l'invention concerne un procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m. Procédé Le procédé selon l'invention, met en oeuvre les trois entités ci-après définies. I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2, ... (p, 9... ) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pj.p2. P3 Le témoin dispose aussi * des composantes QA1, QA 21 ... (qu,,...), et QB,, QB2, ... (QB,,...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAz, ... (GAi, ...) 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 QAvxmod n Les exposants publics de vérification vx, vy, ... sont utilisés par le témoin pour calculer des engagements R en effectuant des opérations du type : R, - rivx mod p, ou ri est un aléa tel que 0 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,, pi, ... (pi, on) de son propre module public n. De sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. L'usage de la factorisation du module n réduit significativement la charge de travail du témoin. Par rapport au procédé GQ, et a fortiori par rapport à d'autres procédés tel que le procédé RSA de signature, le procédé selon l'invention permet de substantielles économies de calcul, en particulier pour l'authentification. II. Le procédé selon l'invention met en oeuvre une deuxième entité pilote dudit témoin. Cette entité pilote est appelée * démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message. On verra ci-après quel est son rôle. III. La troisième entité, appelée contrôleur, vérifie l'authentification ou l'origine et l'intégrité d'un message. Selon l'invention, le témoin reçoit de la deuxième entité pilote ou du contrôleur un ou plusieurs défis d tel que 0 Dl ri. QA,dmod p, ou r, est un aléa tel que 0 Le contrôleur reçoit, selon le cas, une ou plusieurs réponses D. Il calcule, à partir desdites réponses D, les engagements R' en effectuant des opérations du type : R',- GA d. Dvx mod n ou du type : R9i. GA d=- D' mod n Le contrôleur peut alors vérifier que les triplets {R', d, D} sont cohérents. Dans le cas général qui vient d'être exposé, il y a plusieurs exposants de vérifications vx, vy, .... On va maintenant exposer l'invention dans le cas où l'exposant de vérification v est unique. Cas où l'exposant de vérification v est unique De même que précédemment, le procédé selon l'invention met en oeuvre trois entités : I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2, ... (pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1-P2.P3. .... Le témoin dispose aussi * des composantes QAI, QA2, ... (QA,, ...), et QBI, QB2, ... (QB;, ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (gaz, ...) et GB,, GBZ, ... (GB,;, ...) * de l'exposant public de vérification v Dans ce cas comme dans le précédent, il est prévu plusieurs paires de clés référencées A, B, ... Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n --- 1 ou GA = QAvmod n L'exposant public unique de vérification v est utilisé par le témoin pour calculer des engagements R. A cet effet : * il effectue des opérations du type : Ri = ri mod Pi où r, est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 ri Il y a autant d'engagements R que de collections d'aléas { ri, r 2, r3, ...}, Bien entendu, dans ce cas comme dans le cas général précédent, le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. II. La deuxième entité pilote dudit témoin est appelée : * démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. La troisième entité, appelée contrôleur, vérifie l'authentification ou l'origine et l'intégrité d'un message. Plus particulièrement, dans le cas de cette variante de réalisation le témoin reçoit de la deuxième entité ou du contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés. Le témoin calcule à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D. A cet effet : # il effectue des opérations du type : D, ri. QAi d" . QB, dB .... mod pi # puis il applique la méthode des restes chinois. Il y a autant de réponses D que d'engagements R et de défis d. II convient de souligner, ici aussi, que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des Dl pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Le contrôleur reçoit une réponse D. Il calcule à partir de cette réponse un engagement R' en effectuant des opérations du type : R'=GA dA. GB d$ .... Dv mod n ou du type : R' . GA dA. GB dB.... --- Dv mod n Le contrôleur vérifie que les triplets {R', d, D} sont cohérents. Ainsi, gr,ce à la présente invention, le témoin qui proclame : Voici une clé publique de vérification (v, n) et une clé publique GA ; je connais la factorisation de n et la clé privée QA prouve sans la révéler qu'il connaît la clé privée QA. Le contrôleur vérifie la clé privée QA sans en prendre connaissance. Les mécanismes se déroulent sans transfert de connaissance . On le verra ci-après, que le procédé selon l'invention autorise certaines paires de clés telles que la connaissance de la clé privée QA est équivalente à la connaissance de la factorisation du module n. On va maintenant exposer les variantes de réalisation de l'invention concernant : - le cas d'une authentification d'entité, - le cas d'une authentification de message, - le cas d'une signature numérique de message. Cas d'une authentification d'entité Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'une entité. Comme dans le cas général, la session met en oeuvre trois entités. I. Une première entité, appelée témoin, dispose des facteurs premiers p1, p2, ... (Pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PrP2- P3' "' Le témoin dispose aussi : * des composantes QA,, Qu29 ... (QA;, ...), et QBI, QB29 ... (QB;, ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA1, GAZ, ... (GAi, ...) et GB,, GBz, ... (GBi, ...) * de l'exposant public de vérification v Les paires de clés privées et publiques sont liées par des relations du type : GA.QA mod n =- 1 ou GA QA mod n II. La deuxième entité, pilote dudit témoin, est appelée démonstrateur. III. La troisième entité, appelée contrôleur, vérifie l'authentification. Pour prouver l'authenticité d'une entité, le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : # étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; , Pour chaque facteur premier p1, le témoin élève chaque aléa rà la puissance v ième modulo p, R, r@ mod p; On notera que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. 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 : D, r, . QA, dA . QB, dB .... mod p, puis, il applique la méthode des restes chinois. Le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au contrôleur : Le démonstrateur transmet au contrôleur chaque réponse D. ' étape 5. vérification par le contrôleur : Le contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GBdB. ...Dv mod n ou du type : R'. GA d". GB'....=D mod n Le contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le démonstrateur. Cas d'une authentification de message cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m. Comme dans le cas général, la session met en oeuvre trois entités. I. Une première entité, appelée témoin, dispose des facteurs premiers p,, p2, ... (Pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. p3. ..., Le témoin dispose aussi : * des composantes QA,, QA2, ... (QA, ,...), et QB,, QB2, ... (QB@,...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAZ, ... (GA., ...) et GB,, GB2, ... (GB@, ...) * de l'exposant public de vérification v Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n =1 ou GA = QA'mod n II. Une deuxième entité, pilote du témoin, est appelée démonstrateur. III. Une troisième entité, appelée contrôleur, vérifie l'authenticité d'un message. Pour prouver l'authenticité d'un message le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : | étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...}, telle que pour chaque facteur premier p,, chaque collection comporte un aléa r, positif et plus petit que p1. Pour chaque facteur premier p,, le témoin élève chaque aléa rà la puissance v ième modulo p, R. 1 == r J v mod p; (de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des RI pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au témoin : Le démonstrateur applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir un jeton T. Le démonstrateur transmet le jeton T au contrôleur, Le contrôleur, après avoir reçu le jeton T, produit au moins une collection de défis d {dA, dB, ...} tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés. ' étape 3. réponse du témoin au défi d : Le témoin calcule les réponses D à partir des collections de défis d {dA, dB, ...}reçues du contrôleur. A cet effet, il effectue des opérations du type : Du = r, . QA, dA . QBi dB .... mod p, puis, il applique la méthode des restes chinois. Le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au contrôleur : Le démonstrateur transmet au contrôleur chaque réponse D. ' étape 5. vérification par le contrôleur : Le contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GB dB .... D mod n ou du type : R' . GA dA. GB d$ .... --- D'mod n Le contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T'. Le contrôleur vérifie que le jeton T' est identique au jeton T transmis à l'étape 2 par le démonstrateur. Cas d'une signature numérique de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m. Comme dans le cas général, la session met en oeuvre trois entités. I. Une première entité appelée témoin dispose des facteurs premiers p,, p2, ... (pi,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2- p3. ... Le témoin dispose aussi * des composantes QA,, QA2, ... (QA,, ...), et QB,, QB2, ... (QB, no), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAZ, ... (GA., ...) et GB,, GB,,, ... (GB,, ...) * de l'exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA mod n 1 ou GA = QA mod n II. Une deuxième entité, pilote dudit témoin, est appelée signataire. 5 10 15 20 25 III. Une troisième entité, appelée contrôleur, vérifie la signature du message m. Pour prouver la signature d'un message le témoin, le démonstrateur et le contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : A chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {rl, r 2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa r; positif et plus petit que pi. Pour chaque facteur premier p1, le témoin élève chaque aléa r, à la puissance v ième modulo p, Ri #riv mod p, (de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}. ' étape 2. défi d destiné au témoin : Le signataire applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés. Le signataire transmet les collections de défis d au témoin. ' étape 3. réponse du témoin au défi d : Le témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...}reçues du contrôleur. A cet effet, il effectue des opérations du type : D, == roi . QA 1 dA QB dB .... mod p; (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 : R'=GA d" . GB dB.... Dv mod n ou du type : R' . GA d" . GB dB .... --- DV mod n Le contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d'. Le contrôleur vérifie que chaque défi d' reconstruit est identique au défi d figurant dans le message signé. Cas où le contrôleur reçoit la collection des engagements R Dans le cas où le contrôleur reçoit la collection des engagements R et des réponses D, ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement R pour reconstruire chaque défi d'. Le contrôleur reconstruit alors la collection des engagements R' en effectuant des opération du type R' --- GA d'" . GB dB .... D mod n ou du type : R' . GA d'" . GB dB .... --- D mod n Le contrôleur vérifie que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la clé privée Q La paire de clés GA, QA,... n'a plus de raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ. Selon une variante de réalisation, un grand nombre de témoins utilisent le même ensemble de clés publiques très courtes GA, GB, GC, GD... par exemple, 4,9, 25 et 49. Dans le cas de la variante de réalisation ci-après exposée les composantes Quai, Qu 21 ... (qui, ... ), et QBI, QB2 ... (QB, ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QA, , QB,,... pour chacun desdits facteurs premiers p.. Lesdites clés privées QA, QB, peuvent être calculées à partir desdites composantes QAI, QAz, ... (QA, , ...), et QB,l Qu2, ... (QB, ...), ... par la méthode des restes chinois. Les clés publiques GA, GB,... sont calculées en effectuant des opérations du type : GA, =- QAi mod p, puis en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QA' mod n = 1 Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. De préférence l'exposant public de vérification v est un nombre premier. Dans ce cas la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité. De préférence, également l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité. Dans ce cas, la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x 2 -gamodn n'ait pas de racine 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 = QA.modp, ou bien telles que : GA QA 2.exp(k) d = 1 On les obtient en extrayant la kième racine carrée de GA dans le corps de Galois CG(pi), Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des QA, pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), on utilise les méthodes suivantes : - dans le cas où le facteur premier p; est congru à 3 modulo 4, on applique notamment un algorithme du type : x = (p+l)/4 ; y = xk mod (p-1) ; z = y ; QA, = GAZ mod p1 - dans le cas où le facteur premier p, est congru à 1 modulo 4, on emploie les suites de Lucas. Système La présente invention concerne également un système permettant de mettre en oeuvre le procédé ci-dessus exposé. Le système selon l'invention permet de diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m. Le système met en oeuvre trois entités : I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (p, ,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p3. ... . Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QAII QA2, ... (QA,, ...), et QB11 Qu25 ... (QB;, ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GAi, ...) et GBI, GB2, ... (GB,,,...) * des exposants publics de vérification vx, vy, ... lesdites clés privées et clés publiques étant liées par des relations du type : GA.QA" mod n 1 ou GA =- QAvxmod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type : R, rivx mod p; ou r, est un aléa tel que 0 Le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur un ou plusieurs défis d tel que 0 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 : R';--- GA d. D# mod n ou du type : R9i. GA d=- D' mod n Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. Cas où l'exposant de vérification v est unique De même que précédemment, le système selon l'invention met en oeuvre trois entités. I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p,, p2, ... (p; ,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PI.P2. P3.... , Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,9 QA2, ... (QA; , ...), et QBI, QB2, (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA1, GA, ... (GA,,...) et GB,, GB2' ... (GBI, ...), * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : 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 : Ri r1mod p, où r@ est un entier, tiré au hasard, associé au nombre premier p,, tel que 0 Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, Le nombre d'opérations arithmétiques modulo p1 à effectuer par lesdits premiers moyens de calcul pour calculer chacun des R1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. IL La deuxième entité, appelée dispositif pilote dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade. Le dispositif pilote est appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, III. La troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, Plus particulièrement, dans le cas de cette variante de réalisation, le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés. 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 : Du = r,. QA, dA . QB dB , mod p. # puis, il applique la méthode des restes chinois. Il y a autant de réponses D que d'engagements R et de défis d. Il convient de souligner, ici aussi, que le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Le dispositif contrôleur reçoit une ou plusieurs réponses D. Il comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D un engagement R' en effectuant des opérations du type : R'= GA dA, GB dB, ...DV mod n ou du type : R'. GA dAGB dB Dv mod n Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. On va maintenant exposer les variantes de réalisation du système selon l'invention concernant : - le cas d'une authentification d'entité, - le cas d'une authentification de message, - le cas d'une signature numérique de message. Cas d'une authentification d'entité Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'une entité. Comme dans le cas général, le session met en oeuvre trois entités du 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 pi, p,, ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p2. pu..... Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QA,, QA29 ... (QA; , ...), et QBI, QB 21 ... (QB , ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GAZ, ... (GAi, ...) et GB,, GBt, ... (GB,,,...) * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA' mod n 1 ou GA QA@mod n II. La deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade. III. Une troisième entité, appelée dispositif contrôleur, se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, Pour prouver l'authenticité d'une entité, ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers { r,, r29 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 pi, pour chaque facteur premier pi, R, riv mod pi On notera que le nombre d'opérations arithmétiques modulo p1 à effectuer par les deuxièmes moyens de calcul pour calculer chacun des RI pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Puis, lesdits deuxièmes moyens de calcul du dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au dispositif témoin : Le dispositif démonstrateur comporte des moyens de transmission pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur. Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés. ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type : D, == ru . QAi d . QB dB .... mod Pi puis, il applique la méthode des restes chinois. Le nombre d'opérations arithmétiques modulo p1 à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au dispositif contrôleur : Le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D. ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'== GA dA. GR dB....DV mod n ou du type : R' . GA dA. GR dB.... == DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur. Cas d'une authentification de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m. Comme dans le cas général, la session met en oeuvre trois entités du système. I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin dispose d'une première zone mémoire contenant des 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 dispose aussi d'une deuxième zone mémoire contenant * des composantes QA15 QA, ... (qu,,...), et QB1, QB2, ... (QA. , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA1, GAZ, ... (GAi, ou) et GB,, GB2, ... (GBi, ...) * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA mod n --- 1 ou GA QA'mod n II. Une deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, peut être contenue notamment dans ledit objet nomade. III. Une troisième entité, appelée dispositif contrôleur, se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin. Pour prouver l'authenticité d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r,, ...}, telle que pour chaque facteur premier p,, chaque collection comporte un aléa r; positif et plus petit que p; . Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier Pi R, = riv mod pi Le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}. ' étape 2. défi d destiné au dispositif témoin : Le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer un jeton T, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R. Le dispositif démonstrateur comporte des moyens de transmission pour transmettre le jeton T au dispositif contrôleur. Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés. ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type : D, ri. QA, dA QB, dB .... mod Pi puis, il appliquant la méthode des restes chinois. Le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. 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 : R' = GA d" . GB dB .... D" mod n ou du type : R' . GA d" . GB d$ .... --- DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T'. Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur. Cas d'une signature numérique de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m. Comme dans le cas général, la session met en oeuvre trois entités du système : I. Une première entité, appelée dispositif témoin, contenues notamment dans un objet nomade se présente par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p@,...) (i étant supérieur ou égal à 2) d'un module public n tel que n = pl.p2. P3..... Le dispositif témoin comporte également une deuxième zone mémoire contenant : * des composantes QAI, Qu 29 ... (QA;, ou), et QBI, QB2, ... (QB;, ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB, ... ayant respectivement pour composantes GA,, GAZ, ... (GA., ...) et GB,, GB2, ... (GB, ...) * un exposant publique de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA mod n - 1 ou GA = QAmod n II. Une deuxième entité, pouvant être contenue notamment dans ledit objet nomade, est appelée dispositif de signature. III. Une troisième entité, appelée dispositif contrôleur se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique au dispositif témoin. Pour prouver la signature d'un message, ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...}, telle que pour chaque facteur premier pi, chaque collection comporte un aléa r positif et plus petit que pi. Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo pi, pour chaque facteur premier P.' Ri# (mod p, 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 {rI, r2, r,,...}, ' étape 2. défi d destiné au dispositif témoin : Le dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA # v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés. Le dispositif de signature transmet les collections de défis d au dispositif témoin, ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type : Di# ri . QA, dA . QB,dB .... mod p, puis, il applique la méthode des restes chinois. Le nombre d'opérations arithmétiques modulo p1 à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. 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 : R'= GA d" . GB "\ ...du mod n ou du type : R' . GA d" . GB dB .... --- DV mod n Le dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R'. Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé. Cas où le dispositif contrôleur reçoit la collection des engagements R Dans le cas où le dispositif contrôleur reçoit la collection des engagements R et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R. Le dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer alors la collection des engagements R' en effectuant des opération du type R' --- GA d'' . GB d'B .... D" mod n ou du type : R' . GA d'' . GB d'$ .... --- y d Le dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé. Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q Dans le cas de la variante de réalisation ci-après exposée les composantes QA,, QA2, m (QA,, ...), et QBI, QB2, ... (QB, ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QA,, QB, , ... pour chacun desdits facteurs premiers p., lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI, Qu 29 ... (QA, , ...), et QBI, QB2, ... (QBi, ...), ... par la méthode des restes chinois. Dans le cas de cette variante, le dispositif témoin comporte des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA,= QA.Y 1 mod P. # puis en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QAv mod n - 1 Le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p1 est réduit par rapport par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. De préférence dans ce cas, l'exposant public de vérification v est un nombre premier. Il en résulte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité. De préférence également, l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, Dans ce cas, la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2 gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n. Le dispositif témoin comporte des neuvièmes moyens de calcul pour calculer les dites composantes QAI, QA1, m (QA,, ...) de la clé privée QA en appliquant des formules telles que : GA= QAmodp, ou bien telles que : GA .QA 2.exp(k)mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi). Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QA, pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), on utilise les méthodes suivantes : - dans le cas où le facteur premier p; est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y --- xk mod (p-1) ; z = y ; QA, --- GAZ mod p, - dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas. Objet nomade. Carte bancaire La présenté invention concerne également un objet nomade permettant de mettre en oeuvre le procédé ci-dessus exposé. L'objet nomade selon l'invention se présente, par exemple, sous la forme d'une carte bancaire à microprocesseur. Il permet de diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, L'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p,, pi,... (pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p.p,. P3 . Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QA,, Qu 29 ... (QA,, ...), et QB,, QB2, ... (QB,, ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB, ... ayant respectivement pour composantes GA,, GAZ, ... (GAi, ...) et Gaz, GB, ... (GB,;, ...) * des exposants publics de vérification vx, vy, ... Les clés privées et les clés publiques sont liées par des relations du type : GA.QA" mod n 1 ou GA QA'mod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type : RI --- rif mod p, ou ri est un aléa tel que 0 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 Di == roi . QA, ' d mod p. ou r, est un aléa tel que 0 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 pl, p2, ... (p" on) (i étant supérieur ou égal à 2) d'un module public n tel que n = p,.p,. p3..... Le dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA,, Qu29 ... (qu.,...), et QB,, Qu29 ... (QBj 9 ... ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GAI, GA, ... (GA,,...) et GBI, GB2' ... (GBi, on) * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QAV mod n - 1 ou GA QA mod n Le dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type : Ri --- riv mod p, où r, est un entier, tiré au hasard, associé au nombre premier p1, tel que 0 Il y a autant d'engagements R que de collections d'aléas Ir,, rz, r3, ...}, Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par lesdits premiers moyens de calcul pour calculer chacun des R, pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin. Elle peut être également contenue dans ledit objet nomade. Le dispositif pilote est appelé : * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message. III. Une troisième entité, appelée dispositif contrôleur, se présente notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. Le dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message. L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif pilote audit dispositif contrôleur. Le dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0 Le dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D. A cet effet, # il effectue des opérations du type : Di# r, . QA, dA . QB, dB .... mod pi # puis, il appliquant la méthode des restes chinois. 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 pl, P2' ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p,..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QA,, Qu 21 ... (QA; , ...), et QBI, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, Go 29 ... (gaz, ...) et GB1, GB2, ... (GBil ...) * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n 1 ou GA QA'mod n 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 entiers 1 r19 ruz r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ri positif et plus petit que p; . Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p; , pour chaque facteur premier pi, Ri# riv mod p, Ainsi, le nombre d'opérations arithmétiques modulo p1 à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n) Puis, lesdits deuxièmes moyens de calcul du dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {roi, rz, r3, ...}. ' étape 2. transmission des engagements R et réception des défis d destinés au dispositif témoin : 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 : D, - r,. QA, dA . QB, dB .... mod p. puis, il applique la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les troisièmes moyens de calcul pour calculer chacun des Di pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur tout ou partie de chaque réponse D. ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et l'authenticité de l'entité contrôlée. Cas d'une authentification de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur l'authenticité d'un message m. Comme dans le cas général, l'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade,. Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. p,..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant * des composantes QA,, QA2, ... (QAj , ...), et QB,, QB2, ... (QB, ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, m (GAi, ...) et GB,, GB2, m (GB;, ...) * un exposant public de vérification v. Les paires de clés privées et publiques sont liées par des relations du type : GA.QA" mod n 1 ou GA =- QA'mod n II. Une deuxième entité, est appelée démonstrateur dudit dispositif témoin. Elle peut être également contenue dans ledit objet nomade. III. Une troisième entité appelée dispositif contrôleur se présente sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique. L'objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur. Pour prouver l'authenticité d'un message ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r,, r2, r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; . Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p,, pour chaque facteur premier Pi Ri = r mod pi Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R; pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois. Il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ...}. ' étape 2. réception des défis d destinés au dispositif témoin: Le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer un jeton T, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R. L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur le jeton T. L'objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...}produits par ledit dispositif contrôleur au moyen du jeton T. ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectuant des opérations du type : Di r,. QA, dA . QB, dB .... mod p, puis, il applique la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur chaque réponse D. ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D) et l'authenticité du message m. Cas d'une signature numérique de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à prouver à un contrôleur la signature numérique d'un message m. Comme dans le cas général, l'objet nomade fait intervenir trois entités : I. Une première entité, appelée dispositif témoin, est contenue dans ledit objet nomade. Le dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p,, p2, ... (p1, on) (i étant supérieur ou égal à 2) d'un module public n tel que n = P'P2' p..... Le dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QAI, Qat, ... (QA,, on), et QBI, QB2, ... (QB, on), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA1, GAZ, ... (GA,,...) et GB,, GB2, ... (GB, ...) * un exposant public de vérification v. *Les paires de clés privées et publiques sont liées par des relations du type : 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 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 { rl, r2, r3, ...}, telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ripositif et plus petit que p; . Le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p;, pour chaque facteur premier pi, R1 = rivmod p, Puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}. ' étape 2. défi d destiné au dispositif témoin : Le dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d étant égal au nombre d'engagements R. Chaque collection {dA, dB, ...} comprend un nombre de défis égal au nombre de paires de clés. Le dispositif de signature transmet les collections de défis d au dispositif témoin. ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur. A cet effet, il effectue des opérations du type : Di --- r . QA, 1 da QBI dB .... mod p, puis, il appliquant la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. L'objet nomade comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur. ' étape 4. données destinées au dispositif contrôleur : L'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur un message signé comprenant : - le message m, - les collections de défis d ou les engagements R, - chaque réponse D ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et la signature numérique du message m. Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q La paire de clés GA, QA,... n'a plus de raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ. Dans le cas de la variante ci-après exposée les composantes QA1, QA2, ... (QA.,...), et QB,, QB2, ... (qui, ...), ... des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QA, , QBi, ... pour chacun desdits facteurs premiers p., lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI Qu 21 ... (QA,, ...), et QBI5 QB2, ... (QBi, ou), par la méthode des restes chinois. Le dispositif témoin comporte des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA,= QAv mod p # puis en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QAv mod n = 1 Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. De préférence, l'exposant public de vérification v est un nombre premier. Il en résulte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v = a où k est un paramètre de sécurité. De préférence également, l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité. Dans ce cas, la clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2= gA mod n n'ait pas de racine en x dans l'anneau des entiers modulo n Le dispositif témoin comportant des neuvièmes moyens de calcul pour calculer lesdites composantes QA1, QA2, ... (QA; ,...) de la clé privée QA en appliquant des formules telles que : GA= QA 2exp(k) mod PI ou bien telles que : GA QA 2exp(k) d = 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi). Ainsi, le nombre d'opérations arithmétiques modulo p, à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. On démontre que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(p,), on utilise les méthodes suivantes : * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y = x"mod (p-1) ; z = y ; QA, = GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas. Terminal ou Serveur distant Concept général GQ II La présente invention concerne également un dispositif de contrôle, se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique. Le terminal ou le serveur selon l'invention permet de mettre en oeuvre le procédé ci-dessus exposé et de diminuer la charge de travail pendant une session destinée à vérifier : - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m. Le dispositif de contrôle met en oeuvre : - un module public n tel que n soit le produit de facteurs premiers secrets p,, pi,... (Pi' ...) (i étant supérieur ou égal à 2) n = Pl'P2' p3.... , - des clés publiques GA, GB, ... - des exposants publics de vérification vx, vy, ... lesdites clés privées GA et les clés publiques associées QA étant liées par des relations du type : GA.QA" mod n --- 1 ou GA QA'mod n Le dispositif de contrôle fait intervenir trois entités. I. Une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin produit des engagements R et des réponses D à des défis d. II. Une deuxième entité est appelée dispositif pilote dudit dispositif témoin. Elle peut être contenue notamment dans ledit objet nomade. III. Une troisième entité, appelée dispositif contrôleur, est contenue dans ledit dispositif de contrôle. Le dispositif de contrôle comporte : - 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 telque0 R'(=GAd.D# mod n ou du type : R91. GA d=- D' mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. Cas où l'exposant de vérification v est unique De même que précédemment, ledit dispositif de contrôle se présente sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique. Il met en oeuvre : - un module public n tel que n soit le produit de facteurs premiers secrets PI' p2, ... (Pi, ...) (i étant supérieur ou égal à 2) n = PI,P2, p3.... , - des clés publiques GA, GB, ... - un exposant public de vérification v Les clés privées GA et les clés publiques associées QA sont liées par des relations du type : 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 : R' --- GA d" . GB dB .... D mod n ou du type : R'. GA dA. GB dB.... == D mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. Cas d'une authentification d'entité Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation, la session est destinée à vérifier l'authenticité d'une entité. Dans le cas d'une authentification d'entité, le dispositif pilote est appelé dispositif démonstrateur. Pour prouver l'authenticité d'une entité ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r,, r2, r3, ...}, telle que, pour chaque facteur premier p1, chaque collection comporte un aléa r, entier positif et plus petit que p, . Il y a autant d'engagements R que de collections d'aléas. ' étape 2. défis produits par le dispositif contrôleur et destinés au dispositif témoin : Les moyens de réception du dispositif de contrôle reçoivent tout ou partie de chaque engagement R, transmis par le dispositif démonstrateur, et le transmettent au dispositif contrôleur. Le dispositif contrôleur comporte des premiers moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA ' é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 d'engagements R et de défis d. ' étape 4. données destinées au dispositif contrôleur : Les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D. ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GR dB....DV mod n ou du type : R' . GA dA.GB dB....= Dv mod n Le dispositif contrôleur comporte des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur. Cas d'une authentification de message Cas où l'exposant de vérification v est unique. Dans le cas de cette variante de réalisation particulière, la session est destinée à vérifier l'authenticité d'un message m. Dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif démonstrateur. Pour prouver l'authenticité d'un message m, ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {rI, rz, r3, ...}, telle que, pour chaque facteur premier p;, chaque collection comporte un aléa r, entier positif et plus petit que pi . Il y a autant d'engagements R que de collections d'aléas. ' étape 2. défis d produits par ledit dispositif contrôleur et destinés 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 ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collection de défis d {dA, dB, ...} reçues du dispositif contrôleur. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. ' étape 4. données destinées au dispositif contrôleur : Les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D. ' étape 5. vérification par le dispositif contrôleur : Le dispositif contrôleur comporte des deuxièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'= GA dA. GB dB. ...Dv mod n ou du type : R'.GAdA.GBdB....---D modn Le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer un jeton T', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R'. Le dispositif contrôleur comporte des quatrièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur. Cas d'une signature numérique de message Cas où l'exposant de vérification v est unique Dans le cas de cette variante de réalisation particulière, la session est destinée à vérifier la signature numérique d'un message m. Dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif de signature. Pour prouver la signature numérique du message m, ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du témoin : Le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r,, ...}, telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r, entier positif et plus petit que pi. Il y a autant d'engagements R que de collections d'aléas. ' étape 2. défis d destinés au dispositif témoin : Le dispositif de signature calcule, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1. Le nombre des collections de défis d est égal au nombre d'engagements R. Chaque collection {dA, dB, ...}comprend un nombre de défis égal au nombre de paires de clés. Le dispositif de signature transmet les collections de défis d au dispositif témoin. ' étape 3. réponse du dispositif témoin au défi d : Le dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...}. Il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d. 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 : R'== GA dA. GB dB....DV modn ou du type : R' . GA d ". GB dB .... --- D" mod n * des deuxièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', * des troisièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé. Cas où le dispositif contrôleur reçoit la collection des engagements R Dans ce cas, le dispositif contrôleur reçoit la collection des engagements R et des réponses D, Le dispositif contrôleur comporte : * des premiers moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m 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 R' --- GA d'" . GB d'B .... D mod n ou du type : R' . GA d'A GB d'B .... --- Dv mod n * des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé. Paire de clés conférant une sécurité équivalente à la connaissance de la clé privée Q La paire des clés GA, QA,... n'a plus raison d'être systématiquement déduite de l'identité du témoin, comme dans le cas du procédé GQ. Dans le cas de la variante de réalisation ci-après exposée les composantes QA,, QA1, ... (QA ...), et QBI, QB2, ... (QB.,...), des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QA,, QB1, ... pour chacun desdits facteurs premiers p,, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI, QA1, ... (QA, ...), et QBI, QB29 ... (QB;, ...), ... par la méthode des restes chinois, Le dispositif témoin comporte des moyens de calcul pour calculer les clés publiques GA, GB, ..., # en effectuant des opérations du type : GAi# QA;modp. # puis, en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QAv mod n = 1 Le nombre d'opérations arithmétiques modulo p, à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. De préférence, l'exposant public de vérification v est un nombre premier. On peut démontrer que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. Paire de clés conférant une sécurité équivalente à la connaissance de la factorisation de n De préférence, l'exposant public de vérification v est du type v=a où k est un paramètre de sécurité. De préférence également, l'exposant public de vérification v est du type v=2k où k est un paramètre de sécurité, Dans ce cas clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2= gA mod n n'ait pas de racine en x dans l'anneau des entiers modulo n. Le dispositif témoin comporte des neuvièmes moyens de calcul pour calculer les dites composantes QA,, Qu 29 ... (QA; , ...) de la clé privée QA en appliquant des formules telles que : GA= QA 2exp(k) mod Pi ou bien telles que : GA.QA i2.exA) mod p,=- 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi). Ainsi, le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. On peut démontrer que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. De préférence, pour extraire la kième racine carrée de GA dans le corps de Galois CG(p.), * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA@ GAZ mod p, * dans le cas où le facteur premier p; est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas. On va maintenant décrire de manière détaillée la présente invention en présentant dans une première partie les éléments mathématiques utilisés, puis, en développant dans une deuxième partie le procédé selon l'invention appelé nouveau procédé. Première partie : éléments mathématiques 1. Congruences Dans ce paragraphe, x, y et z sont des entiers naturels. - n'est pas nul. La notation x y (mod z) se lit x est congru à y (mod z) ; elle est équivalente à z divise x-y . 1.1. Propriétés de base des congruences Les quatre lois suivantes sont utiles. (Loi A) { a = b (mod m); x = y (mod m) ==> {a x --- b y (mod m); a.x = b.y (mod m) (Loi B) { a.x == b.y (mod m); a = b (mod m); pgcd(a, m) = } => 1 x =- y (mod ni) } (Loi C) { a --- b (mod m) } { a.n --- b.n (mod m.n) (Loi D) { a = b (mod r.s); pgcd(r, s) =1 {a==b (modr); a = b (mod s) 1. 2. Théorème de Fermat Lorsque p est un nombre premier, ap#a (mod p). Démonstration. La relation est triviale lorsque a est un multiple de p. Définissons la suite {X} pour un nombre entier a quelconque appartenant à {1, 2, 3, ...p-1}. {Ar}={x1=a. Puis, pour i >-1, xl+1 = a + xr (mod p)l Les p-1 premiers termes sont distincts et non nuls ; ils forment une permutation des entiers de 1 àp-1. Calculons le terme pour l'indice i+p : xi+p = xi + p.a = xi (mod p) Par conséquent, la suite {X} est périodique et sa période est p. Selon la loi A, a.2a.3a.... ( p -1)a =1.2.3.... ( p -1) (mod p) Selon la loi B, ap-1 =1 (mod p) Selon la loi A, ap #a (mod p) 1. 3. Théorème d'Euler Lorsque a et n sont premiers entre eux, a#(n) =1 (mod n). La fonction d'Euler est notée par cp(n). C'est le nombre d'entiers positifs inférieurs à n et premiers avec n. => Lorsque n est un nombre premier p, (p(p) = p-1. =>Lorsque n est le produit de deux nombres premiers distincts pi etp2. tP(n) ~ (P,-1). (P2-l). Lorsque la factorisation de n est pls. P2) . P3'...., (pu = (1-lpy . (l-lIp2)' (l-l/p3) 1. 4. Structure du corps de Galois CG(p) Soit un nombre premier impair p. Soit un nombre entier positif a inférieur à p. Définissons la suite {X}. {X}= {Xl = a. Puis, pour 1, xl+l a.x, (mod pu Calculons le terme pour l'indice i+p et utilisons le théorème de Fermat. x;+ p = ap.xi a.x; xi+1 (mod p) Par conséquent, la période de la suite {X} est inférieure ou égale à p-1 et elle divise p-1. Cette période dépend de la valeur de a. Par définition, cette période est appelée le rang de a (mod p) . Xrang(a, p) 1 (mod p) Les éléments de CG(p) ayant pour rang p-1 sont appelés les éléments générateurs de CG(p). La dénomination est due au fait que leurs puissances successives dans CG(p), c'est-à-dire, les termes de la suite {X} pour les indices de 1 à p-1, forment une permutation de tous les éléments non nuls de CG(p). Soit un élément générateur a de CG(p). Evaluons le rang de l'élément à (mod p) : ce rang s'exprime simplement en fonction de i et de p-1. Lorsque i est premier avec p-1, c'est p-l. # Lorsque i divisep-l, c'est (p-1)/i. Dans tous les cas, c'est (p-l)/pgcd(p-l, i). Par conséquent, dans le corps CG(p), il y a (p(p-l) éléments générateurs où # est la fonction d'Euler. Par exemple, lorsque (p-1)/2 est un nombre premier impair p', il y a p'-1 éléments générateurs, à savoir, # un seul élément de rang 1 : c'est 1, un seul élément de rang 2 :c'est -1, p'-léléments de rang;?', # p'-l éléments de rang 2.p'; ce sont les éléments générateurs. 1. 4.1. Fonction exponentielle sur CG(p) Lorsque p est un nombre premier impair et que a est un élément générateur de CG(p), la transformation élever a à la puissance x ième (mod p) permute les éléments non nuls de CG(p). La permutation inverse est définie par prendre le logarithme discret de y en base a dans CG(p) . Lorsque a est un élément générateur de CG(p), x H y == aX (mod p) ≤> y H X == 10ga(Y) dans CG(p) 1. 4.2. Fonction puissance sur CG(p) Lorsque p est un nombre premier impair et que v est premier avec p-1, la transformation élever x à la puissance v ième (mod p) respecte le rang des éléments. Elle permute les éléments de CG(p). La permutation inverse est définie par une autre transformation élever y à une puissance s ième (mod p) où p-1 divise v.s-1. On dit que l'exposant s est inverse de l'exposant v (modp-1). XHY==Xv (mod p) ≤> YHX==Ys (mod p) 1. 5. Fonction de Carmichael La fonction de Carmichael de n est notée par ,(n). C'est la valeur maximale du rang (mod n). => Lorsque n est le produit de deux nombres premiers impairs p1 et p2, ##(n) = ppcm(p,-l, p2-l). =>Lorsque a et b sont premiers entre eux, .(a.b) = ppcm(À(a), ,(b)). =>Pour les puissances d'un nombre premier impair p, .(p) = p Pour les puissances de 2, 7(2) = 1; z,(4) = 2; À(2') = 2" 2. = Dans tous les cas, À(n) divise cp(n). L'égalité n'intervient que lorsque n est premier. 1. 6. Résidus quadratiques Considérons l'équation x 2 c (mod n) où l'entier positif c est inférieur àn et premier avec n. # Lorsque l'équation a des solutions en x, on dit que c est un résidu quadratique (mod n). # Lorsque l'équation n'a pas de solution, on dit que c est un résidu non quadratique (mod n). L'ensemble des résidus quadratiques (mod n) forme un groupe (mod n) pour la multiplication. En effet, le produit de deux résidus quadratiques (mod n) est un résidu quadratique (mod n). En outre, le produit d'un résidu quadratique (mod n) par un résidu non quadratique (mod n) est un résidu non quadratique (mod n). Lorsque n est un nombre premier impair p, chaque résidu quadratique (mod p) a exactement deux racines carrées dans CG(p). En effet, soit un élément générateur a de CG(p) : a' (mod p) est un résidu quadratique si et seulement si i est pair ; ses racines sont alors ~a1/2 (mod p). Les éléments x et p-x ont le même carré. Remarque. Dans CG(p), lorsque (p-l)/2 est un nombre premier impair p', les résidus quadratiques (mod p) sont les p'-l éléments de rang p' complétés par l'élément de rang 1, c'est-à-dire, 1. 1. 7. Symboles de Legendre et de Jacobi Lorsque p est un nombre premier, on peut classer les entiers positifs en deux catégories : les multiples de p et les nombres premiers avec p. En outre, les nombres premiers avec p se classent eux-mêmes en deux catégories : les résidus quadratiques (mod p) et les résidus non quadratiques (mod p). Legendre a introduit un symbole spécial noté par (c # p). Le symbole de Legendre de l'entier positif c par rapport au nombre premier p prend les valeurs +1, -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 formule est encore appelée le critère d'Euler. (c 1 p) C(P-l)12 (mod p) Le symbole de Jacobi généralise le symbole de Legendre. Les deux symboles sont notés de la même manière. Connaissant la factorisation de l'entier impair n, la formule suivante définit le symbole de Jacobi par rapport à n à partir du symbole de Legendre par rapport à chaque facteur premier de n. Si n = p,Q. p2... , alors (c z) = (c 1 p,)'. (c 1 p/J ... En d'autres termes, si a et b sont des entiers positifs impairs premiers avec c et c', (c 1 a. b) = (c 1 a). (c 1 b) et (c a) . (c' 1 a)= (c'. c a) Attention, résidus quadratiques et éléments avec symbole de Jacobi égal à +1 ne coïncident pas. * Tous les résidus quadratiques (mod n) ont un symbole de Jacobi égal à +1. * La valeur-1 du symbole de Jacobi caractérise exclusivement des résidus non quadratiques (mod n). * Lorsque n n'est pas premier, il y a des résidus non quadratiques dont le symbole de Jacobi vaut +1. La loi de réciprocité quadratique lie les symboles de Jacobi (m n) et (n #m) où m et n sont deux entiers positifs impairs : Legendre et Euler connaissaient cette loi ; Gauss l'a démontrée. (m I i).(n 1 m) = {n-I}/4 En d'autres termes, le signe change quand rn et n sont tous deux congrus à 3 (mod 4). Notons la relation : (-1 1 n) (-lyn-I}12 En d'autres termes, -1 est un résidu quadratique mod n lorsque n est congru à 1 mod 4 ; -1 est un résidu non quadratique mod n lorsque n est congru à 3 mod 4 ; Notons enfin la relation : (2 n) ~ (-1)cn2 -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. 8. Suites de Lucas Considérons l'équation du second degré : les coefficients S et P sont respectivement la somme et le produit des racines a et ss, lesquelles racines sont distinctes lorsque le discriminant A n'est pas nul. (x - a).(x - 3) = x2 - (a +,(i).x + a./3 = x2 - S.x + P S =SZ-4.P=(a-/3)Z 0 Les suites de Lucas {U} et {V} sont définies comme suit : les paramètres S et P sont deux entiers non nuls tels que S 2 soit différent de 4.P ; chaque terme est entier parce que les valeurs initiales sont entières. {u}= luo = 0; ul = 1. Puis, pour i >- 0, ui+2 = S-Ui+l - P.ur {V}= vo = 2; v, = S. Puis, pour il 0, vi+2 = Swt+t - P-v, } Les deux suites admettent la même équation caractéristique évoquée cidessus : x2 - S.x + P = 0. Supposons les expressions suivantes vraies pour les indices i et i+1. = a - i {3i + /3i 1 a- {3 et V, =a 1. +16 On vérifie alors simplement que les expressions sont encore vraies pour l'indice i+2. Or, elles sont vraies pour les indices 0 et 1. Par récurrence, elles sont donc vraies pour tout indice i positif ou nul. Par la suite, on utilisera également les relations suivantes. Leur démonstration est triviale. v2 - O.u2 = 4.P Pour doubler l'indice, 2.=.; V2.i = VI 2 ~2.Pi Pour retrancher un à l'indice, Par ailleurs, les racines a et ss s'expriment facilement en fonction de 5 == Développons les polynômes (S + Ji.) 2.k + et (S - Ji.) 2.k + et comb: 10 leurs développements. 92.* 1 2*.r3 rr2.*-2A. 2 k-l 2 A*-l , A* 2 .u2 k+l = C2.k+l . S + C2.k+l . S .il + ... C2.k+l' S.il + il 2-2 r'3t-l ,-.2. C2 k+1 . S./#. C2.k+l . S./#. 2 k+l -A +U21+l--A 1. 8.1. Suites de Lucas sur le corps CG(p) Lorsque p est un nombre premier impair, p divise les coefficients du 15 binôme C p pour i allant de 1 à p-1. En d'autres termes, il ne reste alors qu'un seul terme dans chacune des deux expressions ci-dessus. 2p-l.u p = fj,(p-l) 12 (mode), c'est - à - dire, up ==(fj,1 p) (mod p) 2p~l.vp=Sp (mod p), c' est - à - dire, vp =S (modp) 20 Lorsque (A 1 p) = +1, u p =1 (mod p) et v p == S (mod p) Dans ce cas, u p~1 = (S.u p - v p ) I 2.P --- 0 (mod p) vp~ =(S.vp -O.up)l2.P=2 (mod p) Lorsque A est un résidu quadratique par rapport à un nombre premier impair 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 (A | p) = -1, u p --- -1 (mod p) et vp = S (mod p) Dans ce cas, UP+i = (S.up + vp ) / 2 = 0 (mod /?) v p+1 = (S.v p + .u p ) l 2 --- 2.P (mod p) Puis, up+z = (S.u p+1 + vp+1 ) / 2 = P (mod p) vp+2 = (S.vp+l + .u p+1 ) l 2 --- S.P (mod p) Lorsque A est un résidu non quadratique par rapport à un nombre premier impair p ne divisant ni P, ni S, ni #, les suites de Lucas pour les indices p+1 et p+2 sur le corps CG(p) sont dans l'état initial multiplié par P. Lorsque P est égal à 1, la période des suites de Lucas sur CG(p) divise alors p+1. C'est ainsi que Lucas a découvert et établit le théorème suivant : Lorsque p est un nombre premier impair ne divisant ni P, ni S, ni #,p divise up-(0 1 p) et up-(tJ. 1 P)' 1. 9. Racines carrées dans CG(p) 1. 9.1. Cas où p est congru à 1 (mod 4) Lorsque p est congru à 1 (mod 4), on utilise les suites de Lucas pour calculer une racine carrée de c (mod p). On affecte la valeur c au paramètre P. Puis, on cherche une valeur du paramètre S telle que le discriminant 8 = S2 - 4.c soit un résidu non quadratique (mod p). Lorsque A est un résidu non quadratique par rapport à un nombre premier p impair ne divisant ni c, ni S, ni A, les suites de Lucas pour les indices p+1 et p+2 sur le corps CG(p) sont dans l'état initial multiplié par c. Or, on connaît les relations suivantes : V? ~A.U2 = 4.P' et u2 = Ui ,vi En d'autres termes, p divise alors up+1 qui est égal au produit de u(p+1)/2 par V(P+I)I2' Par conséquent, p divise alors U(p+IJ/2 ou V(p+I)I2' En fait, p ne peut diviser v (p+1)12 ; il divise donc u(P+I)I2' On obtient donc, v( p+1) 2 = 4.c(p+1) I 2 (mod p) Or, c(p+l)/2 == c (mod p) Par conséquent, le nombre: x == .!.V(P+l)/2 (mod/?) est alors une solution à l'équation : x2 = c (mod p). 1. 9.2. Cas où p est congru à 3 (mod 4) Selon le critère d'Euler, on a : c(p-i) Z ---1 (mod p), ce qui donne, c(p+I)12 z = c (mod p). Lorsque le nombre premierp est congru à 3 (mod 4), le nombre (p+l)/4 est entier ; par conséquent, les racines carrées de c dans CG(p) sont alors + ( p+1) I 4 (mod p). 2. Quelques méthodes de calcul pratique 2. 1. Algorithme d'Euclide 2. 1.1. Coefficients de Bezout et pgcd Par définition, les coefficients de Bezout de deux entiers positifs x et y sont deux entiers k et l définis de manière unique par : 0 Soient deux entiers positifs x et y tels que x soit plus grand que y. Divisons x par y à la manière d'Euclide pour obtenir un quotient q positif et inférieur ou égal à x et un reste r positif ou nul et inférieur à y. Soit, 0 Par conséquent, x = q.y + r avec 0 C0=ql.Cl+C2; Cl=92C2+C3; ... jusqu' à : CL~i = qL .CL + CL+1 où CL+l = 0. Les quotients successifs forment la suite {q} qui est ainsi définie pour les indices i allant de 1 à L. Les restes successifs forment la suite {C} qui est ainsi définie pour les indices i allant de 0 à L+1. La suite {C} est strictement décroissante de Co jusqu'à CL+1 qui est nul. La suite {C} peut encore se définir de la manière suivante. {C}= {C0=x; CI = y; puis, pour i allant de 1 à L, Ci+ --- Ci-i - qi -ci Définissons maintenant deux autres suites appelées {A} et {B}. A= Ao =1; A1 = 0; puis, pour i allant de 1 à L, A;+1 = A,-i+qrA,} B= Bo = 0; BI =1; puis, pour i allant de 1 à L, B;+1 --- B,-1 + q, .Bl Les premiers termes de la suite {A sont Ao = 1, AI = 0, A 2= 1A3=lzA= 1 + q2 . q3l ... La suite {A} est strictement croissante de Aj 3à AL+I' Les premiers termes suivants de la suite {B} sont Bo = 0, B, = 1, Bz = q,, B3 = 1 + q, . Îz, ... La suite {B} est strictement croissante de B2à BL+1. En éliminant q, entre les définitions des suites {A}et {C}, nous obtenons : Ai,CI+I l+Ai+l-Ci = AI-l,CI + A"C,-l Par conséquent, la valeur de AI.C+1 1 + Ai + 1 ,CI est constante pour i allant de 0 à L. Puisque AO.CL + A1.Co = y, nous obtenons : AL+l'C L = y Et, de la même manière, BL+1.CL = x. Par ailleurs, remarquons les égalités : x.Ao - y.Bo = x = (-1)0 .C0 x.Al - y.Bi =-y = (-1)1.CI Supposons la relation vraie pour les indices i-1 et i ; puis, vérifions qu'elle est vraie pour l'indice i+1. 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. k A B C q 0 1 0 63 659 = x - 1 0 1 10 103 = y 6 2 1 6 3 041 3 3 3 19 980 3 4 10 63 101 9 5 93 586 71 1 6 103 649 30 2 7 299 1 884 11 2 8 701 4 417 8 1 9 1 000 6301 3 2 10 2 701 17 019 2 1 11 = L 3701=AL 23 320 = BL 1 = CL 2 12 10 103 = y 63 359 = x 0 - Les calculs sont plus simples que les explications. 23 320 . 10 103 = 235 601 960 3 701 . 63 659 = 235 601 959 23 320 . 10 103 - 3 701 . 63 659 = 1 2. 1.2. Inversion (mod n) L'algorithme d'Euclide calcule aussi l'inverse (mod x). Bien entendu, la suite {A}est alors inutile. Lorsque y est positif, que x est plus grand que y et que x et y sont premiers entre eux, c'est-à-dire, CL = pgcd(x, y) = 1, les notations y ' (mod x) et 1/y (mod x) ont un sens. Lorsque L est impair, l'inverse de y (mod x) est égal à BL. Lorsque L est pair, l'inverse de y (mod x) est égal à x - BL' Dans l'exemple ci-dessus, 23 320 est l'inverse de 10 103 (mod 63 659). 2. 2. Charge de travail et méthode des restes chinois La charge de travail pour élever x à la puissance v ième (mod Il) dépend de la valeur et de la forme binaire de l'exposant v, de la taille de l'argument x et de la taille du module n. Dans le cadre de ce mémoire, l'exposant v est plus petit que le plus petit facteur premier du module n. L'utilisation des facteurs premiers p1, p2, ... d'un module n diminue la charge de travail pour calculer (modn). Plutôt que l'opération directe élever x à la puissance v ième (mod n) , on peut avantageusement élever x à la puissance v ième dans chacun des corps CG(p,), CG(p,), ... c'est-à- dire, (mod p,), (mod p2), ... puis, établir le résultat dans l'anneau Zn, c'est-à- dire, (mod n = p1 fois p2 fois ...). Cette manière de procéder est appelée la méthode des restes chinois. 2. 2.1. Multiplication et carré (mod n) En pratique, avec des programmes optimisés, le rapport entre la charge de travail pour un carré modulo et la charge de travail pour une multiplication modulo est environ 0,75. Par exemple, sur le composant ST 16601 pour carte à puce, avec une horloge normalisée à 3,579545 MHz, le carré modulo pour 512 bits se fait en 150 ms et la multiplication modulo en 200 ms. Pour effectuer une opération multiplication modulo , on peut multiplier, puis, réduire : l'opération de multiplication demande à peu près autant d'effort que l'opération de réduction modulo. La multiplication de deux nombres de 512 bits peut se ramener à des multiplications de nombres de 256 bits. Chaque nombre de 512 bits s'écrit alors a+2256.b où a et b sont des nombres de 256 bits. La multiplication de a+2256.b par c+2256.d amène à calculer les quatre produits a.c, a.d, b.c et b.d. En doublant la longueur, on multiplie par quatre la charge de travail pour multiplier. Le carré de a+2256.b amène à calculer les deux carrés a2, b 2 et le produit a.b. En doublant la longueur, on multiplie par trois la charge de travail pour élever au carré. De même, la multiplication de deux nombres de 512 bits peut se ramener à des multiplications de nombres de 171 bits. Chaque nombre de 512 bits s'écrit alors a+2"'.b+2'4z.c où a, b et c sont des nombres de 171 bits. La multiplication de 2171 b 2342 par d+2"'.e+2;z.f amène à calculer neuf. En doublant la longueur, on multiplie par neuf la charge de travail pour multiplier. Le carré de a+2m .b+2#2 .c amène à calculer trois carrés et trois produits. En doublant la longueur, on multiplie par six la charge de travail pour élever au carré. 2. 2.2. Elever x à la puissance v ième (mod n) Prenons en exemple la valeur v = 3, puis, la valeur v = 65537. Pour v = 3, c'est-à-dire, 2+1, il faut élever l'argument au carré (mod n), puis, multiplier le résultat par l'argument (mod n). Pour v = 65 537, c'est-à-dire, 216+1, il faut élever l'argument au carré (mod n) seize fois de rang, puis, multiplier le résultat par l'argument (mod n). 2. 2.3. Méthode des restes chinois Lorsque x et y sont deux entiers positifs premiers entre eux, les calculs suivants transforment une représentation à une composante (mod x.y) en une représentation à deux composantes (mod x) et (mod y). as --- a X) (mod x) et ay = ax (mod y) Voyons maintenant comment réaliser l'opération inverse, c'est-à-dire, comment calculer la représentation à une composante (mod x.y) connaissant la représentation à deux composantes (mod x) et (mod y). La technique décrite ci-dessous est connue comme la méthode des restes chinois. Supposons x plus grand que y. Tout d'abord, réduisons x (mod y), puis, inversons le résultat (mod y). Â = {x (mod y) }- (mod y) Ensuite, réduisons la composante ax (mod y). a'x = ax(mod y) Le résultat cherché s'obtient alors par l'une des deux formules suivantes. Lorsque ay est supérieur ou égal à a'x, ax y --- f , . (ay -a') (mod y) } . x + ax Lorsque ay est inférieur à a'z, a X} =={À.(a + y - a'x) (mod y) 1. x + as Dans le cadre de ce mémoire, l'exposant v est plus petit que le plus petit facteur premier du module n. Il n'y a donc pas donc de réduction de l'exposant v en fonction des différents facteurs premiers du module n. Par rapport au calcul direct de élever x à la puissance v ième (mod n) où l'argument x et le module n ont la même taille, la méthode des restes chinois divise la charge de travail - par deux lorsque le module n a deux facteurs premiers p, et p2 de même taille, - par trois lorsque le module n a trois facteurs premiers p1, p2 et p3 de même taille, et ainsi de suite. On peut généraliser la méthode précédente ; ainsi, la procédure suivante calcule x" (mod n) pour un exposant v = 2' +v,~v2'~l + ... vJ.2 + Vo où chaque bit de vi-1 à vo vaut 0 ou 1. 1. Donner à y la valeur x. 2. Répéter la séquence suivante pour k allant de i-1 à 0. Remplacer y par y2(mod n). Si le bit vk vaut 1, remplacer y par x.y (mod n). 3. Le résultat cherché est y. Selon la procédure précédente, le calcul peut se faire par log2(v) carrés (mod n) entrelacés avec h(v) multiplications (mod n). La notation h(v) représente un de moins que le poids de Hamming de v, c'est-à-dire, que l'écriture de v en binaire comporte h(v)+l bits à 1. Pour un module ra de 512 bits, cela signifie log2(v) carrés (mod n sur 512 bits) et h(v) multiplications (mod n sur 512 bits). Pour un module n de 256 bits, cela signifie log2(v) carrés (mod n sur 256 bits) et h(v) multiplications (mod n sur 256 bits). Pour un module n de 171 bits, cela signifie log2(v) carrés (mod n sur 171 bits) et h (v) multiplications(mod n sur 171 bits). 2. 3. Calcul du symbole de Jacobi Le calcul du symbole de Jacobi d'un entier positif k par rapport à un entier positif impair n plus grand que k se déroule selon la procédure suivante qui utilise cinq variables appelée x, y, z, e et J. Cette procédure n'utilise pas la décomposition de n en facteurs premiers. # La variable x est positive et impaire, strictement décroissante à partir de la valeur initiale n. # La variable y est positive et inférieure à x, strictement décroissante à partir de la valeur initiale k. # La variable z est positive, impaire et inférieure à y. # La variable e est l'exposant du facteur 2 extrait de y. Seule sa parité doit être évaluée. # La variable J vaut +1 ou -1 en partant de la valeur initiale +1. Calcul pratique de (k # n) avec k positif et n impair et plus grand que k 1. Donner à x la valeur n ; donner à y la valeur k ; donner à J la valeur +1. 2. Décomposer y en z.2e où z est impair et positif et e positif ou nul. (y 1 x) = (z. 2e 1 x) = (z 1 x) . (2 1 x)' Si e est impair et si x = 3 ou 5 (mod 8), changer le signe de J. 3. Appliquer la loi de réciprocité quadratique sur z et x qui sont tous deux impairs. (z 1 x) = (x 1 z) . (-1 )('-1) (z-I)14 Si x et z = 3 (mod 4), changer le signe de J. 4. Réduire x qui est toujours plus grand que z. # Remplacer y par x (mod z). # Remplacer x par z. 5. Si x est plus grand que 1, revenir à l'étape 2. Si x est égal à 1, alors le symbole de Jacobi vaut J et k et n sont premiers entre eux. Si x est nul, alors le symbole de Jacobi est nul et le pgcd de k et n est égal à z. Exemple. Calculer (10 103 # 63 659), c'est-à-dire, (2777 1 F8AB) en notation hexadécimale. On retrouve les divisions successives de l'algorithme d'Euclide et le calcul du pgcd. Le décalage de ligne matérialise l'extraction du facteur 2. Le symbole * matérialise le changement de signe de J. q C C (mod 8) J change 63 659 = x 3 6 10 103 = y 7 * 3 3041 1 980 4 12 245 5 2 101 5 2 43 3 2 15 7 * 1 13 5 2 2 * 13 1 1 Par conséquent, (10 103 # 63 659) = -1. 2. 4. Racines carrées sur le corps CG(p) Lorsque c(pI)/2 (mod p) vaut +1, l'équation x2 --- c (mod p) a deux solutions dans le corps de Galois CG(p) ; ces deux solutions sont appelées racines carrées de c (mod p) . 2. 4.1. Cas où le nombre premier p est de la forme 4.i+3 Ce cas est simple. Lorsque p est congru à 3 (mod 4), (p+1)/4 est un nombre entier ; les deux racines carrées de c (mod p) sont alors x == :!:C(P+lf4 (mod p). 2. 4.2. Cas où le nombre premier p est de la forme 4.i+l Il faut d'abord trouver une valeur convenable du paramètre S, c'est-à-dire, une valeur telle que A = S2-4.c soit un résidu non quadratique (mod p). On ne connaît pas d'autre façon de procéder que par essais successifs. En pratique, on part de S = 1, puis, on fait croître la valeur de S. Puis, les relations suivantes sont utilisées pour calculer les suites {U} et {V} ensemble. Pour doubler l'indice, tl2.i = u.v; v2. = v2 - 2.c' Pour ajouter 1 à l'indice, Ui + = (S.u, + v, )/2; V+l = (8.u + S.v )l2 La procédure utilise trois variables : x pour u@, y pour v@etz pour c'. L'indice cible est (p+l)/2 ; il est codé par une séquence de j bits. Cette séquence est examinée du bit de poids fort au bit de poids faible. 1. Donner à x la valeur 0 ; à y la valeur 2 ; à z la valeur 1. 2. Répétera fois la séquence suivante. Remplacer x par x.y (mod p). Remplacer y par y2- 2.z (mod p) Remplacer z par z2 (mod p). Si le j ième bit codant l'indice cible vaut 1, exécuter la séquence suivante. Remplacer t par x. Remplacer x par (S.t+ y)/2 (mod p). Remplacer y par (S.t+ #.y)/2 (mod p) Remplacer z par z.c (mod p). 3. Remplacer y par y/2 (mod p). Le résultat cherché est y. 2. 5. Carré et racine carrée dans Q Dans ce paragraphe, le module n est le produit de deux facteurs premiers p, et p2 congrus à 3 (mod 4). Dans ce cas, (Pl+l)!4 et (p2+l)/4 sont des nombres entiers. Définissons la notation (mod* n) . Cette opération consiste à calculer normalement le résultat x (mod n), puis, à garder x ou n-x, le plus petit des deux, comme résultat final. Lorsque le module n est le produit de deux facteurs premiers p, et p2 congrus à 3 (mod 4), définissons la notation Qn . C'est l'ensemble des éléments de l'anneau des entiers (mod n) qui sont plus petits que n/2 et dont le symbole de Jacobi par rapport à n vaut +1. L'ensemble Qn a une structure d'anneau. Considérons une première transformation définie par élever un élément x de Qn au carré (mod* n) . Le résultat y appartient également à Qn. y#x2 (mod * n) Considérons une deuxième transformation définie par élever y à la puissance (p,+l)/4 (mod pu) , puis, élever y à la puissance (p2+1)/4 (modp,) , avant d'utiliser la méthode des restes chinois pour établir le résultat z (mod* n). Lorsque p1 est plus petit que p,, les calculs sont très précisément les suivants. y, y (mod pl ); z, YI (Pl+I)/4( mo d ) Pl Yz = Y (mod p2 ) Z2 == Y2 (p2+1)/4( (mod P2) z' = z2 (mod pl); Si zl >- z', z"= zl -z'; Sinon, z"= zl + pi -z' = fP2 (modpl)r1 (modpl); z1,2 --- ..z" (mod pl )p2 + z2; z --- z1,2 (mod * n) Ces deux transformations sont inverses l'une de l'autre. Leur produit est l'identité parce que le résultat z rétablit le nombre x de départ. Ce sont deux permutations, inverses l'une de l'autre, des éléments de Qn. La première permutation calcule le carré y dans Qnde l'élément x de Qn . La deuxième transformation calcule donc la racine carrée x dans Qn de l'élément y de Qn . Par la suite, on aura besoin de la k ième racine carrée de y dans Qn, c'est-à-dire, de la solution x dans Qn à l'équation : y#x2k-n (mod * n) Plutôt que d'extraire k racines carrées de rang dans Qn, il vaut mieux procéder globalement de la manière suivante. Cette remarque fut faite en son temps par Oded Goldreich. y,=-y(modpl); z = (pi + 1) / 4; t=zk k (mod pl -1); xl --- yi (mod) Y2 = Y (mod p2 ); z = (p2 + 1) I4; t = zk (mod p2 -1); x2=y'2 (mod p2 ) x'=x2 (mod pl ); Si xl >- x', x"= xi - x'; Sinon, x"= xl + pl - x' = fP2 (mod/?!)}"1 (mod/?!); x1,2 = i.x" (mod pl )p2 + x2 x = x1,2 (mod * n) 2. 6. Nombres de Williams et Racine carrée de 4 dans Qn Hugh C. Williams a découvert l'intérêt cryptographique des modules n, produits de deux facteurs premiers p1 et p2 tels que p1 soit congru à 3 (mod 8) et p, à 7 (mod 8). Lorsque le module n est le produit de deux facteurs premiers p, et P2 tels que p, soit congru à 3 (mod 8) et P2 à 7 (mod 8), on obtient (2 1 p) = -1 et (2 P2) = +1, c'est-à-dire que 2 est un résidu non quadratique (mod p,) et un résidu quadratique (mod p2); donc, ni 2 (mod n), ni-2 (mod n) n'appartiennent à Qn. Par la suite, a dénotera la racine carrée de 4 dans Qn. Cette racine est représentée par les composantes : ail -2 (mod p,) et a2=2(mod pz) ou bien par al == 2 (mod p) et a, -2 (mod P2); c'est l'élément dont la représentation (mod n) est plus petite que n/2. Il y a alors équivalence entre la connaissance du nombre a et la connaissance de la factorisation du module n. Démonstration. D'une part, étant donné a, le module n divise [alpha]2-4; mais le symbole de Jacobi de (7 par rapport à n vaut +1alors que celui de 2 vaut -1 ; le module n ne divise donc ni a-2, ni a+2. Par conséquent, le facteur premier p2 est le plus grand commun diviseur de n et a-2 ; le facteur premier p1 est le plus grand commun diviseur de n et [alpha]+2. D'autre part, étant donnés les facteurs premiers p1 et p2, la racine carrée de 4 dans Qn est représentée par les composantes : or, = -2 (mod p,) et bzz 2 (mod p2), ou bien, a, 2 (mod p,) et a2 -2 (mode). Selon les restes chinois, on reconstruit a. Shafi Goldwasser, Silvio Micali et Ronald Rivest ont introduit la paire de fonctions { Fo ; Fez sur Qn. Fo(x) == x2 (mod* n) et F(x) 4.x2 (mod* n) Cette paire de fonctions permute les éléments de Q . Une collision est définie par deux éléments x et y de Qn tels que Fo(x)= F,(y). Connaître une collision équivaut à connaître les facteurs premiers du module n. La démonstration est semblable à la démonstration ci-dessus. Par conséquent, cette paire de permutations résiste aux collisions pour qui ne connaît pas les facteurs premiers p1 et P2 du module n. Nous disposons donc de tous les ingrédients nécessaires à une démonstration de la connaissance de la factorisation d'un module public n sans en transférer la connaissance. Deuxième partie : nouveau procédé 1. Exposé du nouveau procédé Le procédé est destiné à prouver l'origine et l'intégrité d'un message numérique m, lequel message peut être vide. Ce procédé permet l'authentification d'entité, l'authentification de message ou la signature de message. 1. 1. Paramètres Le procédé met en ûuvre un premier ensemble de nombres entiers, à savoir, au moins deux facteurs premiers notés par p1 p2 p3 ... Certains facteurs premiers peuvent apparaître plusieurs fois. Le produit des facteurs premiers forme un module public n=p{.p2(. p3 ...). un jeu de paramètres des restes chinois notés. Aa Ab Ac .... Il y a un paramètre de moins que de facteurs premiers. Attention, il y a plusieurs jeux de paramètres équivalents. Supposons que les grands nombres premiers sont rangés dans l'ordre croissant, s'il y a trois nombres premiers, p3 est plus petit que p1 fois p2, s'il y a quatre nombres premiers, p4 est plus petit que p1 fois p2 fois p3, et ainsi de suite. Dans ce cas, voici un exemple de jeu de paramètres des restes chinois. Àa =(P2 (mod pl ))-1 (mod pl ) Àb = Pl -P2 (mod p3 ))-I (mod P3 ) ~ ((pi p2 p3 (mod P4 -1 (mod pa ) Et ainsi de suite. Le procédé met en ùuvre un deuxième ensemble de nombres entiers, à savoir, au moins un exposant public de vérification noté par v, et, pour chaque exposant v, au moins une paire de clés selon la présente invention comprenant une clé privée notée par Q et une clé publique notée par G. Une des deux relations suivantes lie chaque paire de clés selon la présente invention par les nombres v et n. G.Qv 1 (mod n) ou bien G Qv (mod n) En l'absence de toute ambiguïté, en particulier, s'il y a un seul exposant public de vérification v, on utilise la notation (G, Q), puis, si besoins est, (GA, QA), (GB, QB), (GC, QC), ... Avec plusieurs exposants publics de vérification vx vy vz ..., on utilise en outre la notation (Gx, Qx), (Gy, Qy), ..., puis, si besoins est, (GxA, QxA), (GxB, QxB),... (GyA, QyA), (GyB, QyB),... En pratique, chaque clé privée Q n'est jamais utilisée telle quelle. On utilise uniquement un jeu de composantes Q1 Q2 Q3 ..., une composante par facteur premier. Q1 = Q (mod pl ); Q2 - Q (mod p2 ); Q3 = Q (mod p3 ); et ainsi de suite. Par la méthode des restes chinois, on pourrait rétablir chaque clé privée Q à partir du jeu de composantes Q1 Q2 Q3 ...,. En pratique, il n'y a jamais lieu de rétablir les clés privées Q. Qu = Q2 (mod pl ); Si a>Op&=a-0à; Sinon, =0i+i-; QI,2 == a .Q (mod Pl) }P2 + Q2 Qb - Q1,2 (mod P3); Si Q3 Q, Q = Q3 - Q; Sinon, Qb = Q3 + p3 - Qb QI,2,3 b -Q (mod P3)\Pl-P2+Ql,2> Et ainsi de suite. Q est égal à QI,2,3,.,. 1. 1.1. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la clé privée Q Les composantes Q1 Q2 Q3 ... sont des nombres pris au hasard tels que 0 premier. En pratique, pour réduire la charge de travail, on choisit des composantes Q1 courtes , c'est-à-dire, de l'ordre de grandeur de la racine troisième ou quatrième du facteur premier p,. Note. L'ensemble de ces composantes représente une clé privée Q. La clé privée Q n'est jamais utilisée telle quelle. *Qa = Q2 (mod pl ) Si Q, Qa, Qu = Q - Qa Sinon, Qu = Q + p1 - QU Ql,2 = a .Q (mod pl ) p2 + Q2 Qb #Q1,2 (mod P3); Si Q3 >~ Qb , Q6 = Q3 - Qb Sinon, Qb = Q3 + p3 - Qb Qt,2,3 = Cb Qb (mod p3 ) pl .p2 + Q1,2 ; Et ainsi de suite. Q est égal à Q1,2,3,... La clé publique G est la puissance v ième de Q (mod n) ou bien son inverse (mod n). G = Q' (mod n) ou bien G = { Q'' (mod n) 1 -' (mod 11) Note. En pratique, pour calculer le nombre G, on élève chaque nombre Q, à la puissance v ième (mod p@), ... , puis, on utilise la méthode des restes chinois pour établir le résultat (mod n) ou son inverse (mod n). Gl = Qi (mod pl ); G2 --- Q2 (mod p2 ) ; Ga --- G2 (mod pl ); Si G, >~ GG, G: =G-G; Sinon, Gü = G, + pi - Gu ; G1,2 ={1a.G (mod Pi ) \pi + G2 ; Gb --- G1,2 (mod p3 ) ; G3 = Q3 (mod P3) Si G3 >~ G, G =G3 -Gb; Sinon, G G3 + P3 - G; G1,2,3 = {1b.G (mod P3) }PI,P2 + GI,2; Et ainsi de suite. G est égal à G1,2,3,... ou bien, à son inverse (mod n). Lorsque le nombre entier v est premier, on assure la propriété de sécurité annoncée. 1. 1.2. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n L'exposant public de vérification v est égal à 2k. Le nombre entier k est un paramètre de sécurité plus grand que 1. La valeur k = 1 est interdite. Chaque nombre g est un entier inférieur au plus petit facteur premier. En outre, pour au moins un facteur premier p, l'équation x 2 = g (mod p) n'a pas de racine en x dans CG(p). Note. Cette construction assure que le nombre g est un résidu non quadratique (mod n). Note. En pratique, on utilise pour g les nombres 2,3, 5,6, ... en éliminant bien s#r les carrés tels que 4, 9, ... Note. Il n'est pas recommandé d'utiliser 6 en même temps que 2 et 3 parce qu'ils se combinent par multiplication. On dit qu'ils ne sont pas indépendants. Il vaut mieux utiliser 2 et 3 et laisser tomber 6. Pour chaque nombre g, la clé publique G est égale à g2. Pour chaque nombre g, chaque composante Q1 Q2 Q3 ... est la k ième racine carrée de G dans CG(p) qui est un résidu quadratique dans CG(p). Il y a une composante par facteur premier. Exemple de calcul de la k ième racine carrée quadratique de G dans CG(p) On pourra utilement consulter l'appendice 3, Quadratic Residues , pp. 278-288, dans l'ouvrage Prime Numbers and Computer Methods for Factorization , Hans Riesel, Birkh%ouser, Boston, Basel, Stuttgart, 1985. Pour chaque facteur premier p congru à 3 (mod 4), on élève k fois de rang G à la puissance (p+1)/4 pour obtenir la k ième racine carrée quadratique de G dans le corps CG(p) ; puis, on inverse ou non le résultat (mod p) pour obtenir la composante Q, pour le facteur premier p,. Note. Plutôt que d'extraire k racines carrées successivement, on peut procéder de manière globale. x = ( p + I) l 4; y = xk (mod p -1 ); z = p -1- y; Q p ==gaz (mod p); par conséquent, p divise G.Qp2k -1. ou bien, x=(p+1)l4; y=xk (mod/7-1); z = y; Bzz (mod p); par conséquent, p divise Qp2@-G. Pour chaque facteur premier p congru à 1 (mod 4), on utilise les suites de Lucas pour extraire les racines carrées successives, jusqu'à obtenir la k ième racine carrée de G dans le corps CG(p), avant d'inverser ou non le résultat (mod p) pour obtenir la composante Qi pour le facteur premier pi. Par conséquent, p divise Gaz -1 ou bien, Q2 - G. Les clés G et Q sont deux résidus quadratiques (mod n). La paire de clés selon la présente invention vérifie l'une des deux relations suivantes. G.Q2k =1 (mod n) ou bien, Q2k#G (mod n) Exemples de paires de clés selon la présente invention et de contraintes sur les facteurs premiers On peut utilement consulter le chapitre 3, Quadratic Residues , pp. 35- 46, dans l'ouvrage Introduction to Number Theory , Hua Loo Keng, Springer Verlag, Berlin, Heidelberg, 1982. # (2 p) = +1lorsque p est congru à 1 (mod 8). (2 p) = -1 lorsque p est congru à 3 (mod 8). Pour utiliser g = 2, c'est-à-dire, la clé publique G = 4, il suffit qu'un facteur premier soit congru à 3 (mod 8). Alors, le nombre 2 est un résidu non quadratique modulo n. # (3p)= +1lorsque p est congru à 1 (mod 12). (3p)= -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é. # (5p)= +1 lorsque p est congru à 1 (mod 5). (5p)= -1 lorsque p est congru à 2 (mod 5). Pour utiliser g = 5, c'est-à-dire, la clé publique G = 25, il suffit qu'un facteur premier soit congru à 2 (mod 5). Alors, le nombre 5 est un résidu non quadratique modulo n. # (6 p) = +1lorsque p est congru à+1ou 5 (mod 24). (6p)= -1 lorsque p est congru à 7 ou ~11(mod 24). Pour utiliser g = 6, c'est-à-dire, la clé publique G = 36, il suffit qu'un facteur premier soit congru à 7 ou ~11(mod 24). Alors, le nombre 6 est un résidu non quadratique modulo n. # (7p)= +1lorsque p est congru à 1, 3 ou 9 (mod 28). (7 p)= -1 lorsque p est congru à 5, 11 ou 13 (mod 28). Pour utiliser g = 7, c'est-à-dire, la clé publique G = 49, il suffit qu'un facteur premier soit congru à 2 (mod 5). Alors, le nombre 7 est un résidu non quadratique modulo n. Note. Tous les témoins peuvent utiliser le même jeu de clés publiques GA, GB, GC, GD,... , par exemple, 4,9, 25 et 49, moyennant des contraintes élémentaires sur la sélection des facteurs premiers. Ces contraintes sont pratiquement gratuites lorsqu'elles sont intégrées aux procédures de production des facteurs premiers. 1. 1.3. Généralisation de la structure précédente Le nombre a est un nombre impair. Il doit diviser au moins un facteur premier moins un. Note. En pratique, on donne au nombre a les valeurs des nombres premiers à partir de 3, soit : 3, 5, 7, 11, ... L'exposant public de vérificationv est égal à ak. Le nombre entier k est un paramètre de sécurité plus grand que 1. La valeur k = 1 est interdite. Chaque nombre g est un entier inférieur au plus petit facteur premier. En outre, pour au moins un facteur premier? tel que a divise p-1, l'équation xa#g (mod p) n'a pas de racine en x dans CG(p). Note. Cette construction généralise les résidus non quadratiques (mod n). Par exemple, dans le cas a = 3, on dit que le nombre g est un résidu non cubique (mod n). Dans le cas général, on parle de résidu non a dique (mod n). Note. En pratique, on donne au nombre g les valeurs 2,3, 4,5, ... en éliminant les puissances a ièmes. Pour chaque nombre g, la clé publique G est égale à g@. Pour chaque nombre g, chaque composante Q1 Q2 Q3 ... est la k ième racine a ième de G dans CG(p) qui est un résidu a dique dans CG(p). Il y a une composante par facteur premier. Exemple de calcul de la k ième racine troisième de G dans CG(p) qui est un résidu cubique dans CG(p). Pour chaque facteur premier p congru à 2 (mod 3), on élève k fois de rang G à la puissance (p-2)/3 pour obtenir la k ième racine a ième de G dans le corps CG(p) ; puis, on inverse ou non le résultat (mod p) pour obtenir la composante Q, pour le facteur premier p,. Note. On peut procéder de manière globale pour accéder directement au résultat cherché. x=(p-2)/3; y=xk (mod p -1 ); z = y; Q p --~ Gz (mod p); par conséquent, p divise Q pK - G. x=(p-2)/3; y---xk (modp-1); z= p-1-y; Qp=Gz (mod p); par conséquent, p divise G.Qp3k -1. Pour chaque facteur premier p congru à 1 (mod 3), pdivise G. -1 ou bien Qpn -G. 1. 2. Entités Le procédé met en ûuvre les trois entités suivantes. Une première entité témoigne ; elle est appelée témoin. Le témoin dispose d'au moins deux facteurs premiers p, p, P3 ... Le témoin dispose également d'un jeu de paramètres des restes chinois #a #b ... ; chaque paramètre peut être calculé à l'avance ou bien rétabli à chaque appel au témoin, selon les compromis en termes de calcul et de mémoire. Le témoin dispose de l'exposant public de vérification v. Le témoin dispose également d'au moins un jeu de composantes QA1 QA2 QA3 ..., QBI QB2 QB3 ... ; chaque composante peut être calculée à l'avance ou bien rétablie à chaque appel au témoin à partir des clés publiques GA, GB,... et des facteurs premiers p1 p2 p3 ... selon les compromis en termes de calcul et de mémoire. Note. Chaque jeu de composantes Q1 Q2 Q3 ... représente une clé privée Q. Chaque paire de clés selon la présente invention est liée aux nombres v et n par l'une des deux relations suivantes. G.Qv =-1 (mod n) ou bien G Qv (mod n) Note. Le témoin n'utilise ni le module public n, ni la clé privée Q. Une deuxième entité pilote le témoin. S'il s'agit d'une authentification, c'est-à-dire, d'une preuve interactive de connaissance, l'entité qui pilote le témoin est appelée démonstrateur. En cas d'authentification d'entité, le démonstrateur n'a pratiquement rien à faire. En cas d'authentification de message, le démonstrateur dispose d'une fonction de hachage f. S'il s'agit d'une signature numérique de message, c'est-à-dire, d'une preuve non interactive de connaissance, l'entité qui pilote le témoin est appelée signataire ; le signataire dispose de l'exposant public de vérification v et d'une fonction de hachage f. Une troisième entité vérifie ; elle est appelée contrôleur. Selon le cas, le contrôleur vérifie l'authentification ou la signature ; il dispose du module public n, de l'exposant public de vérification v, des clés publiques GA, GB, ... et de la fonction de hachage f. 1. 3. Etapes Le procédé comporte les étapes suivantes. Etape 1. Engagement du témoin #A chaque appel, pour chaque exposant public de vérification vx vy vz ..., le témoin tire au hasard et en privé au moins un jeu de nombres entiers : pour chaque facteur premier PI' chaque jeu comporte un nombre entier r, positif et plus petit que/;,. Ces nombres entiers sont ensuite appelés les aléas r1 r2 r3 ... 0 R1 --- ri (mod pl ); R2 = r2 (modp2); R3 = r3 (mod p3 ); Puis, le témoin établit chaque engagement R (mod n) selon la méthode des restes chinois. Ra'#R2 (mod pl); Si RI "2:. Ra', Ra"=Ri-Ra\ Sinon, Ra"=Rl + pl ~ Rü'; RI,2 {Àa.Ra" " (mod Pl )}/72 + R2 R =. Ria (mod P3); Si R3 "2:. Rb, Rb = R3 - Rb; Sinon, Rb = R3 + p3 - Rb ; Rl,z,3 --- ,b .Rb (mod P3)JP1,P2 +RI,2; Et ainsi de suite. R est égal à R1,2,3... Pour chaque exposant public de vérification vx vy vz ..., il y a autant d'engagements R que de jeux d'aléas rI rz 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. Etape 3. Réponse du témoin au défi Pour chaque exposant public de vérification vx vy vz ..., pour chaque facteur premier pi, le témoin calcule la puissance dA ième de la composante QA (mod/7(), la puissance dB ième de la composante QB, (mod p,), le produit des résultats précédents par l'aléa r (mod p,) ; DI == rI.QA.QBdB... (mod PI); D2 = r2 .QAf .QBfB... (mod p2); D3 --- Y3 .QA .QB3 B ... (mod p3 ); # Puis, pour chaque exposant public de vérification vx vy vz ..., le témoin établit au moins une réponse D (mod n) selon la méthode des restes chinois. Da ==D2 (mod pl ); Si D{>Da, Da=D{-Da; Sinon, Da=Dx + Pl-Da\ Dl,2 == a .D (mod p{)\p2+D2; Db =Dl2 (mod p3 ); Si D3>D'b, Db = D3 - Db ; Sinon, Db = D3 + p3 - Db ; Dl,2,3 == b .D (mod p3 )pl.p2 + DI,2 Et ainsi de suite. D est égal à D1,2,3... Pour chaque exposant public de vérification vx vy vz ..., il y a autant de réponses D que de défis d. Note. Chaque appel au témoin se traduit à l'interface par autant de triplets {R, d, D} que de jeux d'aléas r1 r2 r3 Remarquons qu'en élevant la réponse D à la puissance v ième (mod n), on doit retrouver l'engagement R divisé ou multiplié, selon l'équation retenue pour lier les paires de clés selon la présente invention aux nombres v et n, par la puissance dA ième de GA, la puissance dB ième de GB, ... Par conséquent, chaque triplet {R, d, D} doit vérifier l'une des deux relations suivantes. R = GA.GBdB.... DV (mod n); ou bien R GA.GBdB.... --- D (mod n); Etape 4. Données destinées au contrôleur En cas d'authentification d'entité ou de message, le démonstrateur transmet chaque réponse D au contrôleur. En cas de signature numérique de message, le signataire transmet un message signé au contrôleur. Le message signé comprend le message m, ainsi que : * chaque défi d ou chaque engagement R, * chaque réponse D. Etape 5. Vérification exercée par le contrôleur Note. On aurait pu tester ici le symbole de Jacobi de chaque réponse, à condition d'avoir forcé le symbole de l'aléa à l'étape 1. Cependant, il vaut mieux laisser tomber les symboles . II est bien plus économique d'accepter de perdre un bit de défi. Note. L'une des deux relations suivantes reconstruit un engagement noté par R'. R'= (GA dA .GBdB....) DV (mod n); ou bien R'= DV /(GA dA GB dB .... ) (mod n); En cas d'authentification d'entité, le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul. Chaque engagement reconstruit R' doit reproduire l'intégralité des données transmises à l'étape 2, c'est-à-dire, tout ou partie de chaque engagement R. Lorsque toutes les conditions sont remplies, l'authentification d'entité est réussie. En cas d'authentification de message, le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul. Puis, il doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T'. Le jeton reconstruit T' doit être identique au jeton T de l'étape 2. Lorsque toutes les conditions sont remplies, l'authentification de message est réussie. En cas de signature numérique de message, selon le cas, # le contrôleur doit appliquer la formule appropriée pour reconstruire chaque engagement R' : aucun ne doit être nul. Puis, il doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d'. Chaque défi reconstruit d' doit être identique au défi d figurant dans le message signé. Lorsque toutes les conditions sont remplies, la signature est correcte. # le contrôleur doit appliquer la fonction de hachage f ayant comme arguments le message m et chaque engagement R figurant dans le message signé pour reconstruire chaque défi d'. Puis, il doit appliquer la formule appropriée pour contrôler la cohérence de chaque triplet {R, d', D}. Chaque triplet doit être cohérent. Lorsque toutes les conditions sont remplies, la signature numérique est correcte. 2. Triplets Chaque appel au témoin se traduit par une collection de triplets à l'interface du témoin. Chaque triplet {R, d, D} comprend un engagement R, un défi d et une réponse D. Il y a deux manières de produire des triplets : une manière de produire en privé et une manière de produire en public. # Le témoin produit en privé selon la chronologie suivante : à chaque appel, il fixe d'abord un nouveau jeu d'aléas qu'il transforme en un engagement R, puis, il produit la réponse D à n'importe quel défi d deOàv-1. # N'importe qui peut produire en public selon la chronologie suivante : quel que soit le défi d de 0 à v-1, n'importe qui peut compléter le triplet à partir de n'importe quelle réponse D en établissant l'engagement R gr, ce aux nombres publics G, v et n. 3. Tenailles Par définition, deux triplets sont en tenaille lorsqu'ils sont constitués des deux réponses D et E à deux défis d et e pour le même engagement R, c'est-à-dire, {R, d, D} et {R, e, E}. A chaque appel, le témoin est en position de produire des triplets en tenaille : il lui suffirait de réutiliser un jeu d'aléas. Mais il se garde bien des 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. D'une part, le témoin se configure à partir des facteurs premiers p, pz p3 de la clé privée Q et de l'exposant public de vérification v. Une fois configuré, le témoin peut produire une tenaille : il lui suffit d'utiliser deux fois le même jeu d'aléas. D'autre part, deux triplets en tenaille se traduisent par les équations suivantes : D = r.Qd (mod n) et E --- r.Qe (mod n) avec 0 Par conséquent, E/D#Qe-d (mod n), avec 0 vaut QT1 (mod n), c'est-à-dire l'une des v-1 valeurs {Q, Q2, Q3, ... 0 Qk v-l.(e-d) == Q:t1 (mod n) C'est-à-dire, (Qv)k l{Qe~d)1 = Q1 (mod n) * Lorsque G == QV (mod n) est utilisée, Gk I {El D)1 (mod n) vaut Q (mod n) ou son inverse modulo n. * Lorsque G.Q =1 (mod n) est utilisée, Gk.(ElD)l (modn) vaut Q (mod n) ou son inverse modulo n. 3. 2. Paire de clés selon la présente invention conférant une sécurité équivalente à la connaissance de la factorisation de n Note. Cette démonstration se rapporte à la version précédente, c'est-à-dire, à la version qui tient compte du symbole de Jacobi. En effet, pourvu que le nombre g soit un résidu non quadratique pour un nombre impair de facteurs, en forçant le symbole de Legendre des aléas, on a toujours le même symbole de Jacobi pour les réponses. Note. La présente version fait fi du symbole de Jacobi ; prix à payer est la perte d'un bit de défi par paire de clés selon la présente invention. Le procédé ne marche pas pour k = 1 ; tricheur a une stratégie gagnante totale. A partir de k = 2, le tricheur n'a plus qu'une stratégie gagnante partielle : il peut anticiper deux défis mais pas trois. La connaissance de deux triplets en tenaille équivaut à connaître une décomposition en deux facteurs du module public n. C'est la factorisation complète s'il y a deux facteurs premiers. S'il y a plus de deux facteurs premiers, il y a factorisation partielle, c'est-à-dire, deux facteurs non tous deux premiers : d'une part, un produit de facteurs premiers par rapport auquel le symbole de Jacobi de g vaut-1 et, d'autre part, le produit des autres facteurs premiers. Démonstration. D'une part, le témoin se configure à partir des facteurs premiers p, p2 p3 du nombre public g et du facteur de sécurité k. Une fois configuré, le témoin peut produire une tenaille : il lui suffit d'utiliser deux fois le même jeu d'aléas. D'autre part, deux triplets en tenaille se traduisent par les équations suivantes : R =- Gd.D2 (mod n) et R Ge.E2k (mod n) Lorsque k vaut 1, le défi d se limite à un seul bit. Introduisons une paire de fonctions {G0; G1}définie sur les éléments de l'anneau des entiers (mod n) dont le symbole de Jacobi par rapport à n vaut +1. Go(x) x2 (mod n) et G,(x) G.x2 (mod n) Cette paire de fonctions généralise la paire introduite par Goldwasser, Micali et Rivest. La tenaille donne un nombre entier G.E2-D2 divisible par n. Le nombre entier G.E2-D2 est égal à g.E-D fois g.E+D. Or le symbole de Jacobi de g.E par rapport à n est-1 et celui de D est +1 ; donc, n ne divise ni g.E-D, ni g.E+D. Par conséquent, pgcd(n, g.E-D) et pgcd(n, g.E+D) sont deux facteurs non triviaux de n. Lorsque k est plus grand que 1, le défi d est une séquence de k bits, représentant un nombre entier du bit de poids faible d(0) au bit de poids fort d(k-1). Soit d = dl~1.2'-1 +...d1.2+do. Composons la paire de fonctions { Go ; Gaz et étendons la notation en conséquence. Gd o (G d 1 (...G dk -1 (x)...)) = Gd .(Gd' .(...Gdk-' .x2...)2)2 (mod n) == Gd .X2k (mod n) Gd (X) Les deux défis e et d sont deux séquences de k bits comportant trois parties : le même suffixe commun, éventuellement vide, sur les bits de poids faible, un bit de divergence à 0 dans un défi et à 1 dans l'autre défi, des préfixes quelconques, éventuellement vides, sur les bits de poids forts. Le bit de divergence donne un nombre G.x2-y2 qui est divisible par n. Aucun des deux nombres g.x-y et g.x+y n'est divisible par n puisque g.x et y ont respectivement-1 et +1 comme symbole de Jacobi par rapport à n. Par conséquent, pgcd(n, g.x-y) et pgcd(n, g.x+y) sont deux facteurs non triviaux de n. 4. Sécurité du nouveau procédé D'une manière générale, la sécurité des protocoles sans transfert de connaissance s'analyse selon trois notions de base définies dans l'article de base de Shafi Goldwasser, Silvio Micali et Charles Rackoff. Dans le cas qui nous intéresse, une entité proclame : - Voici un module n, un exposant de vérification v et une clé publique G; j'utilise la factorisation de n et je connais la clé privée Q. Par définition, lorsque l'entité connaît les facteurs premiers, c'est un témoin. A chaque appel, le témoin produit de manière privée un triplet que le contrôleur accepte. Par conséquent, la procédure est complète. Par définition, lorsque l'entité ne connaît pas les facteurs premiers, c'est un tricheur. A chaque appel, le tricheur a une chance sur v de deviner le défi d (si les v défis sont équiprobables) ; peut donc anticiper un défi, n'importe lequel, et ainsi tromper le contrôleur ; s'il pouvait anticiper un deuxième défi après avoir produit l'engagement, il connaîtrait une paire de triplets en tenaille, ce qui contredit la définition du tricheur. Par conséquent, la procédure est robuste. Note. La présente version fait fi du symbole de Jacobi ; prix à payer est la perte d'un bit de défi par paire de clés selon la présente invention. Le procédé ne marche pas pour k = 1 ; le tricheur a une stratégie gagnante totale. A partir de k = 2, le tricheur n'a plus qu'une stratégie gagnante partielle : il peut anticiper deux défis mais pas trois. Quelle que soit la manière dont se comporte le monde extérieur, il reçoit seulement l'information que le témoin connaît les facteurs premiers. Plus précisément, quelle que soit l'information émise par le témoin, n'importe qui aurait pu la constituer sans interaction avec le témoin ; n'importe qui peut simuler les transmissions et produire un enregistrement qui reproduit les caractéristiques statistiques des informations recueillies lors d'une interaction avec le témoin. Durant l'interaction, un observateur ne peut pas 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 = 1, le témoin doit effectuer 17 carrés pour calculer l'engagement R, puis, en moyenne 16 carrés et 8 multiplications plus une multiplication pour calculer la réponse D, soit 41 opérations (mod n) ; cette charge est divisée par deux avec deux facteurs premiers, soit 20 opérations (mod n) ; cette charge est divisée par trois avec trois facteurs premiers, soit environ 14 opérations (mod n) ; et ainsi de suite. le contrôleur doit effectuer 17 carrés (mod n). Pour une signature avec j.(k-1) = 80 avec j = 1, le témoin doit effectuer 81 carrés pour calculer l'engagement R, puis, en moyenne 80 carrés et 40 multiplications plus une multiplication pour calculer la réponse D, soit 202 opérations (mod n) ; cette charge est divisée par deux avec deux facteurs premiers, soit 100 opérations (mod n) ; cette charge est divisée par trois avec trois facteurs premiers, soit 67 opérations (mod n) ; et ainsi de suite. le contrôleur doit effectuer 81 carrés (mod n). Remarque. Pour une valeur donnée du niveau de sécurité j.k, le choix j = 1 ne change pratiquement pas la charge de travail du témoin, ni celle du contrôleur ; elle minimise toutefois le nombre de triplets produits, c'est-àdire, la charge de transmission pour mener à bien l'opération, que cette opération soit une authentification ou une signature. Utilisons plusieurs paires de clés selon la présente invention, toutes avec le même exposant public de vérification v. Cela fait apparaître un niveau de sécurité j.(k-1).l où l est le nombre de paires de clés selon la présente invention. Le fait d'utiliser plusieurs paires de clés selon la présente invention diminue la charge de travail du témoin, ainsi que la charge de travail du contrôleur. Dans le tableau ci-dessous, M représente une multiplication (mod n) et X un carré (mod n). Rappelons que sur le composant ST 16601 pour carte à puce, avec une horloge normalisée à 3,579545 MHz, le carré modulo pour 512 bits se fait en 150 ms et la multiplication modulo en 200 ms. (k-1).l= 16 /=1 1 = 2 1 = 4 1=8 l= 16 Engagement 17 X 9 X 5 X 3 X 2 X Réponse 1 M + 1 M + 1M + 4X+ 1 M + 1 M + 16 X + 8X+ 8M 2X+ 1X+ 8M 8X 8 M 8M Totaldu 33 X+ 17X+ 9X+ 5 X + 3X+ témoin 9 M 9 M 9 M 9 M 9 M Trois 11 X + 6X+ 3X+ 2X+ 1X+ facteurs 3 M 3 M 3 M 3 M 3 M Vérification 17 X 9 X 5 X 3 X 2 X Le compromis pour l = 4 est très attrayant parce que, compte tenu des restes chinois avec un module à trois facteurs premiers, le terminal et la carte ont à peu près la même charge de travail. II est préconisé d'utiliser les clés publiques GA = 4, GB = 9, GC = 25, GD = 49. Revendications 1. Procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée témoin dispose des facteurs premiers PI' P2' ... (pi 9... ) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2- P3 0.. , ledit témoin dispose aussi * des composantes QA" QA2, ... (QAi , ...), et QBI, QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA., GA2, ... (GAi, ...) et GB" GB2, ... (GBi, ...) * des exposants publics de vérification vx, vy, ... lesdites clés privées et clés publiques étant liées par des relations du type : GA.QA# mod n = 1 ou GA QA# mod n lesdits exposants publics de vérification vx, vy, ... étant utilisés par le témoin pour calculer des engagements R en effectuant des opérations du type : Ri rivx mod p; où ri est un entier, associé au nombre premier pi, tel que 0 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, * 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 : D. = ri. QA. 1 dA. QBi dB mod pi où r, est un aléa tel que 0 R'-~-GA'".GB....D" modn ou du type : R' . GA d^ . GB ' .... = D" mod n ledit contrôleur vérifie que les triplets {R', d, D} sont cohérents. 2. Procédé pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée témoin dispose des facteurs premiers Pn P2' ... (P ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' Pus ... , ledit témoin dispose aussi * des composantes QA1, QA2' ... (QA; , ...), et QBI, QB2' ... (QB; , ...), ..., représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GA;, ...) et GBt, GB2, ... (GB;, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type : GA.QA' mod n =1 ou GA QA" mod n ledit exposant public de vérification v étant utilisé par le témoin pour calculer des engagements R, . en effectuant des opérations du type : Ri# riv mod Pi où r, est un entier, tiré au hasard, associé au nombre premier pi, tel que 0 # puis en appliquant la méthode des restes chinois, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p1 à effectuer pour calculer chacun des R1 pour chacun des p1 est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité pilote dudit témoin, * appelée démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * appelée signataire dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité appelée contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit témoin reçoit de la deuxième entité ou du contrôleur, des collections de défis d {dA, dB, ...} tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} 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 : Di = r.. 1 QA. 1 dA . QBi **.... mod P, # puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des D, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n ledit contrôleur recevant une réponse D calcule à partir de cette réponse un engagement R' en effectuant des opérations du type : R'---GA'".GB....Dv modn ou du type : R'. GA dA. GB dB.... == DV mod n ledit contrôleur vérifie que les triplets {R', d, D} sont cohérents. 3. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'une entité ; ledit procédé met en oeuvre trois entités : 1 - une première entité appelée témoin dispose des facteurs premiers Pu p25 ... (pi ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PI,P2' P3.... , ledit témoin dispose aussi * des composantes QAI, QA2, ... (QA, ...), et QB19 QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GA;, ...) et GB1, GB2, ... (GBi5 ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAv mod n =- 1 ou GA =- QAvmod n 2 - une deuxième entité pilote dudit témoin appelée démonstrateur 3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver l'authenticité d'une entité, ledit témoin, ledit démonstrateur et ledit contrôleur exécutent lés étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r; positif et plus petit que p; , - pour chaque facteur premier p, , le témoin élève chaque aléa r, à la puissance v ième modulo p, Ri riv mod pi de sorte que le nombre d'opérations arithmétiques modulo pli à effectuer pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas 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 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 : D. 1 == r.. 1 QA. 1 dA. QB. 1 dB.... mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au contrôleur : - le démonstrateur transmet au contrôleur chaque réponse D, ' étape 5. vérification par le contrôleur : ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R9 =- GA dA GB dB Dv mod n ou du type : R'.GAdA.GB....---D'modn ledit contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le démonstrateur. 4. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit procédé met en oeuvre trois entités : 1 - une première entité appelée témoin dispose des facteurs premiers Pv P2' ... (pi ...) (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, QA2' ... (QA; , ...), et QB1, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA1, GA2, ... (GAi, ... ) et Gij, GB2' ... (GBi, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n = 1 ou GA = QAv mod n 2 - une deuxième entité pilote dudit témoin appelée démonstrateur, 3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver l'authenticité d'un message ledit témoin, ledit démonstrateur et ledit contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier pi, chaque collection comporte un aléa ri positif et plus petit que p, , - pour chaque facteur premier p, , le témoin élève chaque aléa ri à la puissance v ième modulo p, R; riv mod pi de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des R; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ...}, ' étape 2. défi d destiné au témoin : - 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 : Di ri QAi dA. QBi dB.... mod p, puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au contrôleur : - le démonstrateur transmet au contrôleur chaque réponse D, ' étape 5. vérification par le contrôleur : ledit contrôleur calcule à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R'==GAdA.GBdB....Dv modn ou du type : R' . GA dA. GB dB .... == DV mod n ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire le jeton T', ~ ledit contrôleur vérifie que le jeton T' est identique au jeton T transmis à l'étape 2 par le démonstrateur. 5. Procédé selon la revendication 2 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit procédé met en oeuvre trois entités : 1 - une première entité appelée témoin dispose des facteurs premiers Pn p2g ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = PuP2 Ps ... , ledit témoin dispose aussi * des composantes QA1, QA2, ... (QA; , ...), et QB1, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GAi, ...) et GB" GB2, ... (GB;, ...) * d'un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAv mod n = 1 ou GA = QAvmod n 2 - une deuxième entité pilote dudit témoin appelée signataire, 3 - une troisième entité appelée contrôleur vérifie l'authentification, pour prouver la signature d'un message ledit témoin, ledit démonstrateur et ledit contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - à chaque appel, le témoin tire au hasard et en privé au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa ri positif et plus petit que pi, - pour chaque facteur premier p, , le témoin élève chaque aléa ri à la puissance v ième modulo p, Ri riv mod p, de sorte que le nombre d'opérations arithmétiques modulo pii à effectuer pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, le témoin établit chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas irn r2l r3, z ' étape 2. défi d destiné au témoin : - le signataire applique une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour obtenir au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, - le signataire transmet les collections de défis d au témoin, . étape 3. réponse du témoin au défi d : - ledit témoin calcule des réponses D à partir desdites collections de défis d {dA, dB, ...}reçues du contrôleur en effectuant des opérations du type : D. 1 =r.. 1 QA. 1 dA. QB. 1 dB.... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des D, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - ledit témoin transmet les réponses D au signataire et/ou au contrôleur, ' étape 4. données destinées au contrôleur : - le signataire transmet un message signé au contrôleur comprenant : / 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 : R' --~ GA ' . GB dB .... D" mod n ou du type : R'. GAdA.GBdB....=D"mod n ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R' pour reconstruire chaque défi d', ledit contrôleur vérifie que chaque défi d' reconstruit est identique au défi d figurant dans le message signé, cas où le contrôleur reçoit la collection des engagements R dans le cas où le contrôleur reçoit la collection des engagements R et des réponses D, ledit contrôleur applique la fonction de hachage f ayant comme arguments le message m et chaque engagement R pour reconstruire chaque défi d', ledit contrôleur reconstruit alors la collection des engagements R' en effectuant des opération du type R' - GA d'" . GB d'B .... Dv mod n ou du type : R' . GA d'A. GB d'B.... == DV mod n ledit contrôleur vérifie que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé, 6. Procédé selon l'une quelconque des revendications 1 à 5 tel que les composantes QA1, QA2, ... (QA, ...), et QBI, QB2, ... (QB; ...), ... des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QAi , QBi , ... pour chacun desdits facteurs premiers p., lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA1, QA2, ... (QA;, ...), et QBII QB2' ... (QB; , ...), ... par la méthode des restes chinois, lesdites clés publiques GA, GB, ... étant calculée . en effectuant des opérations du type : GA, QA;" mod p; puis en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QAv mod n = 1 de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer pour calculer chacun des GAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. 7. Procédé selon la revendication 6 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. 8. Procédé selon l'une quelconque des revendications 1 à 5 tel que l'exposant public de vérification v est du type v = ak ou k est un paramètre de sécurité. 9. Procédé selon la revendication 8 tel que : - l'exposant public de vérification v est du type v = 2k ou k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2# gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - lesdites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA sont telles que : GA= QA, 2exp(k) mod Pi ou bien telles que : GA .QAi 2.exp(k) mod Pi= 1 on les obtient en extrayant la kième racine carrée de GA dans le corps de Galois CG(Pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. 10. Procédé selon la revendication 9 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(p,), * dans le cas où le facteur premier pi est congru à 3 modulo 4, on applique notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA, GAZ mod p1 * dans le cas où le facteur premier p, est congru à 1 modulo 4, on utilise les suites de Lucas. 11. Système pour diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, le dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (p; , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' P3 . , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QAj, QA2, ... (QAi , ...), et QB11 QB2, ... (QBi , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA GA2, ... (GAi, ...) et GBI, GB2, ... (GB, ...) * des exposants publics de vérification vx, vy,... lesdites clés privées et clés publiques étant liées par des relations du type : GA.QA# mod n = 1 ou GA QA# mod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type : Ri# rivx mod pi où ri est un aléa tel que 0 - 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. --- r; . QA. 1 dA . QB. m .... mod pi où ri est un entier, associé au nombre premier p,, tel que 0 r3, ...}, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte que, pour chaque exposant public de vérification v, il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses Di pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit dispositif contrôleur, recevant une ou plusieurs réponses D, comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D des engagements R' en effectuant des opérations du type : R'---GAd".GB....D" modn ou du type : R' . GA dA . GB dB .... - Dv mod n ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. 12. Système pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit procédé met en oeuvre trois entités : - une première entité appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers Pl, p2, ... (Pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#P2. P3.... , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA1, QA2, ... (QAi , ... ), et QBI, QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GAi, ... ) et Gui, GB2, ... (GB;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type : GA.QAV mod n - 1 ou GA = QAvmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type : Ri riv mod p, où ri est un entier, tiré au hasard, associé au nombre premier p;, tel que 0 ' 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 pi à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans les cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième entité, appelée dispositif contrôleur, se présentant notamment sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, ledit dispositif contrôleur vérifie l'authentification ou l'origine et l'intégrité d'un message, ledit dispositif témoin reçoit du dispositif pilote ou du dispositif contrôleur, des collections de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ledit dispositif témoin comporte des deuxièmes moyens de calcul pour calculer à partir de chacune desdites collections de défis {dA, dB, ...}des réponses D . en effectuant des opérations du type : D, 1 =r.. 1 QAi " . QB. 1 dB.... mod p, puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des Di pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit dispositif contrôleur, recevant une ou plusieurs réponses D, comporte des troisièmes moyens de calcul pour calculer à partir desdites réponses D un engagement R' en effectuant des opérations du type : R' -~- GA '" . GB ' .... D" mod n ou du type : R'.GA dA.GBdB....=Dvmodn ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. 13. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'une entité ; ledit procédé met en oeuvre trois entités : 1- une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers pl, p2, ... (pj , ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = pl.p2. P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QA1, QA2, ... (QAi , ...), et QB1, QB2, ... (QB; , ...), représentant des clés privées QA, QB, * des clés publiques GA, GB,... ayant respectivement pour composantes GA GA2, ... (GAi, ... ) et GB,, GB2, ... (GB,;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n #1 ou GA QAvmod n 2 - une deuxième entité appelée dispositif démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade, 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 {rI, r 2' r3, ...},telle que pour chaque facteur premier p, chaque collection comporte un aléa ri positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, , Roi = rV mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas { rI' rz, r3, ... }, ' étape 2. défi d destiné au dispositif témoin : - le dispositif démonstrateur comporte des moyens de transmission pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, - le dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D ,à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type : Di 1 = r.. 1 QA. 1 dA. QB. 1 dB.... mod p, puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour 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 : R' = GA ''" . GB 'B .... Do mod n ou du type : R' . GA dA. GB dB.... --- D' mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur. 14. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit procédé met en oeuvre trois entités : 1- une première entité appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers Pl' p2, ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = P!.p2' P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA, QA2, ... (QAÉ ...), et QBI9 QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB, ... ayant respectivement pour composantes Gal, GA2, ... (GA, ...) et GB," GB2, ... (GB,;, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n =1 ou GA =- QA" mod n 2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue notamment dans ledit objet nomade, 3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, pour prouver l'authenticité d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : # étape 1. engagement R du dispositif témoin : - ledit dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p,, chaque collection comporte un aléa r, positif et plus petit que pi, - ledit dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, , R == rj mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas rle r2' r3, ... Il ' étape 2. défi d destiné au dispositif témoin : - le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour un jeton T, - ledit dispositif démonstrateur comporte des moyens de transmission pour transmettre le jeton T au dispositif contrôleur - ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, après avoir reçu le jeton T, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collection de défis d {dA, dB, ...} reçues du dispositif contrôleur en effectuant des opérations du type : D, = r.. 1 QA. 1 dA . QB. 1 dB .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer par les quatrièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, # étape 4. données destinées au dispositif contrôleur : - le démonstrateur comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R' - GA d" . GB dB .... D' mod n ou du type : R' . GA dA. GB dB.... = DV mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T', ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur. 15. Système selon la revendication 12 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit procédé met en oeuvre trois entités : 1- une première entité, appelée dispositif témoin, contenues notamment dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2. P3.... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QA" QA2, ... (QA; , ...), et Qui9 QB2' ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GAI' GA2, ... (GA;, ...) et GB, GB2, ... (GBi5 ...) * un exposant publique de vérification v lesdites paires de clés privées et publiques étant liés par des relations du type: GA.QAv mod n = 1 ou GA = QAvmod n 2 - une deuxième entité appelée dispositif de signature, pouvant être également contenue notamment dans ledit objet nomade, 3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique audit dispositif témoin, pour prouver la signature d'un message ledit dispositif témoin, ledit dispositif démonstrateur et ledit dispositif contrôleur exécutent les étapes suivantes : ' étape 1. engagement R du témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p., chaque collection comporte un aléa r, positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p;, pour chaque facteur premier pi, Ri = ris mod pi de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ... }, . étape 2. défi d destiné au dispositif témoin : - ledit dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...} comprenant un nombre de défis égal au nombre de paires de clés, - le dispositif de signature transmet les collections de défis d au témoin, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type : Di ri. QA dA. QBi # .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D; pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - ledit dispositif témoin comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur, ' étape 4. données destinées au dispositif contrôleur : - le dispositif de signature transmet au dispositif contrôleur un message signé comprenant : / le message m, / les collections de défis d ou les engagements R, / chaque réponse D ' étape 5. vérification par le dispositif contrôleur : cas où le dispositif contrôleur reçoit la collection des défis d, dans le cas où le dispositif contrôleur reçoit les collections des défis d et des réponses D, ledit dispositif contrôleur comporte des cinquièmes moyens de calcul pour calculer à partir de chaque réponse D un engagement R' en effectuant des opérations du type : R9=-GA dA GB dB ....Dvmodn ou du type : R'. GA dA. GR dB....= DV mod n ledit dispositif contrôleur comporte des sixièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé, 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 R' = GA d'" . GB d'B .... Dv mod n ou du type : R' . GA d'" . GB d'B .... --- D" mod n ledit dispositif contrôleur comporte des septièmes moyens de calcul pour comparer et vérifier què chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé. 16. Système selon l'une quelconque des revendications 11 à 15 tel que les composantes QAI, QA2' ... (QA , ...), et OBI' QB2' ... (QB; , ...), ... des clés privées QA, QB, ... sont des nombres tirés au hasard à raison d'une composante QAi, QB;, ... pour chacun desdits facteurs premiers p, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI, QA2, ... (QA, ...), et QBI9 QB2, ... (QBi , ...), ... par la méthode des restes chinois, ledit dispositif témoin comportant des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA.= QAmodp, # puis en appliquant la méthode des restes chinois pour établir GA tel que GA =- QAvmod n ou bien tel que GA.QA' mod n --~ 1 de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA; pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, 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 v = ak où k est un paramètre de sécurité. 19. Système selon la revendication 18 tel que : - l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2 inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer les dites composantes QAI, QA2, ... (QAi , ...) de la clé privée QA en appliquant des formules telles que : GA- QAi 2exp(k) mod pi ou bien telles que : GA .QA 2.exp(k) mod p== et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. 20. Système selon la revendication 19 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), * dans le cas où le facteur premier pi est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QAi# GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas. 21. Objet nomade, se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, pour diminuer la charge de travail pendant une session destinée à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit objet nomade faisant intervenir trois entités : - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers Pl' p2, ... (Pi' ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' P3 , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant : * des composantes QA" QA2' ... (QA; , ...), et QB1, 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;, ...) * 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.QAvx mod n =- 1 ou GA = QAvxmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R en effectuant des opérations du type : R, rivx mod p, où ri est un aléa tel que 0 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 : D. = r.. 1 QA, 1 dA . QB. "# .... mod pi où ri est un entier, associé au nombre premier pi, tel que 0 r3, ...}, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte que, pour chaque exposant public de vérification v, il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacune des réponses Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou les dites réponses D. 22. Objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit objet nomade faisant intervenir trois entités: - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin dispose d'une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#p2# P3.... , ledit dispositif témoin dispose aussi d'une deuxième zone mémoire contenant * des composantes QA1, QA2, ... (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 GA2, ... (GAI, ...) et GBI, GB2, ... (GBi, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n #1 ou GA --- QAvmod n ledit dispositif témoin comporte aussi des premiers moyens de calcul pour calculer des engagements R, . en effectuant des opérations du type : Ri riv mod pi où r; est un entier, tiré au hasard, associé au nombre premier pi, tel que 0 ...}, ' puis en appliquant la méthode des restes chinois, le témoin tire au hasard une ou plusieurs collections d'aléas de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {ri, r2, r3, ... }, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits premiers moyens de calcul pour calculer chacun des Ri pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - une deuxième entité, appelée dispositif pilote dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade, ledit dispositif pilote est appelé * dispositif démonstrateur dans le cas de la preuve de l'authenticité d'une entité ou de l'authenticité d'un message, * dispositif de signature dans le cas de la preuve de l'origine et de l'intégrité d'un message, - une troisième, entité, appelée dispositif contrôleur, se présentant 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 : Di = r,. QA. 1 dA . QBi 1 dB .... mod p, # puis en appliquant la méthode des restes chinois, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par lesdits deuxièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur la ou lesdites réponses D. 23. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un dispositif contrôleur l'authenticité d'une entité ; 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 = Pl 'P2' P3.... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QA" QA2, ... (QA; , ...), et QBI9 QB2, ... (QB; , ...), ..., représentant des clés privées QA, QB,... * des clés publiques GA, GB,... ayant respectivement pour composantes GA GA2, ... (GAi, ...) et GBJ' GB2, ... (GB, ..) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QA'mod n --- 1 ou GA = QA' mod n 2 - une deuxième entité, appelée dispositif démonstrateur dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade, 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 : # étape 1. engagement R du dispositif témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p;, chaque collection comporte un aléa ri positif et plus petit que pi, - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier p, , Ri = riv mod pi de sorte que le nombre d'opérations arithmétiques modulo p, à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r1, r2, r3, ... Il ' étape 2. transmission des engagements R et réception des défis d destinés au dispositif témoin : - ledit objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur tout ou partie de chaque engagement R, - ledit objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...} produits par ledit dispositif contrôleur, ' étape 3. réponse du dispositif témoin aux défis d : - ledit dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D , à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur, en effectuant des opérations du type : D. = r.. 1 QA. 1 dA . QB. m .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les troisièmes moyens de calcul pour calculer chacun des D; pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - ledit objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et l'authenticité de l'entité contrôlée. 24. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur l'authenticité d'un message m, ledit objet nomade faisant intervenir trois entités : 1 - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = Pl'P2' P3 , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant * des composantes QA1, 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' ... (GAi, ...) et GB" GB2, ... (GBi, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QAV mod n = 1 ou GA QAv mod n 2 - une deuxième entité, appelée démonstrateur dudit dispositif témoin, pouvant être également contenue dans ledit objet nomade, 3 - une troisième entité appelée dispositif contrôleur se présentant sous la forme d'un terminal et/ou d'un serveur distant connecté à un réseau de communication informatique, ledit objet nomade comporte des moyens de connexion pour connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique ledit dispositif témoin et/ou ledit dispositif démonstrateur audit dispositif contrôleur, pour prouver l'authenticité d'un message ledit objet nomade exécute les étapes suivantes : # étape 1. engagement R du dispositif témoin : - ledit dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que, pour chaque facteur premier p,, chaque collection comporte un aléa ri positif et plus petit que p; , - ledit dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa ri à la puissance v ième modulo p, , pour chaque facteur premier p, , Ri riv mod p, (de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les deuxièmes moyens de calcul pour calculer chacun des Ri pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin é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 { ri' r2, r3, ... }, ' étape 2. réception des défis d destinés au dispositif témoin: - le dispositif démonstrateur comporte des premiers moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R pour un jeton T, - ledit objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur le jeton T, - ledit objet nomade comporte des moyens de réception pour recevoir des collections de défis d {dA, dB, ...}produits par ledit dispositif contrôleur au moyen du jeton T, ' étape 3. réponse du dispositif témoin au défi d : - ledit dispositif témoin comporte des troisièmes moyens de calcul pour calculer des réponses D, à partir desdites collections de défis d {dA, dB, ...} reçues du dispositif contrôleur en effectuant des opérations du type : D. 1 == r.. 1 QA. " . QB. 1 dB .... mod P. puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les quatrièmes moyens de calcul pour calculer chacun des Di pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - l'objet nomade comporte des moyens de transmission pour transmettre audit dispositif contrôleur chaque réponse D ' étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D) et l'authenticité du message m. 25. Objet nomade selon la revendication 22 pour diminuer la charge de travail pendant une session destinée à prouver à un contrôleur la signature numérique d'un message m, ledit objet nomade faisant intervenir trois entités : 1 - une première entité, appelée dispositif témoin, contenue dans ledit objet nomade, ledit dispositif témoin comporte une première zone mémoire contenant des facteurs premiers p1, p2, ... (pi, ...) (i étant supérieur ou égal à 2) d'un module public n tel que n = p1#P2# p3. ... , ledit dispositif témoin comporte aussi une deuxième zone mémoire contenant : * des composantes QA1, QA2, ... (QA; , ...), et QB1, QB2, ... (QB; , ...), représentant des clés privées QA, QB, ... * des clés publiques GA, GB,... ayant respectivement pour composantes GA,, GA2, ... (GAi, ...) et GB1, GB2, ... (GRi, ...) * un exposant public de vérification v lesdites paires de clés privées et publiques étant liées par des relations du type: GA.QA' mod n = 1 ou GA --- QAvmod n 2 - une deuxième entité appelée dispositif de signature, pouvant être également contenue dans ledit objet nomade, 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 ledit dispositif de signature audit dispositif contrôleur, pour prouver la signature d'un message ledit objet nomade exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : - le dispositif témoin comporte des premiers moyens de calcul pour tirer au hasard et en privé, à chaque appel, au moins une collection de nombres entiers {r1, r2, r3, ...},telle que pour chaque facteur premier p., chaque collection comporte un aléa ri positif et plus petit que p; , - le dispositif témoin comporte des deuxièmes moyens de calcul pour élever chaque aléa r, à la puissance v ième modulo p, , pour chaque facteur premier p, , Ri# riv mod pi de sorte que le nombre d'opérations arithmétiques modulo p; à effectuer par les deuxièmes moyens de calcul pour calculer chacun des R, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, - puis, lesdits deuxièmes moyens de calcul dudit dispositif témoin établissent chaque engagement R modulo n selon la méthode des restes chinois, de telle sorte qu'il y a autant d'engagements R que de collections d'aléas {r l' r 2' r3, ... }, ' étape 2. défi d destiné au dispositif témoin : - ledit dispositif de signature comporte des troisièmes moyens de calcul pour calculer, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, - 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 : D. = r.. 1 QA. 1 dA . QB. 1 dB .... mod pi puis en appliquant la méthode des restes chinois, de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les quatrièmes moyens de calcul pour calculer chacun des D, pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de telle sorte qu'il y a autant de réponses D calculées par le témoin que d'engagements R et de défis d, - l'objet nomade comporte des moyens de transmission pour transmettre les réponses D au dispositif de signature et/ou au dispositif contrôleur, ' étape 4. données destinées au dispositif contrôleur : - l'objet nomade comporte des moyens de transmission pour transmettre au dispositif contrôleur un message signé comprenant : / le message m, / les collections de défis d ou les engagements R, / chaque réponse D # étape 5. vérification par le dispositif contrôleur : ledit dispositif contrôleur vérifie la cohérence des triplets {R, d, D} et la signature numérique du message m. 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 QAi, QBi, ... pour chacun desdits facteurs premiers p,, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QA1, QA2, ... (QAi , ... ), et QB1, QB2' ... (QB; , ...), par la méthode des restes chinois, ledit dispositif témoin comportant des huitièmes moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA,= QAivmod pi # puis en appliquant la méthode des restes chinois pour établir GA tel que 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 GAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, 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. 28. Objet nomade selon l'une quelconque des revendications 21 à 25 tel que l'exposant public de vérification v est du type v=ak où k est un paramètre de sécurité. 29. Objet nomade selon la revendication 28 tel que : - l'exposant public de vérification v est du type v = 2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer lesdites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA en appliquant des formules telles que : GA= QAi 2exp(k) mod p; ou bien telles que : GA .QA 2.exp(k) mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi), de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la factorisation de n. 30. Objet nomade selon la revendication 29 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(p;), * dans le cas où le facteur premier pi est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y#xk mod (p-1 ) ; z = y ; QA1 = GAZ mod p, * dans le cas où le facteur premier p, est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas. 31. Dispositif de contrôle permettant de diminuer la charge de travail pendant une session destinée à vérifier : - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit dispositif de contrôle se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif de contrôle mettant en oeuvre : - un module public n tel que n soit le produit de facteurs premiers secrets p1, p2, ... (p;, ...) (i étant supérieur ou égal à 2) n = p1#p2#p3####, - des clés publiques GA, GB,... - des exposants publics de vérification vx, vy,... lesdites clés privées GA et les clés publiques associées QA étant liées par des relations du type : GA.QA# mod n ---1 ou GA QA# mod n 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, ledit dispositif contrôleur comporte : - des premiers moyens de calcul pour produire un ou plusieurs défis dtelque0 R'; --~ GA d. Dva mod n ou du type : R'; . GA d --- D"a mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents 32. ,Dispositif de contrôle permettant de diminuer la charge de travail pendant une session destinée à vérifier, - l'authenticité d'une entité et/ou - l'origine et l'intégrité d'un message m, ledit dispositif de contrôle se présentant sous la forme d'un terminal ou d'un serveur distant connecté à un réseau de communication informatique, ledit dispositif de contrôle mettant en oeuvre : - un module public n tel que n soit le produit de facteurs premiers secrets pl, p2, ... (p;, ...) (i étant supérieur ou égal à 2) n=P1#p2#p3####, - des clés publiques GA, GB,... - 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 : GA.QAv mod n = 1 ou GA =- QAv mod n ledit dispositif de contrôle faisant intervenir trois entités : - une première entité, appelée dispositif témoin, contenue notamment dans un objet nomade se présentant par exemple sous la forme d'une carte 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 : R' GAdA.GBdB....D mod n ou du type : R'. GA dA. GB dB....==Dv mod n - des troisièmes moyens de calcul pour vérifier que les triplets {R', d, D} sont cohérents. 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é ; dans le cas d'une authentification d'entité, le dispositif pilote est appelé dispositif démonstrateur, pour prouver l'authenticité d'une entité ledit dispositif de contrôle exécute les étapes suivantes : ' étape 1. engagement R du dispositif témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa ri entier positif et plus petit que p; , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , ' étape 2. défis produits par le dispositif contrôleur et destinés au dispositif témoin : - lesdits moyens de réception du dispositif de contrôle reçoivent tout ou partie de chaque engagement R, transmis par le dispositif démonstrateur, et le transmet au dispositif contrôleur, - le dispositif contrôleur comporte des premiers moyens de calcul pour calculer, après avoir reçu tout ou partie de chaque engagement R, au moins une collection de défis d {dA, dB, ...}tels que 0# dA# v - 1, le nombre des collections de défis d étant égal au nombre d'engagements R, chaque collection {dA, dB, ...}comprenant un nombre de défis égal au nombre de paires de clés, ' étape 3. réponse du dispositif témoin aux défis d : - ledit dispositif témoin comporte des quatrièmes moyens de calcul pour calculer des réponses D , à partir desdites collections de défis d {dA, dB, ...}reçues du dispositif contrôleur, de telle sorte qu'il y a autant de réponses D que d'engagements R et de défis d, ' étape 4. données destinées au dispositif contrôleur : - les moyens de réception du dispositif de contrôle reçoivent du dispositif démonstrateur chaque réponse D, ' étape 5. vérification par le dispositif contrôleur : 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 : R' --- GA dA. GB dB.... Dv mod n ou du type : R' . GA dA. GB dB.... == DV mod n ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R transmis à l'étape 2 par le dispositif démonstrateur 34. Dispositif de contrôle selon la revendication 32 permettant de diminuer la charge de travail pendant une session destinée à vérifier l'authenticité d'un message m, dans le cas d'une authentification d'un message m, le dispositif pilote est appelé dispositif démonstrateur, pour prouver l'authenticité d'un message m, ledit dispositif de contrôle exécute les étapes suivantes : # étape 1. engagement R du dispositif témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que, pour chaque facteur premier pi, chaque collection comporte un aléa r; entier positif et plus petit que pi , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , ' étape 2. défis d produits par ledit dispositif contrôleur et destinés au dispositif témoin : - lesdits moyens de réception du dispositif de contrôle reçoivent au moins un jeton T calculé et transmis par le dispositif démonstrateur en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, - ledit dispositif contrôleur comporte des premiers moyens de calcul pour 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 : R5 =- GA dA . GB dB.... Dv mod n ou du type : R' . GA '' . GB ' .... Dv mod n ledit dispositif contrôleur comporte des troisièmes moyens de calcul pour calculer, en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R', le jeton T', ledit dispositif contrôleur comporte des quatrièmes moyens de calcul pour comparer et vérifier que le jeton T' est identique au jeton T transmis à l'étape 2 par le dispositif démonstrateur. 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 appelé dispositif de signature, pour prouver la signature numérique du message m, ledit dispositif de contrôle exécute les étapes suivantes : # étape 1. engagement R du témoin : - le dispositif témoin produit au moins un engagement R à partir d'au moins une collection d'aléas {r1, r2, r3, ...},telle que pour chaque facteur premier pi, chaque collection comporte un aléa ri entier positif et plus petit que p; , de telle sorte qu'il y a autant d'engagements R que de collections d'aléas , # étape 2. défis d destinés au dispositif témoin : - ledit dispositif de signature calcule, en appliquant une fonction de hachage f ayant comme arguments le message m et chaque engagement R, au moins une collection de défis d {dA, dB, ...} tels que 0 ' é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, / 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 : R'==GAdA.GBdB....Dv modn ou du type : R'.GA'".GB....---D"modn * des deuxièmes moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement reconstruit R', * des troisièmes moyens de calcul pour comparer et vérifier que chaque défi d' est identique au défi d figurant dans le message signé, cas où le dispositif contrôleur reçoit la collection des engagements R dans le cas où le dispositif contrôleur reçoit la collection des engagements R et des réponses D, ledit dispositif contrôleur comporte * des premiers moyens de calcul pour calculer chaque défi d', en appliquant la fonction de hachage f ayant comme arguments le message m et chaque engagement R, * des deuxièmes moyens de calcul pour calculer alors la collection des engagements R' en effectuant des opération du type R' GA d'A . GB du.... Dv mod n ou du type : R' . GA d'A GB d'B....# Dv mod n * des troisièmes moyens de calcul pour comparer et vérifier que chaque engagement R' reconstruit est identique à l'engagement R figurant dans le message signé. 36. Dispositif de contrôle selon l'une quelconque des revendications 31 à 35 tel que les composantes QA1, QA2, ... (QAi,...), et QB1, QB2, ... (QBi, ...), des clés privées QA, QB,... sont des nombres tirés au hasard à raison d'une composante QAi, QB; , ... pour chacun desdits facteurs premiers pi, lesdites clés privées QA, QB, pouvant être calculées à partir desdites composantes QAI, QA2, ... (QA, ...), et QBI, QB2, ... (QBi , ...), ... par la méthode des restes chinois, ledit dispositif témoin comportant des moyens de calcul pour calculer lesdites clés publiques GA, GB, ..., # en effectuant des opérations du type : GA; --- QAivmod pi # puis en appliquant la méthode des restes chinois pour établir GA tel que GA QAvmod n ou bien tel que GA.QAv mod n = 1 de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les huitièmes moyens de calcul dudit dispositif témoin pour calculer chacun des GA, pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, 37. Dispositif de contrôle selon la revendication 36 tel que l'exposant public de vérification v est un nombre premier, de sorte que la paire de clés GA, QA confère une sécurité équivalente à la connaissance de la clé privée QA. 38. Dispositif de contrôle selon l'une quelconque des revendications 31 à 35 tel que l'exposant public de vérification v est du type v = ak où k est un paramètre de sécurité. 39. Dispositif de contrôle selon la revendication 38 tel que : - l'exposant public de vérification v est du type v=2k où k est un paramètre de sécurité, - la clé publique GA est un carré gA2inférieur à n choisi de telle sorte que l'équation x2 = gA mod n n'a pas de racine en x dans l'anneau des entiers modulo n - ledit dispositif témoin comportant des neuvièmes moyens de calcul pour calculer les dites composantes QA1, QA2, ... (QAi, ...) de la clé privée QA en appliquant des formules telles que : GA- QAi 2exp(k) mod p, ou bien telles que : GA .QA 2.exp(k) mod Pi= 1 et en extrayant la kième racine carrée de GA dans le corps de Galois CG (pi) de sorte que le nombre d'opérations arithmétiques modulo pi à effectuer par les neuvièmes moyens de calcul du dispositif témoin pour calculer chacun des QAi pour chacun des p, est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n, de sorte que la paire de clés GA, QA confére une sécurité équivalente à la connaissance de la factorisation de n. 40. Dispositif de contrôle selon la revendication 39 tel que pour extraire la kième racine carrée de GA dans le corps de Galois CG(pi), * dans le cas où le facteur premier p, est congru à 3 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme du type : x = (p+l)/4 ; y xk mod (p-1) ; z = y ; QA, --- GAZ mod p, * dans le cas où le facteur premier pi est congru à 1 modulo 4, les neuvièmes moyens de calcul du dispositif témoin appliquent notamment un algorithme basé sur les suites de Lucas.