FR2834155A1 - Procede de generation de cles electroniques cryptographiques et composant correspondant - Google Patents

Procede de generation de cles electroniques cryptographiques et composant correspondant Download PDF

Info

Publication number
FR2834155A1
FR2834155A1 FR0116764A FR0116764A FR2834155A1 FR 2834155 A1 FR2834155 A1 FR 2834155A1 FR 0116764 A FR0116764 A FR 0116764A FR 0116764 A FR0116764 A FR 0116764A FR 2834155 A1 FR2834155 A1 FR 2834155A1
Authority
FR
France
Prior art keywords
key
function
generating
electronic component
random number
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
Application number
FR0116764A
Other languages
English (en)
Other versions
FR2834155B1 (fr
Inventor
Marc Joye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR0116764A priority Critical patent/FR2834155B1/fr
Publication of FR2834155A1 publication Critical patent/FR2834155A1/fr
Application granted granted Critical
Publication of FR2834155B1 publication Critical patent/FR2834155B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

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)

Abstract

L'invention concerne un procédé de génération d'une ou plusieurs clés électroniques cryptographiques à partir d'un nombre secret S, au moyen d'un composant électronique. Il comporte les étapes consistant pour chaque clé à :lire ledit nombre secret S de longueur prédéterminée,choisir un identifiant ID,générer au moyen d'une fonction déterministe F, un nombre pseudo-aléatoire R à partir de S et de ID,générer ladite clé à partir de R.

Description

