FR2807246A1 - Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede - Google Patents
Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede Download PDFInfo
- Publication number
- FR2807246A1 FR2807246A1 FR0003919A FR0003919A FR2807246A1 FR 2807246 A1 FR2807246 A1 FR 2807246A1 FR 0003919 A FR0003919 A FR 0003919A FR 0003919 A FR0003919 A FR 0003919A FR 2807246 A1 FR2807246 A1 FR 2807246A1
- Authority
- FR
- France
- Prior art keywords
- modb
- exponentiation
- integer
- numbers
- equality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Credit Cards Or The Like (AREA)
- Calculators And Similar Devices (AREA)
Abstract
L'invention concerne un procédé de génération de clés électroniques à partir de deux nombres entiers a, b, le procédé comprenant une étape de vérification de la co-primalité desdits nombres a, b. Selon l'invention cette étape de vérification comprend les opérations suivantes : A) - calcul de l'exponentiation, modulaire alambda(b) modb, où lambda est la fonction de Carmichael,B) - vérification que cette exponentiation modulaire est égale à 1,C) - on retient le couple a, b lorsque l'égalité est vérifiée et on réitère avec un autre couple dans le cas contraire.L'invention s'applique aux cartes à puces à microprocesseur possédant un processeur arithmétique.
Description
PROCEDE DE GENERATION DE CLES ELECTRONIQUES A PARTIR DE NOMBRES ENTIERS PREMIERS ENTRE EUX ET DISPOSITIF MISE EN #UVRE DU PROCEDE. L'invention concerne un procédé de génération de clés électroniques à partir de nombres entiers premiers entre eux et un dispositif de mise en oeuvre du procédé.
L'invention s'applique tout particulièrement ' des protocoles de cryptographie à clé publique utilisés pour le cryptage d'informations et/ou l'authentification entre deux entités et/ou la signa ture électronique de messages.
Elle s'applique en particulier à des protocoles de cryptographie à clé publique tels que le protocole (Rivest Shamir et Adelman), E1 Gamal, Schnorr, Fiat Shamir.
Dans le cas de telles applications on fait, appel à la génération de grands nombres entiers (pouvant être par exemple être supérieurs ou égaux a 512 bits) pour former une ou plusieurs clés du proto cole. Une condition est imposée pour le choix de ces nombres afin qu'ils restent secrets c'est qu'ils doi vent être co-premiers ou premiers entre eux.
De façon pratique, le dispositif électronique qui désire générer de tels nombres en vue par exemple de mettre en oeuvre un protocole de cryptographie, opère de manière connue de la façon suivante -Prendre un nombre entier a (choisi parmi un ensem- de nombres entiers prédéterminés, ou tiré aléatoi- rement), -Tirer de façon aléatoire un deuxième nombre entier -Effectuer une opération de vérification de la co- primalité entre les nombres a et b. Cette opération permet de vérifier que les deux nombres entiers a, b obtenus sont premiers entre eux. Elle est réalisée par l'unité centrale du dispositif. L'unité centrale cal cule pour cela le plus grand commun diviseur (pgcd) en tre ces deux nombres et vérifie que le résultat est égal à 1. En effet on rappelle que deux nombres sont co-premiers si et seulement si leur plus grand commun diviseur est égal à 1.
I1 existe pour cela plusieurs techniques bien con nues d'implémentation du calcul du pgcd de deux nombres à l'aide d'un microprocesseur.
On peut citer à titre d'exemple les techniques tel les que celle du Binary GCD , du Extended GCD ou la technique de Lehmer. Malgré une complexité asympto tique excellente (c'est-à-dire pour des nombres de taille extrêmement grande), ces techniques s'avèrent à la fois difficile à programmer sur des dispositifs por tables de type carte à microprocesseur car complexes) et de performances médiocres pour des nombres de gran des de tailles usuelles (512 bits) qui tendent à ce jour à devenir supérieures à savoir 1024 bits et plus.
L'invention a pour but de remédier à cet inconvé nient. Elle a plus particulièrement pour objet un pro cédé de génération de clés électroniques à partir de deux nombres entiers a, b, le procédé comprenant une étape de vérification de la co-primal " desdits nom bres a, b, principalement caractérisé ce que cette etape de vérification comprend les opérations suivan- A) - calcul de l'exponentiation, modulaire X(b)modb, où @, est la fonction de Carmichael, - vérification que cette exponentiation modu laire égale à 1, et en ce que - on retient le couple a, b lorsque l'égalite est verifiée et on réitère avec un autre couple dans cas contraire.
Selon une autre caractéristique - on choisit un nombre entier b d'une longueur donnée et on le mémorise, - on tire au hasard un nombre entier a, - on calcule a#,(t'modb - on vérifie que axe" = 1 modb (ou a'""'modb = 1) , - on mémorise le nombre a dans le cas où l'égalite est vérifiée, - on réitère les étapes précédentes avec un autre nombre a dans le cas contraire.
Selon une autre caractéristique, dans le cas où nombre b est donné au préalable, on pré calcule la leur (b) et on la stocke en mémoire.
invention s'applique aux procédés de génération de clés cryptographiques RSA ou E1 Gamal ou Schnorr. invention a également pour objet un dispositi électronique portable comprenant un processeur arithmé tique et une mémoire de programme associée, apte à ef fectuer des exponentiations modulaires, principalement caractérisé en ce qu'il comprend un programme de véri fication de co-primalité de nombres entiers de longueur donnée qui effectue les opérations suivantes - calcul de l'exponentiation modulaire a#.(b)modb, où @. la fonction de Carmichael, - vérification que cette exponentiation modu laire égale à 1, en ce que C) le processeur arithmétique stocke couple a, b lorsque l'égalité est vérifiée réitère avec un autre couple dans le cas contraire.
Selon une autre caractéristique, dans le où le nombre est donné au préalable, on pré calcule la va leur X et on la stocke en mémoire.
Avantageusement le dispositif électronique porta ble, est constitué par une carte à puce à microproces seur.
D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description qui est faite ci-après et qui est donnée à titre d'exemple non limitatif et en regard des dessins annexés sur lesquels - la figure 1, représente le schéma de principe d'un dispositif électronique portable tel qu'une carte à puce mettant en oeuvre le procédé selon l'invention, - la figure 2, représente le schéma d'un exemple de réalisation de le mise en oeuvre procédé selon l'invention.
Dans la description qui va suivre, on a pris comme exemple de dispositif électronique portable celui des cartes à puces à microprocesseur et on parlera pour simplifier de cartes à microprocesseur.
Dans le cas de la mise en oeuvre de protocoles de cryptographie tels que le RSA par exemple, il comme on la dit nécessaire de déterminer un couple nombres entiers de longueur donnée, premiers entre servant à la génération de clés électroniques du protocole.
Afin de s'assurer que les nombres générés sont premiers entre eux une étape de vérification de co- primalité est réalisée par la carte à microprocesseur qui met en ceuvre le procédé de génération de clés pour le protocole de cryptographie.
En pratique dans le protocole RSA, les deux nom bres entiers a, b, restent secrets, ils doivent être premiers entre eux et ont une longueur fixée générale ment de 512 bits ou 1024 bits chacun. Selon ce même exemple, un des deux nombres b est un nombre entier choisi à l'avance et stocké parmi un ensemble de nom bres générés par la carte à microprocesseur tandis que l'autre nombre a est généré de manière aléatoire par la carte à microprocesseur à l'exécution du protocole. A cette fin, la carte à microprocesseur possède un géné rateur de nombres aléatoires, capable de fournir un nombre entier de la taille désirée.
on a donc représenté sur la figure 1 le schema fonctionnel d'une carte à microprocesseur susceptible de mettre en oeuvre le procédé selon l'invention.
La carte C comporte une unité principale de trai tement 1, des mémoires de programmes 3 et 4 et une moire de travail (non représentée), associées à l'unité 1. La carte comporte également un processeur arithméti que 2 capable d'effectuer des calculs d'exponentiation modulaire. Il pourra s'agir par exemple de circuits tels que le circuit ST16CF54 commercialisé par la so ciété STMicroelectronics ou 83C852/5 de la société Phi- lips. La carte possède également un générateur -de nom bres entiers aléatoires 5.
Selon l'invention, l'opération de vérification la co-primalité des nombres entiers a et b est réalisée par les étapes A et B indiquées sur le schéma de la fi gure 2, avec l'étape de retenue du couple a, b pour gé nérer une clé électronique dans le cas où ces nombres sont premiers entre eux. En pratique cette étape con siste stocker le couple a, b dans la mémoire sécuri- sée (non accessible de l'extérieur) du processeur arithmétique 2.
Avant de décrire l'exemple d'implémentation du procédé selon l'invention dans le cas du protocole RSA, on rappelle que la fonction a, est la fonction de Carmi- chael et que cette fonction est définie par la relation suivante (b) = PPCM (paj) , (X (pak)) .
dans laquelle PPCM désigne le plus petit commun multiple, dans laquelle b= rIpi5i où chaque pi est un nombre premier et chaque 5i un entier positif nul et 1 < i < k. Dans l'exemple illustré du protocole de cryptogra phie RSA on procède aux étapes suivantes - stockage du nombre entier b choisi de longueur donnée fixée, (10) - calcul de k(b) (20) - stockage du nombre k(b) (30) Ces étapes peuvent être préalables étapes qui suivent dans la mesure où b serait connu d'avance. Dans ce la valeur k(b) pré calculée sera stockée en mé moire sécurisée 6 du processeur arithmétique 5.
tirage d'un nombre entier aléatoire _a (90) - calcul de aX(b)modb <B>(50)</B> comparaison de a@'(k')modb à 1 (60) s'il y a égalité, stockage du couple (a, b) pour générer une clé du protocole de cryptographie, (70) - s'il n'y a pas d'égalité (80) réitération des étapes précédentes à partir du ti rage d'un nouveau nombre entier a.
Claims (3)
1. Procédé de génération de clés électroniques à partir de deux nombres entiers a, b, le procédé compre nant une étape de vérification de la co-primalité desdits nombres a, b, caractérisé en ce que cette étape de vérification comprend les opérations suivantes A) - calcul de l'exponentiation, modulaire a?`(b)modb, où X. est la fonction de Carmichael, - vérification que cette exponentiation modu laire égale à 1, et en que - on retient le couple a, b lorsque l'égalité est verifiée et on réitère avec un autre couple dans le cas contraire.
2. Procédé de génération de clés électroniques se lon la revendication 1, caractérisé en ce que - on choisit un nombre entier b d'une longueur donnée et on le mémorise, - on tire au hasard un nombre entier a, - on calcule aX(b'modb - on vérifie que al(t') = 1 modb (ou a@"'")modb = 1) , - on mémorise le nombre a dans le cas ' l'.égalité est vérifiée, - on réitère les étapes précédentes avec un autre nombre a dans le cas contraire.
3. Procédé de génération de clés électroniques se lon la revendication 1, caractérisé en ce dans le cas où le nombre b est donné au préalable, pré cal cule la valeur X(b) et on la stocke en mémoire. . Procédé de génération de clés cryptographiques RSA E1 Gamal ou Schnorr, caractérisé en ce qu'il met en aeuvre le procédé selon l'une quelconque revendi cations précédentes. 5. Dispositif électronique portable comprenant un processeur arithmétique et une mémoire de programme as sociée, apte à effectuer des exponentiations modulai res, caractérisé en ce qu'il comprend un programme de vérification de co-primalité de nombres entiers de lon gueur donnée qui effectue les opérations suivantes - calcul de l' exponentiation modulaire aX(b)modb, où @, la fonction de Carmichael, - vérification que cette exponentiation modu laire égale à 1, et en ce que D) le processeur arithmétique stocke couple a, b lorsque l'égalité est vérifiée réitère avec un autre couple dans le cas contraire. 6. Dispositif électronique portable selon la reven dication 5, caractérisé en ce que dans le cas où le nombre b est donné au préalable, on pré calcule la va leur X(b) et on la stocke en mémoire. . Dispositif électronique portable selon la reven dication 5 ou 7, caractérisé en ce qu'il est constitué par carte à puce à microprocesseur.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0003919A FR2807246B1 (fr) | 2000-03-28 | 2000-03-28 | Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede |
CNB018073328A CN1270472C (zh) | 2000-03-28 | 2001-03-16 | 由互质数产生电子密钥的装置及方法 |
PCT/FR2001/000796 WO2001074006A1 (fr) | 2000-03-28 | 2001-03-16 | Dispositif et procede de generation de cles electroniques a partir de nombres premiers entre eux |
EP01917166A EP1273127A1 (fr) | 2000-03-28 | 2001-03-16 | Dispositif et procede de generation de cles electroniques a partir de nombres premiers entre eux |
MXPA02009343A MXPA02009343A (es) | 2000-03-28 | 2001-03-16 | Dispositivo y metodo para generar claves electronicas a partir de numeros primos mutuos. |
AU2001244260A AU2001244260A1 (en) | 2000-03-28 | 2001-03-16 | Device and method for generating electronic keys from mutual prime numbers |
JP2001571604A JP2003529109A (ja) | 2000-03-28 | 2001-03-16 | 互いに素数である整数から電子鍵を生成する装置および方法 |
US09/818,658 US20010036267A1 (en) | 2000-03-28 | 2001-03-28 | Method for generating electronic keys from integer numbers prime with each other and a device for implementing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0003919A FR2807246B1 (fr) | 2000-03-28 | 2000-03-28 | Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2807246A1 true FR2807246A1 (fr) | 2001-10-05 |
FR2807246B1 FR2807246B1 (fr) | 2002-12-27 |
Family
ID=8848579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0003919A Expired - Fee Related FR2807246B1 (fr) | 2000-03-28 | 2000-03-28 | Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede |
Country Status (8)
Country | Link |
---|---|
US (1) | US20010036267A1 (fr) |
EP (1) | EP1273127A1 (fr) |
JP (1) | JP2003529109A (fr) |
CN (1) | CN1270472C (fr) |
AU (1) | AU2001244260A1 (fr) |
FR (1) | FR2807246B1 (fr) |
MX (1) | MXPA02009343A (fr) |
WO (1) | WO2001074006A1 (fr) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10061697A1 (de) * | 2000-12-12 | 2002-06-27 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln |
FR2841411B1 (fr) * | 2002-06-19 | 2004-10-29 | Gemplus Card Int | Procede de generation de cles electroniques pour procede de crytographie a cle publique et objet portatif securise mettant en oeuvre le procede |
DE10234973A1 (de) * | 2002-07-31 | 2004-02-19 | Giesecke & Devrient Gmbh | Erzeugen von Ergebniswerten mit einer vorgegebenen Eigenschaft |
US7113595B2 (en) * | 2002-08-09 | 2006-09-26 | Gemplus | Generation of a random number that is non-divisible by a set of prime numbers |
US7562052B2 (en) * | 2004-06-07 | 2009-07-14 | Tony Dezonno | Secure customer communication method and system |
CA2598811A1 (fr) * | 2005-02-25 | 2006-08-31 | Qualcomm Incorporated | Petite cle publique basee sur des signatures numeriques destinees a une authentification |
JP4988448B2 (ja) * | 2007-06-25 | 2012-08-01 | 株式会社日立製作所 | 一括検証装置、プログラム及び一括検証方法 |
US9182943B2 (en) * | 2013-03-08 | 2015-11-10 | Qualcomm Incorporated | Methods and devices for prime number generation |
US9842086B2 (en) * | 2013-07-18 | 2017-12-12 | Nippon Telegraph And Telephone Corporation | Calculation device, calculation method, and program |
FR3018372B1 (fr) * | 2014-03-06 | 2023-09-29 | Oberthur Technologies | Generation de message pour test de generation de cles cryptographiques |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675687A (en) * | 1995-11-20 | 1997-10-07 | Texas Instruments Incorporated | Seamless multi-section visual display system |
US5781723A (en) * | 1996-06-03 | 1998-07-14 | Microsoft Corporation | System and method for self-identifying a portable information device to a computing unit |
US6226744B1 (en) * | 1997-10-09 | 2001-05-01 | At&T Corp | Method and apparatus for authenticating users on a network using a smart card |
-
2000
- 2000-03-28 FR FR0003919A patent/FR2807246B1/fr not_active Expired - Fee Related
-
2001
- 2001-03-16 JP JP2001571604A patent/JP2003529109A/ja active Pending
- 2001-03-16 CN CNB018073328A patent/CN1270472C/zh not_active Expired - Fee Related
- 2001-03-16 WO PCT/FR2001/000796 patent/WO2001074006A1/fr active Application Filing
- 2001-03-16 EP EP01917166A patent/EP1273127A1/fr not_active Withdrawn
- 2001-03-16 AU AU2001244260A patent/AU2001244260A1/en not_active Abandoned
- 2001-03-16 MX MXPA02009343A patent/MXPA02009343A/es unknown
- 2001-03-28 US US09/818,658 patent/US20010036267A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
HARALD F; CHRISTIAN S: "Power permutations on prime residue classes", COMMUNICATIONS AND MULTIMEDIA SECURITY; PROCEEDINGS OF THE IFIP TC6, TC11 AND AUSTRIAN COMPUTER SOCIETY JOINT WORKING CONFERENCE ON COMMUNICATIONS AND MULTIMEDIA SECURITY, September 1995 (1995-09-01), pages 191 - 197, XP000972383, ISBN: 0-412-73260-2 * |
MENEZES A J; VAN OORSCHOT P; VANSTONE S: "Handbook of Applied Cryptography", 1997, CRC PRESS, BOCA RATON, FLORIDA 33431, USA, ISBN: 0-8493-8523-7, XP002155110 * |
Also Published As
Publication number | Publication date |
---|---|
AU2001244260A1 (en) | 2001-10-08 |
US20010036267A1 (en) | 2001-11-01 |
CN1270472C (zh) | 2006-08-16 |
JP2003529109A (ja) | 2003-09-30 |
WO2001074006A1 (fr) | 2001-10-04 |
EP1273127A1 (fr) | 2003-01-08 |
CN1419762A (zh) | 2003-05-21 |
MXPA02009343A (es) | 2003-02-12 |
FR2807246B1 (fr) | 2002-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1151576B1 (fr) | Procede cryptographique a cles publique et privee | |
EP1738517B1 (fr) | Procedes et dispositifs cryptographiques sans transfert de connaissance | |
FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
FR2713419A1 (fr) | Procédé de génération de signatures DSA avec des appareils portables à bas coûts. | |
WO2001080481A1 (fr) | Procede de cryptographie sur courbes elliptiques | |
FR2807246A1 (fr) | Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede | |
EP1419610B1 (fr) | Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret | |
EP0878934A1 (fr) | Procédé d'identification à clé publique utilisant deux fonctions de hachage | |
CA2360953C (fr) | Procede d'authentification ou de signature a nombre de calculs reduit | |
EP0963638B1 (fr) | Procede de signature numerique | |
EP0666664B1 (fr) | Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires | |
CA2257907A1 (fr) | Procede de cryptographie a cle publique | |
EP1829279A2 (fr) | Procede et dispositif d'execution d'un calcul cryptographique | |
FR2737369A1 (fr) | Systeme de communication de messages cryptes selon un procede de type r.s.a. | |
WO2000046947A2 (fr) | Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers | |
EP3809627A1 (fr) | Procédé de génération d'une clé publique et entité électronique associée | |
WO2004006497A1 (fr) | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions | |
EP1302021A1 (fr) | Procede de generation d'une cle electronique a partir d'un nombre premier compris dans un intervalle determine et dispositif de mise en oeuvre du procede | |
WO1998051038A1 (fr) | Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas | |
EP0743775A1 (fr) | Procédé de signature numérique à connaissance nulle, permettant d'élaborer une signature résistant aux collisions | |
FR2713420A1 (fr) | Procédé de génération de signatures DSA avec des appareils portables à bas coûts. | |
FR2811173A1 (fr) | Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque | |
WO2003010921A1 (fr) | Procede de generation de cles electroniques pour la mise en oeuvre d'un algorithme cryptographique, carte a puce mettant en oeuvre le procede | |
EP1417566A2 (fr) | Carte d'acceleration de traitement cryptographique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20091130 |