EP1269683A1 - Procede de signatures numeriques probabilistes - Google Patents
Procede de signatures numeriques probabilistesInfo
- Publication number
- EP1269683A1 EP1269683A1 EP01917165A EP01917165A EP1269683A1 EP 1269683 A1 EP1269683 A1 EP 1269683A1 EP 01917165 A EP01917165 A EP 01917165A EP 01917165 A EP01917165 A EP 01917165A EP 1269683 A1 EP1269683 A1 EP 1269683A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- signatures
- algorithm
- message
- signature
- probabilistic
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 description 16
- 230000015654 memory Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Definitions
- the present invention relates to a method for generating probabilistic digital signatures in order to allow verification of the integrity of a transmitted message.
- the present invention applies in particular to the field of smart cards with or without contact.
- Such cards in fact constitute secure information carriers and generally include a microcontroller incorporated on an integrated circuit chip.
- a microcontroller has an architecture similar to that of a computer. It includes a processing unit made up of a microprocessor or CPU (from the English Central Processing Unit) associated with different types of memories.
- a non-volatile memory, of ROM type for example, generally comprises at least one program for implementing a signature algorithm.
- the invention applies in particular to algorithms for generating and verifying digital signatures.
- the objective of these algorithms is to calculate one or more integers, in general a pair, called the signature and associated with a given message in order to certify the identity of the signatory and the integrity of the signed message.
- Such algorithms allow on the one hand to generate signatures and on the other hand to verify these signatures.
- the signature is said to be probabilistic when the algorithm calls for a hazard in the generation of the signature, this hazard being secret and regenerated with each new signature. So the same message transmitted by the same user can have several distinct signatures.
- DSA Digital Signature Algonthm
- the generation of the signature was carried out with the secret key x and a secret and different random number k for each signature, and its verification with the public key y.
- the use of the hash function in the generation of the signature is found in almost all the algorithms for generating probabilistic signatures based on a discrete logarithm calculation. It makes it possible to guarantee the non reproducibility of the signature by breaking its linearity.
- this hash function nevertheless has drawbacks because it supposes on the one hand that this function h behaves like a random function, which is not always true, and on the other hand that this function h is implemented in the memory of the integrated circuit chip of the secure device (the chip card for example).
- the code size required for implementing the hash function is very large, around 1 to 2 kilobytes.
- the invention aims to resolve these constraints and proposes a solution which is suitable for microcontrollers having few computing resources.
- the subject of the present invention is a method for generating probabilistic digital signatures which allows to get rid of the hash function, without altering the security of the messages exchanged.
- the invention provides a method for transforming a probabilistic signature algorithm using a hash function into another algorithm which does not use this function.
- the initial probabilistic algorithm is used twice instead of once to sign the message directly, ie the initial message, not hashed. This generates twin signatures associated with the same message.
- the invention relates more particularly to a method of probabilistic digital signatures of a message, between a signatory and a creditor, from an algorithm based on the calculation of a discrete logarithm, characterized in that it consists, for the signatory, to generate at least two signatures of the same message, not hashed, said signatures being calculated by the algorithm by means of the same parameters with public and private key by calling respectively on different hazards, and in that it consists, for the buyer, to verify all the signatures of the said message.
- the probabilistic algorithm is the DSA (Digital Signature Algonthm).
- the probabilistic algorithm is the Schnorr algorithm.
- the invention advantageously applies to any secure device of the smart card type, and in particular to devices comprising an 8-bit microcontroller.
- the method according to the invention has the advantage of eliminating the hash function and thus minimizing the memory occupancy rate.
- the calculation speed is increased, even if a double calculation is required.
- the call to a hash function is delicate on simple 8-bit microcontrollers, inexpensive and increasingly used to contain the manufacturing costs of the devices.
- the method according to the invention makes it possible to guarantee security in the execution of any algorithm for generating probabilistic digital signatures.
- the description refers to the DSA signature algorithm, but also applies to all other probabilistic signature algorithms and their variants such as ElGamal, Schnorr, EC-DSA, Abe-Okamoto, for example which also use the function hash in the generation of signature pairs.
- the method of generating signatures according to the invention is based on the calculation of at least two signatures, which are then said to be twin, of the same initial message m not hashed.
- the signature thus comprises at least two signatures calculated using the same parameters with public key y and private key x by making use respectively of distinct hazards k 1; k 2 , ... k n .
- the signature of the message thus becomes (r 1 , s 1 , r 2 , s 2 , ... r n , s n ), with the n pairs (r ⁇ s (for î going from 1 to n) calculated and checked according to conventional methods for generating and verifying signatures, whether it be the DSA, Schnorr or any other algorithm using a hash function.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Credit Cards Or The Like (AREA)
Abstract
La présente invention concerne un procédé de signatures numériques probabilistes d'un message, entre un signataire et un vérifieur, à partir d'un algorithme basé sur le calcul d'un logarithme discret, caractérisé en ce qu'il consiste, pour le signataire, à générer au moins deux signatures du même message non haché, lesdites signatures étant calculées par l'algorithme au moyen des mêmes paramètres à clés publique et privée en faisant respectivement appel à des aléas distincts, et en ce qu'il consiste, pour le vérifieur, à vérifier toutes les signatures dudit message.
Description
PROCEDE DE SIGNATURES NUMERIQUES PROBABILISTES
La présente invention concerne un procédé de génération de signatures numériques probabilistes afin de permettre la vérification de l'intégrité d'un message transmis. La présente invention s'applique en particulier au domaine des cartes à puce avec ou sans contact . De telles cartes constituent en effet des supports d'informations sécurisés et comportent en général un micro-contôleur incorporé sur une puce de circuit intégré. Un micro-contrôleur possède une architecture semblable à celle d'un ordinateur. Il comporte une unité de traitement constituée d'un microprocesseur ou CPU (de l'anglais Central Processing Unit) associée à différents types de mémoires. Une mémoire non volatile, de type ROM par exemple, comporte en général au moins un programme de mise en œuvre d'un algorithme de signature .
L'invention s'applique en particulier à des algorithmes de génération et de vérification de signatures numériques. L'objectif de ces algorithmes est de calculer un ou plusieurs entiers, en général une paire, appelés la signature et associés à un message donné afin de certifier l'identité du signataire et l'intégrité du message signé. De tels algorithmes permettent d'une part de générer des signatures et d'autre part de vérifier ces signatures.
La signature est dite probabiliste lorsque l'algorithme fait appel à un aléas dans la génération de la signature, cet aléas étant secret et régénéré à chaque nouvelle signature. Ainsi, un même message
transmis par un même utilisateur peut avoir plusieurs signatures distinctes.
Un exemple d'un tel algorithme peut être illustré par le DSA (de l'anglais Digital Signature Algonthm) . Les paramètres du DSA sont : p, un grand premier connu, de 512 ou 1024 bits, q, un premier qui divise p-1, de 160 bits, g, un entier choisi tel que gq = 1 mod p avec g ≠ 1 mod p . La clé secrète x est un nombre aléatoirement fixé entre 0 et 2ιeo-l, et la clé publique y est liée à x par la relation y = gx mod p.
Soit m, le message à envoyer. La signature DSA de m est la paire (r,s) définie comme suit : r = (gk mod p) mod q ; s = ( h (m) + r-x) / k mod q ; avec k un nombre aléatoire de 160 bits tel que k<q, régénéré à chaque signature, et h (m) le message initial m chiffré au moyen d'une fonction de hachage qui est une fonction cryptographique pseudo aléatoire.
La vérification de la signature s'effectue comme
On réalise un premier calcul intermédiaire w = s"1 mod q
On vérifie si ( (gw h(ra) yr w)mod p)mod q D r. Si cette égalité est vrai, la signature est authentique .
La génération de la signature (r,s) a été réalisée avec la clé secrète x et un nombre aléatoire k secret et différent pour chaque signature, et sa vérification avec la clé publique y. Ainsi, n'importe qui peut authentifier une carte et son porteur sans détenir sa clé secrète .
L'utilisation de la fonction de hachage dans la génération de la signature se retrouve dans quasiment tous les algorithmes de génération de signatures probabilistes basés sur un calcul de logarithme discret. Elle permet en effet de garantir la non reproductibilité de la signature en brisant sa linéarité .
L'emploi de cette fonction de hachage présente néanmoins des inconvénients car elle suppose d'une part que cette fonction h se comporte comme une fonction aléatoire, ce qui n'est pas toujours vrai, et d'autre part que cette fonction h est implementée dans la mémoire de la puce de circuit intégré du dispositif sécurisé (la carte à puce par exemple) . Or la taille de code nécessaire à 1 ' implementation de la fonction de hachage est très élevée, environ 1 à 2 kilo octets.
Les contraintes économiques liées au marché de la carte à puce obligent à une constante recherche en vue de maîtriser ses coûts de revient. Cet effort passe souvent par l'utilisation de composants plus simples. Dans un tel cadre, 1 ' implementation d'algorithmes à clé publique sur des micro-contrôleurs peu chers de types 8 bits à cœur de 8051 (Intel) ou 6805 (Motorola) par exemple représente un intérêt grandissant. Il n'est cependant pas possible d' implémenter un algorithme de signature numérique tel que le DSA ou du même type, faisant appel à une fonction de hachage, sur de tels micro-contrôleurs .
L'invention a pour but de résoudre ces contraintes et propose une solution qui soit adaptée à des microcontrôleurs possédant peu de ressources de calcul .
La présente invention a pour objet un procédé de génération de signatures numériques probabilistes qui
permet de s'affranchir de la fonction de hachage, sans altérer la sécurité des messages échangés.
L'invention propose à cet effet un procédé permettant de transformer un algorithme de signature probabiliste utilisant une fonction de hachage en un autre algorithme ne faisant pas appel à cette fonction. A cette fin, l'algorithme probabiliste de départ est utilisé deux fois au lieu d'une pour signer le message directement, c'est à dire le message initial non haché. On génère ainsi des signatures jumelles associées au même message.
L'invention concerne plus particulièrement un procédé de signatures numériques probabilistes d'un message, entre un signataire et un vénfïeur, à partir d'un algorithme basé sur le calcul d'un logarithme discret, caractérisé en ce qu'il consiste, pour le signataire, à générer au moins deux signatures du même message non haché, lesdites signatures étant calculées par l'algorithme au moyen des mêmes paramètres à clé publique et privée en faisant respectivement appel à des aléas distincts, et en ce qu'il consiste, pour le vénfïeur, à vérifier toutes les signatures dudit message .
Selon une application, l'algorithme probabiliste est le DSA (Digital Signature Algonthm) .
Selon une autre application, l'algorithme probabiliste est l'algorithme de Schnorr.
L'invention s'applique avantageusement à tout dispositif sécurisé de type carte à puce, et en particulier à des dispositifs comportant un microcontrôleur 8 bits.
Le procédé selon l'invention présente l'avantage de s'affranchir de la fonction de hachage et de minimiser ainsi le taux d'occupation mémoire. En outre, la
vitesse de calcul est accrue, même si un double calcul est requis. En effet, l'appel à une fonction de hachage est délicate sur de simples micro-contrôleurs 8 bits, peu chers et de plus en plus souvent utilisés pour contenir les coûts de fabrication des dispositifs.
En outre, le procédé selon l'invention permet de garantir la sécurité dans l'exécution de n'importe quel algorithme de génération de signatures numériques probabilistes . La description fait référence à l'algorithme de signature DSA, mais s'applique également à tous les autres algorithmes de signatures probabilistes et à leurs variantes tels que ElGamal , Schnorr, EC-DSA, Abe- Okamoto, par exemple qui utilisent également la fonction de hachage dans la génération de paires de signatures .
Le procédé de génération de signatures selon l'invention est basé sur le calcul d'au moins deux signatures, que l'on dit alors jumelles, du même message initial m non haché. La signature comprend ainsi au moins deux signatures calculées à l'aide des mêmes paramètres à clé publique y et privée x en faisant respectivement appel à des aléas distincts k1; k2, ... kn. La signature du message devient ainsi (r1 , s1 , r2, s2, ...rn,sn), avec les n paires (r^s (pour î allant de 1 à n) calculées et vérifiées selon les procédés classiques de génération et de vérification de signatures qu'il s'agisse du DSA, de Schnorr ou de tout autre algorithme utilisant une fonction de hachage.
Claims
1. Procédé de signatures numériques probabilistes d'un message (m), entre un signataire et un vénfïeur, à partir d'un algorithme basé sur le calcul d'un logarithme discret, caractérisé en ce qu'il consiste, pour le signataire, à générer au moins deux signatures
(rx,sι) et (r2,s2) du même message non haché (m), lesdites signatures étant calculées par l'algorithme au moyen des mêmes paramètres à clé publique et privée
(y,x) en faisant respectivement appel à des aléas distincts (ki) et (k2) , et en ce qu'il consiste, pour le vénfïeur, à vérifier toutes les signatures (rι,Sι) et
(r2,s2) dudit message (m) .
2. Procédé selon la revendication 1, caractérisé en ce que l'algorithme probabiliste est le DSA (Digital
Signature Algonthm) .
3. Procédé selon la revendication 1, caractérisé en ce que, l'algorithme probabiliste est l'algorithme de Schnorr.
4. Dispositif sécurisé, de type carte à puce, caractérisé en ce qu'il comporte un composant électronique apte à mettre en œuvre le procédé de signature selon les revendications 1 à 3.
5. Dispositif selon la revendication 4, caractérisé en ce que le composant électronique est un microcontrôleur 8 bits.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0003918A FR2807248B1 (fr) | 2000-03-28 | 2000-03-28 | Procede de signatures numeriques probabilistes |
| FR0003918 | 2000-03-28 | ||
| PCT/FR2001/000795 WO2001074009A1 (fr) | 2000-03-28 | 2001-03-16 | Procede de signatures numeriques probabilistes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1269683A1 true EP1269683A1 (fr) | 2003-01-02 |
Family
ID=8848578
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP01917165A Withdrawn EP1269683A1 (fr) | 2000-03-28 | 2001-03-16 | Procede de signatures numeriques probabilistes |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20010056537A1 (fr) |
| EP (1) | EP1269683A1 (fr) |
| AU (1) | AU4425901A (fr) |
| FR (1) | FR2807248B1 (fr) |
| WO (1) | WO2001074009A1 (fr) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5347581A (en) * | 1993-09-15 | 1994-09-13 | Gemplus Developpement | Verification process for a communication system |
| US5511121A (en) * | 1994-02-23 | 1996-04-23 | Bell Communications Research, Inc. | Efficient electronic money |
| US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
| US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
-
2000
- 2000-03-28 FR FR0003918A patent/FR2807248B1/fr not_active Expired - Fee Related
-
2001
- 2001-03-12 US US09/802,968 patent/US20010056537A1/en not_active Abandoned
- 2001-03-16 AU AU4425901A patent/AU4425901A/xx active Pending
- 2001-03-16 WO PCT/FR2001/000795 patent/WO2001074009A1/fr not_active Ceased
- 2001-03-16 EP EP01917165A patent/EP1269683A1/fr not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| See references of WO0174009A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2001074009A1 (fr) | 2001-10-04 |
| FR2807248A1 (fr) | 2001-10-05 |
| AU4425901A (en) | 2001-10-08 |
| FR2807248B1 (fr) | 2002-06-28 |
| US20010056537A1 (en) | 2001-12-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0656710B1 (fr) | Procédé de génération de signatures DSA avec des appareils portables à bas coûts | |
| FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
| EP1151576B1 (fr) | Procede cryptographique a cles publique et privee | |
| EP1277307A1 (fr) | Procede de cryptographie sur courbes elliptiques | |
| WO1997013342A1 (fr) | Procede de cryptographie a cle publique base sur le logarithme discret | |
| FR2826811A1 (fr) | Procede d'authentification cryptographique | |
| EP0909495B1 (fr) | Procede de cryptographie a cle publique | |
| FR2747257A1 (fr) | Procede d'identification et/ou de signature | |
| FR2716058A1 (fr) | Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret. | |
| EP1269683A1 (fr) | Procede de signatures numeriques probabilistes | |
| WO2003055134A9 (fr) | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede | |
| FR2763194A1 (fr) | Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas | |
| FR2842052A1 (fr) | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions | |
| WO2002005483A1 (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 | |
| FR2818846A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie | |
| EP1407575A1 (fr) | Procede pour effectuer une tache cryptographique au moyen d'une cle publique | |
| WO2001097009A1 (fr) | Procede de calcul cryptographique comportant une routine d'exponentiation modulaire | |
| WO2001010078A1 (fr) | Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message | |
| FR2713420A1 (fr) | Procédé de génération de signatures DSA avec des appareils portables à bas coûts. | |
| FR2733378A1 (fr) | Procede de generation de signatures numeriques de messages | |
| FR2837335A1 (fr) | Procede et systeme cryptographiques | |
| FR2834155A1 (fr) | Procede de generation de cles electroniques cryptographiques et composant correspondant | |
| WO2002019613A1 (fr) | Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede | |
| FR2850502A1 (fr) | Procedes d'authentification numerique et de signature numerique a faible cout calculatoire et systeme signataire | |
| 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 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20021028 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
| AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20031024 |