<Desc/Clms Page number 1>
PROCÉDÉ DE GÉNÉRATION DE CLÉS ÉLECTRONIQUES CRYPTOGRAPHIQUES ET COMPOSANT CORRESPONDANT
L'invention concerne un procédé de génération d'une ou plusieurs clés électroniques cryptographiques à partir d'un nombre secret.
L'invention s'applique tout particulièrement à des algorithmes de cryptographie à clé publique utilisés dans certaines applications pour le cryptage d'informations et/ou l'authentification entre deux entités et/ou la signature électronique de messages. Ce sont notamment des applications d'accès à certaines banques de données, des applications bancaires, des applications de télé-péage par exemple pour la télévision ou le passage de péages d'autoroutes.
Elle s'applique en particulier à des algorithmes à clé publique tels que les algorithmes RSA du nom de ses auteurs (Rivest, Shamir et Adleman), El Gamal, Schnorr, ou Fiat Shamir.
Ces algorithmes sont mis en oeuvre dans des composants électroniques comportant un microprocesseur et des mémoires, dont une mémoire programme par exemple de type ROM, une mémoire de travail par exemple de type RAM et une mémoire de données par exemple de type EEPROM qui contient la ou les clés cryptographiques.
Ces composants électroniques sont notamment utilisés dans les cartes à puce.
De telles clés occupent beaucoup d'emplacement mémoire du fait de leur taille.
<Desc/Clms Page number 2>
Dans le cas par exemple de l'algorithme à clé publique RSA, utilisant un module de 1024 bits, il faut plus de 2000 bits pour mémoriser une clé RSA.
De plus, le nombre de clés est multiplié par le nombre d'applications mises en oeuvre par le composant, voire par le nombre d'interlocuteurs d'une même application, ce qui augmente d'autant l'emplacement mémoire utilisé pour mémoriser ces clés.
Par ailleurs, les organismes de normalisation envisagent de recommander de doubler la taille des clés RSA ce qui entraînerait un doublement de la taille des clés des algorithmes dérivés du RSA ou plus généralement des algorithmes à clé publique.
Le but de la présente invention est donc d'éviter que ces clés occupent tant d'emplacement mémoire.
L'invention a pour objet un procédé de génération d'une ou plusieurs clés électroniques cryptographiques à partir d'un nombre secret S, au moyen d'un composant électronique, principalement caractérisé en ce qu'il comporte les étapes consistant pour chaque clé à : a) lire ledit nombre secret S de longueur prédéterminée, b) choisir un identifiant ID, c) générer au moyen d'une fonction déterministe F, un nombre pseudo-aléatoire R à partir de S et de ID, d) générer ladite clé à partir de R.
Selon une caractéristique de l'invention, il comporte en outre préalablement à l'étape c) une étape consistant à déterminer un compteur et en ce que l'étape c) consiste à générer au moyen d'une fonction
<Desc/Clms Page number 3>
déterministe F, un nombre aléatoire R à partir de S, ID et dudit compteur.
La fonction F est de préférence sans collision et éventuellement à sens unique.
La fonction F est avantageusement une fonction de génération de masque MGF.
Selon une caractéristique de l'invention, la clé est une clé d'un algorithme cryptographique à clé publique.
La clé peut être générée à la demande ou en différé.
L'invention concerne également un procédé de génération de clés cryptographiques RSA, El Gamal, Schnorr ou Fiat Shamir, caractérisé en ce qu'il met en oeuvre le procédé tel qu'il vient d'être défini plus haut.
L'invention concerne aussi un composant électronique comprenant au moins une unité centrale, une mémoire de programme, une mémoire de travail et une mémoire de données, caractérisé en ce qu'il met en oeuvre le procédé objet de l'invention.
L'invention peut avoir pour objet une carte à puce comprenant un tel composant électronique.
D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description faite à titre d'exemple non limitatif et en regard de la figure 1 annexée qui représente le schéma de principe d'un composant électronique mettant en oeuvre l'invention.
<Desc/Clms Page number 4>
Le procédé selon l'invention consiste à lire un seul nombre secret S et à générer les clés à partir de ce secret S, en tant que de besoin.
En dehors du secret S, toutes les données utilisées pour générer les clés ainsi que les clés elles-mêmes sont mémorisées pendant la durée nécessaire à l'exécution de l'algorithme de cryptographie ; mais elles peuvent être ensuite effacées lorsqu'il est nécessaire de libérer de l'emplacement mémoire puisqu'elles peuvent être regénérées.
Le secret S est typiquement un nombre de 128 bits, voire 64 bits : il occupe donc peu d'emplacement mémoire.
Avant de rentrer dans le détail du procédé de génération de clés selon l'invention, on rappelle les différentes étapes de l'algorithme RSA.
L'étape de génération des clés privée et publique consiste à : - choisir deux grands nombres premiers p et q de tailles sensiblement équivalentes ; - définir n=p. q et (D (n) = (p-1). (q-1), (D (n) étant la fonction totient ; - choisir un nombre aléatoire e tel que l < e < C (n) et tel que le plus grand commun diviseur (PGCD) entre e et (D (n) soit 1 ; - choisir un nombre d tel que l < d < C (n) et tel que e. d=l mod (D (n).
La clé publique est (n, e) et la clé privée est d.
<Desc/Clms Page number 5>
L'étape de cryptage RSA d'un message m (0 < m < n-l) consiste à calculer c=me mod n, c étant le message chiffré de m.
L'étape de décryptage RSA du message chiffré c consiste à calculer m=cd mod n.
Le nombre premier p est obtenu selon la méthode qui consiste par exemple à : - choisir un nombre aléatoire impair R ; - si ce nombre n'est pas premier, on ajoute 2 ; - ainsi de suite jusqu'à ce que le nombre obtenu soit premier.
De même pour obtenir le nombre premier q.
Selon l'invention, le nombre aléatoire R utilisé pour obtenir les nombres premiers p et q, est généré à partir du secret S et d'un identifiant ID.
Cet identifiant ID est unique pour chaque application ou, pour chaque interlocuteur d'une même application. Il peut comporter des informations relatives au nom et/ou à l'adresse et/ou à l'adresse Internet, ou..., ou comporter un nombre associé à ces informations ; ce nombre peut être public ou déterminé par l'algorithme de génération de clé.
Lorsque la même entité utilise plusieurs clés, un compteur ou toute autre valeur distinctive peut être utilisé en plus de l'identifiant.
Le nombre R est généré à partir du secret S, de l'identifiant ID et éventuellement du compteur au moyen d'une fonction déterministe (c'est-à-dire non aléatoire) de préférence sans collision (c'est-à-dire
<Desc/Clms Page number 6>
qu'il est difficile de trouver xl et x2 tels que h (xl) =h (x2) ) et éventuellement à sens unique.
On rappelle qu'une fonction est à sens unique si, étant donné x, il est facile de calculer f (x) mais qu'étant donné f (x), il est difficile de retrouver x.
On utilise de préférence comme fonction sans collision et à sens unique, une fonction de génération de masque, appelée MGF (comme"Mask Generating Function"en anglais) telle que celle décrite par Mihir Bellare et Phillip Rogaway dans la publication"The exact security of digital signatures-How to sign with RSA and Rabin" (Advances in Cryptology, EUROCRYPT'96, Lecture Notes in Computer Science, volume 1070, pages 399-416, Springer-Verlag, 1996), Annexe A.
Une fonction MGF a en entrée un nombre déterminé k de bits, et en sortie une chaîne de bits, de taille quelconque.
Dans le cas présent, on obtient :
R = MGF (S, ID, compteur)
On a par exemple, h (x) étant une fonction de hachage :
Figure img00060001

MGF (x) = h (xlll) IIh (xI12) llh (xI13) 11...
Figure img00060002

avec
Figure img00060003

x = SllIDllcompteur
Figure img00060004

le symbole 1 1 signifiant concaténé.
On rappelle qu'une fonction cryptographique de hachage est une fonction déterministe (non aléatoire) à sens unique et sans collision ; elle a en entrée une
<Desc/Clms Page number 7>
chaîne de bits, de taille quelconque et produit en sortie un nombre de k bits.
On peut prendre comme fonction h de hachage, la
Figure img00070001

fonction SHA-1 ("Standard Hash Algorithmen anglais) avec k=160 ou la fonction MD5 ("Message Digest 5"en anglais) avec k=128.
Le procédé selon l'invention permet ainsi de réduire considérablement l'emplacement mémoire nécessaire pour stocker habituellement les clés d'algorithmes à clé publique.
Il peut être mis en oeuvre à la demande lorsque nécessaire ou en différé en prévision d'une future demande.
On a représenté sur la figure 1 le schéma fonctionnel d'un composant électronique susceptible de mettre en oeuvre le procédé selon l'invention.
Le composant C comporte notamment une unité centrale de traitement 1, une mémoire de programme 2, une mémoire de travail 3 et une mémoire de données 4 associées à l'unité 1. Le nombre secret S est mémorisé dans la mémoire de données 4.
Un tel composant peut bien sûr être inclus dans une carte à puce.

Claims (10)

REVENDICATIONS
1. Procédé de génération d'une ou plusieurs clés électroniques cryptographiques à partir d'un nombre secret S, au moyen d'un composant électronique, caractérisé en ce qu'il comporte les étapes consistant pour chaque clé à : a) lire ledit nombre secret S de longueur prédéterminée, b) choisir un identifiant ID, c) générer au moyen d'une fonction déterministe F, un nombre pseudo-aléatoire R à partir de S et de ID, d) générer ladite clé à partir de R.
2. Procédé selon la revendication précédente, caractérisé en ce qu'il comporte en outre préalablement à l'étape c) une étape consistant à déterminer un compteur et en ce que l'étape c) consiste à générer au moyen d'une fonction déterministe F, un nombre aléatoire R à partir de S, ID et dudit compteur.
3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la fonction F est une fonction sans collision.
4. Procédé selon la revendication précédente, caractérisé en ce que la fonction F est à sens unique.
<Desc/Clms Page number 9>
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la fonction F est une fonction de génération de masque MGF.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la clé est une clé d'un algorithme à clé publique.
7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la clé est générée à la demande ou en différé.
8. Procédé de génération de clés cryptographiques RSA, El Gamal, Schnorr ou Fiat Shamir, caractérisé en ce qu'il met en oeuvre le procédé selon l'une quelconque des revendications précédentes.
9. Composant électronique (C) comprenant au moins une unité centrale (1), une mémoire de programme (2), une mémoire de travail (3) et une mémoire de données (4), caractérisé en ce qu'il met en oeuvre le procédé selon l'une quelconque des revendications précédentes.
10. Carte à puce comprenant un composant électronique (C) selon la revendication précédente.
FR0116764A 2001-12-21 2001-12-21 Procede de generation de cles electroniques cryptographiques et composant correspondant Expired - Fee Related FR2834155B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0116764A FR2834155B1 (fr) 2001-12-21 2001-12-21 Procede de generation de cles electroniques cryptographiques et composant correspondant

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0116764A FR2834155B1 (fr) 2001-12-21 2001-12-21 Procede de generation de cles electroniques cryptographiques et composant correspondant

Publications (2)

Publication Number Publication Date
FR2834155A1 true FR2834155A1 (fr) 2003-06-27
FR2834155B1 FR2834155B1 (fr) 2005-02-18

Family

ID=8870914

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0116764A Expired - Fee Related FR2834155B1 (fr) 2001-12-21 2001-12-21 Procede de generation de cles electroniques cryptographiques et composant correspondant

Country Status (1)

Country Link
FR (1) FR2834155B1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482233A1 (fr) * 1990-10-24 1992-04-29 Omnisec Ag Système cryptographique permettant une communication chiffrée entre utilisateurs avec une clé de chiffrage mutuellement sécurisée déterminée sans interaction d'un utilisateur
US5602915A (en) * 1993-02-25 1997-02-11 France Telecom Establissement Autonome De Droit Public Process for the control of secret keys between two smart cards
EP0874299A2 (fr) * 1997-04-23 1998-10-28 Sony Corporation Transmission, réception, chiffrage, déchiffrage et enregistrement
GB2337908A (en) * 1998-03-13 1999-12-01 Nec Corp Accessing a network host computer from outside the network with improved security
DE19837405A1 (de) * 1998-08-18 2000-02-24 Siemens Ag Verfahren und Anordnung zur Bildung eines geheimen Kommunikationsschlüssels zu einem zuvor ermittelten asymmetrischen kryptographischen Schlüsselpaar
US6195433B1 (en) * 1998-05-08 2001-02-27 Certicom Corp. Private key validity and validation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0482233A1 (fr) * 1990-10-24 1992-04-29 Omnisec Ag Système cryptographique permettant une communication chiffrée entre utilisateurs avec une clé de chiffrage mutuellement sécurisée déterminée sans interaction d'un utilisateur
US5602915A (en) * 1993-02-25 1997-02-11 France Telecom Establissement Autonome De Droit Public Process for the control of secret keys between two smart cards
EP0874299A2 (fr) * 1997-04-23 1998-10-28 Sony Corporation Transmission, réception, chiffrage, déchiffrage et enregistrement
GB2337908A (en) * 1998-03-13 1999-12-01 Nec Corp Accessing a network host computer from outside the network with improved security
US6195433B1 (en) * 1998-05-08 2001-02-27 Certicom Corp. Private key validity and validation
DE19837405A1 (de) * 1998-08-18 2000-02-24 Siemens Ag Verfahren und Anordnung zur Bildung eines geheimen Kommunikationsschlüssels zu einem zuvor ermittelten asymmetrischen kryptographischen Schlüsselpaar

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OKAMOTO T: "A SINGLE PUBLIC-KEY AUTHENTICATION SCHEME FOR MULTIPLE USERS", SYSTEMS & COMPUTERS IN JAPAN, SCRIPTA TECHNICA JOURNALS. NEW YORK, US, vol. 18, no. 10, 1 October 1987 (1987-10-01), pages 14 - 24, XP000004597, ISSN: 0882-1666 *

Also Published As

Publication number Publication date
FR2834155B1 (fr) 2005-02-18

Similar Documents

Publication Publication Date Title
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
WO2003056750A2 (fr) Systeme cryptographique de signature de groupe
EP2296086B1 (fr) Protection d&#39;une génération de nombres premiers contre des attaques par canaux cachés
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
FR2536928A1 (fr) Systeme pour chiffrer et dechiffrer des informations, du type utilisant un systeme de dechiffrement a cle publique
FR2881900A1 (fr) Procede de cryptographie de messages a cle privee, et application a une installation
EP2415199B1 (fr) Procede pour effectuer une tache cryptographique dans un composant electronique
EP0346180B1 (fr) Dispositif de communication sécurisée de données
FR2807898A1 (fr) Procede de cryptographie sur courbes elliptiques
EP2707989A1 (fr) Dispositif et procede de generation de cles a securite renforcee pour algorithme de chiffrement pleinement homomorphique
CA2216607C (fr) Procede de communication cryptographique asymetrique, et objet portatif associe
FR2828780A1 (fr) Procede de realisation d&#39;une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
EP0795241A1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
EP0909495B1 (fr) Procede de cryptographie a cle publique
FR2788909A1 (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
EP1829279A2 (fr) Procede et dispositif d&#39;execution d&#39;un calcul cryptographique
FR2752122A1 (fr) Procede d&#39;authentification a nombre reduit de bits transmis
FR2834155A1 (fr) Procede de generation de cles electroniques cryptographiques et composant correspondant
FR2826531A1 (fr) Procede cryptographique pour la protection d&#39;une puce electronique contre la fraude
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
EP3840282A1 (fr) Procédé de traitement cryptographique, dispositif électronique et programme d&#39;ordinateur associés
FR2842052A1 (fr) Procede et dispositifs cryptographiques permettant d&#39;alleger les calculs au cours de transactions
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO1998037662A1 (fr) Systeme cryptographique comprenant un systeme de chiffrement et de dechiffrement et un systeme de sequestre de cles, et les appareils et dispositifs associes

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090831