EP1205051A1 - Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message - Google Patents

Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message

Info

Publication number
EP1205051A1
EP1205051A1 EP00953227A EP00953227A EP1205051A1 EP 1205051 A1 EP1205051 A1 EP 1205051A1 EP 00953227 A EP00953227 A EP 00953227A EP 00953227 A EP00953227 A EP 00953227A EP 1205051 A1 EP1205051 A1 EP 1205051A1
Authority
EP
European Patent Office
Prior art keywords
signature
integer
message
calculate
modulo
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
Application number
EP00953227A
Other languages
German (de)
English (en)
Inventor
Jean-Sébastien CORON
David Naccache
Jacques Stern
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
Publication of EP1205051A1 publication Critical patent/EP1205051A1/fr
Withdrawn 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the invention consists of two new electronic signature schemes based on the problem of the discrete logarithm, the first allowing the total reconstruction of the message, the second allowing the partial reconstruction of the message, as well as two techniques making it possible to reduce the size of electronic signatures.
  • An electronic signature of a message is a number depending both on a secret key known only to the person signing the message, and on the content of the message to be signed.
  • An electronic signature must be verifiable: it must be possible for a third person to verify the validity of the signature, without requiring knowledge of the secret key of the person signing the message.
  • Schnorr signature scheme It is a variant of the El-Gamal type signature scheme.
  • This variant uses a redundancy function R, an elliptical curve forming a group structure whose element zero is noted O and a point G of the curve, which point G generates a subgroup of order r e a prime number r.
  • G designating the sum, in the sense of the addition of the elliptical curve, of s points taken equal to G.
  • the method of generating the signature of a message m comprises the following five steps:
  • the signature verification process includes the following four steps:
  • the first method of the invention consists of another variant of an El-Gamal type signature scheme.
  • This variant allows the total reconstruction of the message.
  • the variant is described in the context of the use of elliptical curves. It is however possible to use this variant in any set having a group structure for which the problem of the discrete logarithm is difficult, for example the multiplicative group of integers modulo a prime number or the multiplicative subgroup of order a large number prime r of integers modulo a prime number p with r dividing p-1.
  • This variant uses a redundancy function R, an elliptical curve forming a group structure whose element zero is noted O and a point G of the curve, which point G generates a subgroup of order prime r.
  • This variant uses a non-zero integer constant k.
  • the signature generation process includes the following four steps:
  • the corresponding signature verification process comprises the following six steps:
  • the previously described method therefore makes it possible to obtain an electronic signature scheme whose security is based on the difficulty of the problem of the discrete logarithm and allowing the total reconstruction of the message.
  • the invention also includes a second method of electronic signature allowing the partial reconstruction of the message.
  • the signature scheme described above allows the total reconstruction of the message.
  • the total size of the message to be signed is limited by the size of the arguments of the redundancy function R.
  • the second method of the invention makes it possible to sign a message of any size.
  • the message m to be signed is divided into 2 parts: the first part sculpture of constant size is reconstituted from the signature, the second part m 2 is transmitted with the signature of the message.
  • the total size of the signature and of the message to be transmitted is therefore reduced by the size of the itii part.
  • the signature scheme is described in the context of the use of elliptical curves.
  • the signature scheme uses a redundancy function R, an elliptical curve forming a group structure whose zero element is denoted O and a point G on the curve, which point G generates a subgroup of order one prime number r.
  • the method for generating the signature of a message m consisting of the messages mi and m 2 comprises the following six steps:
  • the signature is the pair of integers (c, d).
  • the signature verification process takes as input a pair of integers (c, d) and the partial message m 2 and comprises the following seven steps:
  • the previously described method therefore makes it possible to obtain an electronic signature scheme whose security is based on the difficulty of the discrete logarithm and allowing the partial reconstruction of the message.
  • the advantage of such a scheme is to reduce the total size of the signature and of the message to be transmitted without however imposing a size constraint on this message.
  • the invention also consists of two general techniques making it possible to minimize the total size of the signature and of the message to be transmitted.
  • the first technique consists in including a part of the message inside the signature by appropriately choosing the random data used during the generation of the signature.
  • the second technique consists in deleting part of the bytes representing the signature, the complete reconstruction of the signature being carried out during the verification phase.
  • the third method of the invention consists of an improvement to the Nyberg-Rueppel signature scheme recalled above, and consists in including a part of the message of size t bytes in the integer d defined previously, t being a small integer.
  • the t least significant bytes of the integer d contain t bytes of the message.
  • the third process of the invention therefore makes it possible to increase the size of the message to be signed by t bytes relative to the Nyberg-Rueppel signature scheme described above.
  • the third method uses a redundancy function R, an elliptical curve forming a group structure whose element zero is noted 0 and a point G of the curve, which point G generates a subgroup of order a number first r.
  • the method for generating the signature of a message m comprises the following five steps:
  • the signature is the pair of integers (c, d).
  • the signature verification process involves the following five steps
  • the signature generation process with data preprocessing uses a redundancy function R, an elliptical curve forming a group structure whose zero element is noted O and a point G of the curve, which point G generates a sub -group of order a prime number r.
  • the signature generation process with data preprocessing comprises the following eight steps:
  • the signature is the pair of integers (c, d).
  • the fourth method of the invention consists in improving the signature scheme based on a discrete logarithm with partial reconstruction of the message described above.
  • the fourth method of the invention consists in including a part of the message of size t bytes in the integer d defined above, t being a small integer.
  • the t least significant bytes of the integer d contain t bytes of the message.
  • the fourth method of the invention therefore makes it possible to reduce the total size of the signature and of the message to be transmitted by t bytes.
  • the signature scheme uses a redundancy function R, an elliptical curve forming a group structure whose zero element is denoted O and a point G on the curve, which point G generates a subgroup of order one number first r.
  • the method for generating the signature of a message m consisting of the messages itii and m 2 comprises the following six steps:
  • the signature is the pair of integers (c, d) and the message to be transmitted is m ' 2 consisting of m 2 deprived of its t least significant bytes.
  • the signature verification process takes as input a pair of integers (c, d) and the partial message m ' 2 and comprises the following eight steps:
  • the fifth method of the invention consists in removing t bytes from the chain of bytes representing the integer d when the signature is the pair of integers (c, d). This process applies to the signature scheme of Nyberg and Rueppel as well as to the signature scheme with partial reconstruction of the message described above.
  • the modified signature generation process comprises the following two steps:
  • step 1) If step 1) was not successful, the signature is not valid.
  • the signature verification process takes as input a pair (c, d ') and includes the following five steps:
  • the sixth method of the invention consists of a modification of the signature scheme of Nyberg and Rueppel making it possible to increase the size of the messages to be signed by t bytes, t being an integer variable.
  • the sixth method uses a redundancy function R, an elliptical curve forming a group structure whose element zero is noted O and a point G of the curve, which point G generates a subgroup of order number first r.
  • the method for generating the signature of a message m comprises the following five steps:
  • the signature is the pair of integers (c, d).
  • the signature verification process includes the following four steps:
  • the seventh method of the invention consists of a modification of the signature scheme with partial reconstruction of the message previously described, making it possible to increase by t bytes the size of the message half reconstituted from the signature, t being an integer variable.
  • the seventh method uses a redundancy function R, an elliptical curve forming a group structure whose element zero is noted O and a point G of the curve, which point G generates a subgroup of order a number first r.
  • the method for generating the signature of a message m consisting of two messages ⁇ ii and m 2 , comprises the following six steps:
  • the signature is the pair of integers (c, d).
  • the signature verification process takes as input a pair of integers (c, d) and the partial message m 2 and comprises the following seven steps:
  • the eighth method of the invention consists in a modification of the signature scheme of Nyberg and Rueppel consisting in removing t bytes from the integer c previously defined, t being an integer variable.
  • the signature generation process comprises the following two steps:
  • the signature verification process takes as input the pair of integers (c ', d) and comprises the following five steps:
  • the ninth method of the invention is a modification of the signature scheme with partial reconstruction of the message defined above, which consists in removing t bytes from the integer c defined above, t being an integer variable.
  • the signature generation process comprises the following two steps:
  • the signature verification method takes as input a pair of integers (c ′, d) and a message m 2 and comprises the following eight steps:
  • the advantage of this tenth method is that it allows a reduction in the calculation time when this method is applied to any of the methods defined above.
  • the eleventh method of the invention consists of an improvement to the Nyberg-Rueppel signature scheme recalled above, and consists in including a part of the message of size t bytes in the integer d defined above, t being a small integer, as well as '' to use another redundancy function.
  • the t least significant bytes of the integer d contain t bytes of the message.
  • the eleventh method uses an elliptical curve forming a group structure whose element zero is noted O and a point G of the curve, which point G generates a subgroup of order prime number r.
  • the process for generating a signing a message m uses the integer parameters t, a, and k and has the following seven steps:
  • the signature is the pair of integers (c, d).
  • the signature verification process includes the following seven steps:
  • the methods described therefore make it possible to significantly reduce the total size of the signature and of the message to be transmitted.
  • the memory space is limited, it is thus possible to store a larger number of signatures.
  • These methods are particularly intended to be implemented in portable devices, for example of the smart card type.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

L'invention consiste en des procédés de schéma de signature dont la sécurité est basée sur le problème du logarithme discret, un premier schéma permettant une reconstitution totale du message, un deuxième schéma permettant une reconstitution partielle du message. L'invention consiste également en deux techniques permettant de minimiser la taille totale du message à transmettre et de la signature. La première technique consiste à inclure une partie du message à l'intérieur de la signature en choisissant convenablement les données aléatoires utilisées lors de la génération de la signature. La deuxième technique consiste à supprimer une partie des octets représentant la signature, la reconstitution complète de la signature s'effectuant durant la phase de vérification. Ces schémas et ces 2 techniques ont pour but de réduire la taille totale de la signature et du message à transmettre. Ils sont donc particulièrement destinés à être utilisés sur des supports portables de type carte à puce.

Description

SCHEMAS DE SIGNATURE A BASE DE
LOGARITHME DISCRET AVEC RECONSTITUTION
PARTIELLE OU TOTALE DU MESSAGE
L'invention consiste en deux nouveaux schémas de signature électronique basés sur le problème du logarithme discret, le premier permettant la reconstitution totale du message, le second permettant la reconstitution partielle du message, ainsi que deux techniques permettant de réduire la taille des signatures électroniques.
Une signature électronique d'un message est un nombre dépendant à la fois d'une clé secrète connue seulement de la personne signant le message, ainsi que du contenu du message à signer. Une signature électronique doit être vérifiable : il doit être possible pour une tierce personne de vérifier la validité de la signature, sans que la connaissance de la clé secrète de la personne signant le message ne soit requi se .
Il existe deux types de schéma de signature électronique :
- Schémas de signature électronique nécessitant le message original pour la vérification de la signature.
Schémas de signature électronique avec reconstitution du message. Le message original est obtenu d'après la signature elle-même. Le message original n'étant pas nécessaire pour vérifier la signature, la taille totale de la signature est plus courte .
II existe de nombreux procédés de signature électronique. Les plus connus sont : Schéma de signature RSA : c'est le schéma de signature électronique le plus largement utilise. Sa sécurité est basée sur la difficulté de la factorisation de grands nombres ;
- Schéma de signature Rabin. Sa sécurité est aussi basée sur la difficulté de la factorisation de grands nombres ;
- Schéma de signature de type El-Gamal. Sa sécurité est basée sur la difficulté du problème du logarithme discret. Le problème du logarithme discret consiste à déterminer, s'il existe, un entier x tel que y=gx avec y et g deux éléments d'un ensemble E possédant une structure de groupe ;
Schéma de signature Schnorr. Il s'agit d'une variante du schéma de signature de type El-Gamal.
II existe une autre variante du schéma de signature de type El-Gamal permettant la reconstitution totale du message, appelée schéma de signature Nyberg et Rueppel. Ce schéma est décrit dans l'article " A new signature scheme based on the DSA, giving message recovery " paru dans " Proceedmgs of the first ACM conférence on communications and computer security, 1993, 58-61 ". Une variante de schéma à base de courbe elliptique est décrite dans le document " IEEE P1363 draft. Standard spécifications for public key cr ypt ogr aphy . August 1998 ". Cette variante utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point W=s.G, la notation s. G désignant la somme, au sens de l'addition de la courbe elliptique, de s points pris égaux à G. Le procédé de génération de la signature d'un message m comporte les cinq étapes suivantes :
1) Générer un nombre aléatoire u compris entre 0 et r- 1 et calculer V=u . G ;
2) Calculer l'entier f=R(m) ;
3) Associer au point V un entier i et calculer c=i+f odulo r ; retourner à l'étape 1) si c=0 ;
4) Calculer d=u-s*c modulo r ; 5) La signature est la paire d'entiers (c,d) .
Le procédé de vérification de la signature comporte les quatre étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+ c.W; si P=0, la signature n'est pas valide ; 3) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
4) Retrouver le message m à partir de f et vérifier que f=R(m) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
Le premier procédé de l'invention consiste en une autre variante d'un schéma de signature de type El- Gamal. Cette variante permet la reconstitution totale du message. La variante est décrite dans le cadre de l'utilisation de courbes elliptiques. Il est cependant possible d'utiliser cette variante dans tout ensemble possédant une structure de groupe pour lequel le problème du logarithme discret est difficile, par exemple le groupe multiplicatif des entiers modulo un nombre premier ou le sous-groupe multiplicatif d'ordre un grand nombre premier r des entiers modulo un nombre premier p avec r divisant p-1. Cette variante utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point W= s.G. Cette variante utilise une constante entière k non nulle. Le procédé de génération de la signature comporte les quatre étapes suivantes :
1) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u . G ;
2) Associer au point V un entier i et calculer c=i+f modulo r ; si c=0, retourner à l'étape 1)
3) Calculer l'entier d=u_1 * ( k+ s * c ) modulo r ; si d=0, retourner à l'étape 1) ; 4) La signature est la paire d'entiers (c,d) .
Le procédé correspondant de vérification de la signature comporte les six étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer les entiers d" modulo r, hι=k*h modulo r et h =c*h modulo r ; 3) Calculer le point P= hxG+ h2W; si P=0, la signature n'est pas valide ;
4) Associer au point P un entier i ;
5) Calculer l'entier f=c-i modulo r ;
6) Retrouver le message m à partir de f et vérifier que f=R (m) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
Le procédé précédemment décrit permet donc d'obtenir un schéma de signature électronique dont la sécurité est basée sur la difficulté du problème du logarithme discret et permettant la reconstitution totale du message.
L'invention comprend également un second procédé de signature électronique permettant la reconstitution partielle du message. Le schéma de signature décrit précédemment permet la reconstitution totale du message. Cependant, la taille totale du message à signer est limitée par la taille des arguments de la fonction de redondance R. Le second procédé de l'invention permet de signer un message d'une taille quelconque. Le message m à signer est divisé en 2 parties: la première partie irii de taille constante est reconstituée à partir de la signature, la deuxième partie m2 est transmise avec la signature du message. La taille totale de la signature et du message à transmettre est donc diminuée de la taille de la partie itii . Le schéma de signature est décrit dans le cadre de l'utilisation de courbes elliptiques. Il est cependant possible d'utiliser ce schéma dans tout ensemble possédant une structure de groupe pour lequel le problème du logarithme discret est difficile, par exemple le groupe multiplicatif des entiers modulo un nombre premier ou le sous-groupe multiplicatif d'ordre un grand nombre premier r des entiers modulo un nombre premier p avec r divisant p-1. Le schéma de signature utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point =s.G. Le procédé de génération de la signature d'un message m constitué des messages mi et m2 comporte les six étapes suivantes :
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u.G ; 2) Calculer fι=R(mx) ;
3) Associer au point V un entier i et calculer c=i+ fi modulo r ; si c=0, retourner à l'étape 1 ;
4) Calculer f2=H(m2) , où H est une fonction de ha cha ge ; 5) Calculer l'entier d=u_1*( f2+s*c) modulo r ; si d=0, retourner à l'étape 1 ;
6) La signature est le couple d'entiers (c,d) .
Le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m2 et comprend les sept étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer f2=H(m2), où H est une fonction de hachage ;
3) Calculer les entiers h= d"1 modulo r, hι= f2*h modulo r et h2=c*h modulo r ; 4) Calculer le point P= hxG+ h2 ; si P=0, la signature n'est pas valide ;
5) Associer au point P l'entier i ;
6) Calculer l'entier fχ=c-i modulo r ;
7) Obtenir le message itii à partir de fi et vérifier que f1=R(m1) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
Le procédé précédemment décrit permet donc d'obtenir un schéma de signature électronique dont la sécurité est basée sur la difficulté du logarithme discret et permettant la reconstitution partielle du message. L'intérêt d'un tel schéma est de diminuer la taille totale de la signature et du message à transmettre sans toutefois imposer de contrainte de taille à ce message.
L'invention consiste également en deux techniques générales permettant de minimiser la taille totale de la signature et du message à transmettre. La première technique consiste à inclure une partie du message à l'intérieur de la signature en choisissant convenablement les données aléatoires utilisées lors de la génération de la signature. La deuxième technique consiste à supprimer une partie des octets représentant la signature, la reconstitution complète de la signature s'effectuant durant la phase de véri f i cation .
Le troisième procédé de l'invention consiste en une amélioration du schéma de signature de Nyberg- Rueppel rappelé précédemment, et consiste à inclure une partie du message de taille t octets dans l'entier d défini précédemment, t étant un entier petit. Dans ce procédé, les t octets de poids faible de l'entier d contiennent t octets du message. Le troisième procédé de l'invention permet donc d'augmenter de t octets la taille du message à signer par rapport au schéma de signature de Nyberg-Rueppel décrit précédemment. Le troisième procédé utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté 0 et un point G de la courbe, lequel point G est générateur d'un sous- groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point = s.G. Le procédé de génération de la signature d'un message m comporte les cinq étapes suivantes :
1) Enlever les t octets de poids faible du message m et mémoriser le résultat dans m' ; calculer f=R (m' ) ;
2) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u.G ;
3) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 1) si c=0.
4) Calculer l'entier d=u-s*c modulo r ; si d n'est pas égal à m modulo 28t retourner à l'étape 2) ;
5) La signature est le couple d'entiers (c,d) .
Le procédé de vérification de la s ignature comporte les cinq étapes suivantes
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+c.W; si P=0, la signature n'est pas valide ;
3) Associer au point P l'entier i ;
4) Calculer l'entier f=c-i modulo r ; 5) Obtenir le message m' à partir de f et vérifier que f=R ( m ' ) ; si ce n'est pas le cas, la signature n'est pas valide ; si c'est le cas, la signature est valide et le message m est la concaténation au message m' des t octets de poids faible de l'entier d.
Il est possible d'effectuer un pré- trait ement des données permettant d'accélérer la génération des signatures selon le schéma de signature décrit précédemment. Le procédé de pré- trait ement prend en entrée la clé secrète s et consiste à mettre en mémoire dans une table un grand nombre de valeurs (i, xu) avec xu=u-s*i modulo r et i étant l'entier associé au point V=u.G, de telle sorte que ces valeurs puissent être accédees par le reste de xu modulo 28t. Le procédé de génération de signature avec prétraitement des données utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point W=s.G.
Le procédé de génération de signature avec pré- traitement des données comporte les huit étapes suivantes :
1) Enlever les t octets de poids faible du message m et mémoriser le résultat dans le message m' ; calculer f=R(m' ) . Les t octets de poids faible du message m sont mémorisés dans l'entier δ ;
2) Calculer l'entier y=s*f modulo r et l'entier λ=y modulo 28t ; 3) Si y<r/2, exécuter d'abord l'étape 4 et ensuite l'étape 5 ; sinon exécuter d'abord l'étape 5 et ensuite l'étape 4 ;
4) Accéder aux éléments de la table dont le reste modulo 28t est λ+δ modulo 28t et sélectionner un élément tel que xu est supérieur ou égal à y ; si un tel élément existe, il est supprimé de la table et le procédé passe à l'étape 6) ;
5) Accéder aux éléments de la table dont le reste modulo 28t est λ+δ+r modulo 28t et sélectionner un élément tel que xu est inférieur à y ; si un tel élément existe, il est supprimé de la table et le procédé passe à l'étape 6) ;
6) Calculer l'entier d= xu _y modulo r ;
7) Obtenir l'entier i associé à xu et calculer c=i+f modulo r ;
8) La signature est le couple d'entiers (c,d) .
Le quatrième procédé de l'invention consiste en une amélioration du schéma de signature à base de logarithme discret avec reconstitution partielle du message décrit précédemment. Le quatrième procédé de l'invention consiste à inclure une partie du message de taille t octets dans l'entier d défini précédemment, t étant un entier petit. Dans ce procédé, les t octets de poids faible de l'entier d contiennent t octets du message. Le quatrième procédé de l'invention permet donc de diminuer de t octets la taille totale de la signature et du message à transmettre. Le schéma de signature utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point = s.G. Le procédé de génération de la signature d'un message m constitué des messages itii et m2 comporte les six étapes suivantes:
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u . G ;
2) Calculer fχ=R(mι) ;
3) Associer au point V un entier i et calculer c=i+ fi modulo r ; si c=0, retourner à l'étape 1 ;
4) Calculer f2 =H(m2) , où H est une fonction de ha chage ;
5) Calculer l'entier d=u_1*( f2+s*c) modulo r ; si d=0 ou si d n'est pas égal à m2 modulo 2 R t" , retourner à l'étape 1 ;
6) La signature est le couple d'entiers (c,d) et le message à transmettre est m' 2 consistant en m2 privé de ses t octets de poids faible.
Le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m' 2 et comprend les huit étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Compléter m' 2 en m2 en lui ajoutant les t octets de poids faible de d ; 3) Calculer f2=H(m2) , où H est une fonction de ha chage ;
4) Calculer les entiers h= d"1 modulo r, hι= f2*h modulo r et h2=c*h modulo r ; 5) Calculer le point P= hxG+ h2 ; si P≈O, la signature n'est pas valide ;
6) Associer au point P l'entier i ;
7) Calculer l'entier fχ=c-i modulo r ; 8) Obtenir le message πii à partir de fi et vérifier que fι=R(mι) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide ;
Le cinquième procédé de l'invention consiste à supprimer t octets de la chaîne d'octets représentant l'entier d lorsque la signature est le couple d'entiers (c,d) . Ce procédé s'applique au schéma de signature de Nyberg et Rueppel ainsi qu'au schéma de signature avec reconstitution partielle du message précédemment décrit. Le procédé modifié de génération de signature comporte les deux étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature de Nyberg et Rueppel ou le schéma de signature avec reconstitution partielle du message précédemment décrit, pour obtenir le couple d'entiers (c,d) ;
2) Calculer d' , quotient entier de la division de l'entier d par 28t. La signature est le couple d'entiers (c,d') .
Le procédé modifié de vérification de signature prend en entrée un couple (c,d' ) et un message m2 et comporte les 2 étapes suivantes dans le cas de l'utilisation du schéma de signature avec reconstitution partielle du message précédemment décrit : 1) Pour i allant de 0 à 28t-l, calculer l'entier d=d'*28t+ i et exécuter le procédé de vérification de signature avec reconstitution partielle du message précédemment décrit, la signature à vérifier étant
(c,d) ; si le procédé de vérification de signature reconnaît la signature (c,d) comme valide, la signature est valide, et le procédé est terminé ;
2) Si l'étape 1) n'a pas abouti, la signature n'est pas valide.
Dans le cas de l'utilisation du schéma de signature de Nyberg-Rueppel , le procédé de vérification de signature prend en entrée un couple (c,d') et comporte les cinq étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer le point P=d' * 28t . G+ c . W ;
3) Pour j allant de 0 à 28t-l, exécuter les étapes suivantes :
3)a) Si P=0, exécuter l'étape 3)d) ;
3)b) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
3)c) Retrouver le message m à partir de f et vérifier que f=R ( m ) ; si oui, exécuter l'étape 5) ;
3)d) Remplacer P par P+G ;
4) La signature n'est pas valide et le procédé est terminé ;
5) Si l'entier d=d'*28t+j n'appartient pas l'intervalle [0,r-l], la signature n'est pas valide ; sinon la signature est valide et le procédé est terminé . Le sixième procédé de l'invention consiste en une modification du schéma de signature de Nyberg et Rueppel permettant d'augmenter de t octets la taille des messages à signer, t étant une variable entière. Le sixième procédé utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous- groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point =s.G. Le procédé de génération de la signature d'un message m comporte les cinq étapes suivantes :
1) Générer un nombre aléatoire u et calculer V=u.G ;
2) Obtenir le message m' en enlevant au message m les t octets de poids faible et calculer f=R ( m' ) ;
3) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 1) si c=0 ou si i n'est pas égal à m modulo 2 R t" ;
4) Calculer d=u-s*c modulo r ;
5) La signature est la paire d'entiers (c,d) .
Le procédé de vérification de la signature comporte les quatre étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G + c.W; si P=0, la signature n'est pas valide ;
3) Associer au point P l'entier i et calculer l'entier f= c - i modulo r ; 4) Retrouver le message m' à partir de f et vérifier que f =R (m' ) ; si oui, retrouver le message m en concaténant au message m' les t octets de poids faible de i. La signature du message m est alors valide ; sinon, la signature n'est pas valide.
Le septième procédé de l'invention consiste en une modification du schéma de signature avec reconstitution partielle du message précédemment décrit permettant d'augmenter de t octets la taille du message mi reconstitué à partir de la signature, t étant une variable entière. Le septième procédé utilise une fonction de redondance R, une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous-groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point W=s.G. Le procédé de génération de la signature d'un message m, constitué de deux messages πii et m2 , comporte les six étapes suivantes :
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u.G ; 2) Obtenir m' i en enlevant au message mi les t octets de poids faible. Calculer f i=R ( m ' i ) ;
3) Associer au point V un entier i et calculer c=i+ fx modulo r ; si c= 0 ou si i n'est pas égal à mi modulo 28t, retourner à l'étape 1 ; 4) Calculer f2=H(m2) , où H est une fonction de h a cha g e ;
5) Calculer l'entier d=u~1*( f2+s*c) modulo r ; si d=0, retourner à l'étape 1 ;
6) La signature est le couple d'entiers (c,d) . Le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m2 et comprend les sept étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer f2=H(m2), où H est une fonction de hachage ;
3) Calculer les entiers h= d"1 modulo r, hι= f2*h modulo r et h2=c*h modulo r ;
4) Calculer le point P= hxG+ h2W; si P=0, la signature n'est pas valide. 5) Associer au point P l'entier i ;
6) Calculer l'entier fι=c-i modulo r ;
7) Obtenir le message m' i à partir de fi et vérifier que fι=R(m'ι) ; si oui, obtenir mi en concaténant au message m' i les t octets de poids faible de l'entier i. La signature du message m est alors valide ; sinon, la signature n'est pas valide.
Il est possible pour les sixièmes et septièmes procédés de diminuer les temps de calcul en effectuant des pré- trait ement s . Ces pré- traitement s consistent à mettre en mémoire dans une table des couples d'entiers
(u,i) tels que définis précédemment de telle sorte que ces entiers soient accessibles par la valeur de i modulo 28t. Le huitième procédé de l'invention consiste en une modification du schéma de signature de Nyberg et Rueppel consistant à enlever t octets à l'entier c précédemment défini, t étant une variable entière. Le procédé de génération de signature comporte les deux étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature de Nyber g-Rueppel pour obtenir le couple d'entiers ( c , d ) ;
2) Calculer c', quotient entier de la division de l'entier c par 28t. La signature est le couple d' entiers ( c ' , d) .
Le procédé de vérification de signature prend en entrée le couple d'entiers (c',d) et comporte les cinq étapes suivantes :
1) Si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+c'* 28t. ;
3) Pour j allant de 0 à 28t-l, exécuter les étapes suivantes : 3)a) Si P=0, exécuter l'étape 3)d) ;
3)b) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
3)c) Retrouver le message m à partir de f et vérifier que f=R ( m ) ; si oui, exécuter l'étape 5) ;
3)d) Remplacer P par P+ ;
4) La signature n'est pas valide et le procédé est terminé ;
5) Si l'entier c=c'*28t+j n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ; sinon la signature est valide et le procédé est terminé . Le neuvième procédé de l'invention est une modification du schéma de signature avec reconstitution partielle du message défini précédemment, qui consiste à enlever t octets de l'entier c défini précédemment, t étant une variable entière. Le procédé de génération de signature comprend les deux étapes suivantes :
1) Générer la signature du message m, constitué de deux messages mi et m2 , en utilisant le schéma de signature avec reconstitution partielle du message pour obtenir le couple d'entiers (c,d) ;
2) Calculer c', quotient entier de la division de l'entier c par 28t. La signature est le couple d'entiers (c',d) .
Le procédé de vérification de signature prend en entrée un couple d'entiers (c',d) et un message m2 et comprend les huit étapes suivantes :
1) Si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer f2 =H(m2) , où H est une fonction de h a cha ge ;
3) Calculer les entiers h= d-1 modulo r, hι= f2*h modulo r et h2=c'*28t*h modulo r ;
4) Calculer le point P= hι.G+ h2. ;
5) Calculer le point Z=h. ;
6) Pour j allant de 0 à 28t-l, exécuter les étapes suivantes :
6)a) Si P=0 , exécuter l'étape 6 ) ) ; 6)b) Associer au point P l'entier i et calculer l'entier fι=c-i modulo r ; 6)c) Retrouver le message mi à partir de fi et vérifier que fi=R ( mi ) ; si oui, exécuter l'étape
6)d) Remplacer P par P+Z ;
7) La signature n'est pas valide et le procédé est terminé ;
8) Si l'entier c=c'*28t+j n'appartient pas à l'intervalle [ 1 , r - 1 ] , la signature n'est pas valide ; sinon la signature est valide et le procédé est terminé .
Le dixième procédé de l'invention consiste en une modification du schéma de signature avec reconstitution partielle du message précédemment décrit, qui consiste à remplacer la signature (c,d) par la signature (h2,d) avec h2=c*d_1 modulo r. L'avantage de ce dixième procédé est de permettre une réduction du temps de calcul lorsque ce procédé est appliqué à l'un quelconque des procédés définis précédemment.
Le onzième procédé de l'invention consiste en une amélioration du schéma de signature de Nyberg-Rueppel rappelé précédemment, et consiste à inclure une partie du message de taille t octets dans l'entier d défini précédemment, t étant un entier petit, ainsi qu'à utiliser une autre fonction de redondance. Dans ce procédé, les t octets de poids faible de l'entier d contiennent t octets du message. Le onzième procédé utilise une courbe elliptique formant une structure de groupe dont l'élément zéro est noté O et un point G de la courbe, lequel point G est générateur d'un sous- groupe d'ordre un nombre premier r. La clé privée est un entier positif s inférieur à r et la clé publique est le point = s . G . Le procédé de génération de a signature d'un message m utilise les paramètres entiers t, a, et k et comporte les sept étapes suivantes :
1) Calculer h=H (m) , H étant une fonction de hachage ;
2) Enlever les t octets de poids faible et les k octets de poids fort du message m et mémoriser le résultat dans m' ; 3) Mémoriser dans f le résultat de la concaténation à m' des a octets de poids fort de h ;
4) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u.G ;
5) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 4) si c=0 ;
6) Calculer l'entier d=u-s*c modulo r ; si d n'est pas égal à m modulo 28t retourner à l'étape 4) ;
7) La signature est le couple d'entiers (c,d) .
Le procédé de vérification de la signature comporte les sept étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+c. ; si P=0, la signature n'est pas valide ;
3) Associer au point P l'entier i ;
4) Calculer l'entier f=c-i modulo r ; 5) Concaténer au message m' obtenu à partir de f en enlevant les a octets de poids faible les t octets de poids faible de d ;
6) Pour b allant de 0 à 28k-l répéter l'étape suivante : 6)a) Concaténer à b le message m' pour obtenir m et calculer h=H ( m ) ; Vérifier que les a octets de poids fort de h et les a octets de poids faible de f sont identiques ; si oui, la signature du message m est valide et le procédé est terminé ; 7) La signature n'est pas valide.
Les procédés décrits permettent donc de réduire de façon significative la taille totale de la signature et du message à transmettre. Lorsque la place en mémoire est limitée, il est ainsi possible de stocker un plus grand nombre de signatures. En outre, il est également possible de réaliser une transmission plus rapide des signatures. Ces procédés sont particulièrement destinées à être mises en place dans des dispositifs portables, par exemple de type carte à puce.

Claims

REVENDICATIONS
1- Procédé de signature électronique comprenant un procédé de génération et un procédé de vérification permettant un reconstitution totale du message, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif inférieur à r, la clé publique étant le point W=s.G, ledit procédé utilisant une constante entière k non nulle, caractérisé en ce que le procédé de génération de signature comporte les 4 étapes suivantes :
1) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u . G ;
2) Associer au point V un entier i et calculer c=i+f modulo r ; si c=0, retourner à l'étape 1) ;
3) Calculer l'entier d=u_1* ( k+ s * c ) modulo r ; si d=0, retourner à l'étape 1) ; 4) La signature est la paire d'entiers (c,d) ;
et en ce que le procédé de vérification de la signature comporte les 6 étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer les entiers h= d"1 modulo r, hι=k*h modulo r et h2=c*h modulo ; 3) Calculer le point P= hχG+ h2 ; si P=0, la signature n'est pas valide ;
4) Associer au point P un entier i ;
5) Calculer l'entier f=c - i modulo r ; 6) Retrouver le message m à partir de f et vérifier que f=R (m) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
2- Procédé de signature électronique comprenant un procédé de génération et un procédé de vérification de signature permettant une reconstitution partielle du message, le message m à signer étant divisé en deux parties, la première partie mi de taille constante étant reconstituée à partir de la signature, la deuxième partie m2 étant transmise avec la signature du message, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif inférieur à r et la clé publique étant le point =s.G, caractérisé en ce que le procédé de génération de la signature d'un message m constitué des messages mi et m2 comporte les 6 étapes suivantes :
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u.G ;
2) Calculer fι=R(mι) ; 3) Associer au point V un entier i et calculer c=i+ fx modulo r ; si c=0, retourner à l'étape 1 ;
4) Calculer f2=H(m2) , où H est une fonction de h a cha ge ;
5) Calculer l'entier d=u_1*( f2+s*c) modulo r ; si d=0, retourner à l'étape 1 ;
6) La signature est le couple d'entiers (c,d) ; et en ce que le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m2 et comprend les 7 étapes sui antes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer f2=H(m2) , où H est une fonction de hachage ;
3) Calculer les entiers h= d-1 modulo r, hχ= f2*h modulo r et h2=c*h modulo r ;
4) Calculer le point P= hχG+ h2 ; si P=0, la signature n'est pas valide ; 5) Associer au point P l'entier i ;
6) Calculer l'entier fι=c-i modulo r ;
7) Obtenir le message irii à partir de fi et vérifier que fι=R(mι) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
3- Procédé de signature électronique comprenant un procédé de génération et un procédé de vérification de signature caractérisé en ce qu'il consiste à inclure une partie du message à l'intérieur de la signature en choisissant convenablement les données aléatoires utilisées lors de la génération de la signature.
4- Procédé de signature électronique comprenant un procédé de génération et un procédé de vérification de signature caractérisé en ce qu'il consiste à supprimer une partie des octets représentant la signature, la reconstitution complète de la signature s'effectuant durant la phase de vérification.
5- Procédé d'amélioration du schéma de signature de Nyberg-Rueppel selon la re endication 3 comprenant un procédé de génération et un procédé de vérification et consistant à inclure une partie du message de taille t octets dans l'entier d, t étant un entier petit, la signature étant le couple d'entiers (c,d), les t octets de poids faible de l'entier d contenant t octets du message, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif s inférieur à r et la clé publique étant le point =s.G, caractérisé en ce que le procédé de génération de la signature d'un message m comporte les 5 étapes suivantes :
1) Enlever les t octets de poids faible du message m et mémoriser le résultat dans m' ; calculer f=R(m' ) ;
2) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u . G ; 3) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 1) si c=0 ;
4) Calculer l'entier d=u-s*c modulo r ; si d n'est pas égal à m modulo 28t retourner à l'étape 2)
5) La signature est le couple d'entiers (c,d) ;
et en ce que le procédé de vérification de la signature comporte les 5 étapes suivantes : 1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+c. ; si P=0, la signature n'est pas valide ;
3) Associer au point P l'entier i ;
4) Calculer l'entier f=c-i modulo r ;
5) Obtenir le message m' à partir de f et vérifier que f=R ( m' ) ; si ce n'est pas le cas, la signature n'est pas valide ; si c'est le cas, la signature est valide et le message m est la concaténation au message m' des t octets de poids faible de l'entier d.
6- Procédé de pré- trait ement de la génération de signature selon la revendication 5 permettant d'accélérer la génération des signatures, ledit procédé comprenant une phase de pré- traitement et une phase de génération de la signature, ladite phase de pré- trait ement prenant en entrée la clé secrète s et consistant à mettre en mémoire dans une table un grand nombre de valeurs (i, xu) avec xu=u-s*i modulo r et i étant l'entier associé au point V=u.G, de telle sorte que ces valeurs puissent être accédees par le reste de xu modulo 28t, ladite phase de génération de signature utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif s inférieur à r et la clé publique étant le point =s.G, ladite phase de génération de la signature étant caractérisé par les 8 étapes suivantes: 1) Enlever les t octets de poids faible du message m et mémoriser le résultat dans m' ; calculer f=R(m') ; les t octets de poids faible du message m sont mémorisés dans l'entier δ.
2) Calculer l'entier y=s*f modulo r et l'entier λ=y modulo 28t ;
3) Si y<r/2, exécuter d'abord l'étape 4 et ensuite l'étape 5, sinon exécuter d'abord l'étape 5 et ensuite l'étape 4 ;
4) Accéder aux éléments de la table dont le reste modulo 28t est λ+δ modulo 28t et sélectionner un élément tel que xu est supérieur ou égal à y ; si un tel élément existe, il est supprimé de la table et le procédé passe à l'étape 6) ;
5) Accéder aux éléments de la table dont le reste modulo 28t est λ+δ+r modulo 28t et sélectionner un élément tel que xu est inférieur à y ; si un tel élément existe, il est supprimé de la table et le procédé passe à l'étape 6) ;
6) Calculer l'entier d= xu-y modulo r ;
7) Obtenir l'entier i associé à xu et calculer c=i+f modulo r ;
8) La signature est le couple d'entiers (c,d) .
7- Procédé d'amélioration du schéma de signature avec reconstitution partielle du message selon la revendication 2, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé consistant à inclure une partie du message de taille t octets dans l'entier d défini précédemment, t étant un entier petit, les t octets de poids faible de l'entier d contenant t octets du message, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif inférieur à r et la clé publique étant le point W=s.G, caractérisé en ce que le procédé de génération de la signature d'un message m constitué des messages mi et m2 comporte les 6 étapes suivantes :
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u . G ; 2) Calculer fι=R(πn) ;
3) Associer au point V un entier i et calculer c=i+ fi modulo r ; si c=0, retourner à l'étape 1 ;
4) Calculer f2=H(m2) , où H est une fonction de hachage ; 5) Calculer l'entier d=u_1*( f2+s*c) modulo r ; si d=0 ou si d n'est pas égal à m2 modulo 28t retourner à l'étape 1 ) ;
6) La signature est le couple d'entiers (c,d) et le message à transmettre est m' 2 consistant en m2 privé de ses t octets de poids faible ;
et en ce que le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m' 2 et comprend les 8 étapes suivantes : 29
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l] , la signature n'est pas valide ;
2) Compléter m' 2 en m2 en lui ajoutant les t octets de poids faible de d ;
3) Calculer f2=H(m2) , où H est une fonction de h a ch a ge ;
4) Calculer les entiers h= d"1 modulo r, hχ= f2*h modulo r et h2=c*h modulo r ;
5) Calculer le point P= hxG+ h2 ; si P=0, la signature n'est pas valide ;
6) Associer au point P l'entier i ;
7) Calculer l'entier fι=c-i modulo r ;
8) Obtenir le message rrtι à partir de fi et vérifier que fι=R(ιrtι) ; si oui, la signature du message m est valide ; sinon, la signature n'est pas valide.
8- Procédé consistant à enlever t octets de la chaîne d'octets représentant l'entier d lorsque la signature est le couple d'entiers (c,d), ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé s'appliquant au schéma de signature de Nyberg et Rueppel, caractérisé en ce que le procédé modifié de génération de signature comporte les 2 étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature de Nyberg et Rueppel, pour obtenir le couple d'entiers (c,d) ; 2) Calculer d', quotient entier de la division de l'entier d par 28t ; la signature est le couple d'entiers ( c , d ' ) ;
et en ce que le procédé modifié de vérification de signature prend en entrée un couple (c,d') et comporte les 5 étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer le point P=d ' * 28t . G+ c . W ;
3) Pour j allant de 0 à 28t-l, exécuter les étapes suivantes :
3)a) Si P=0, exécuter l'étape 3)d) ; 3)b) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
3)c) Retrouver le message m à partir de f et vérifier que f=R ( m ) ; si oui, exécuter l'étape 5) ; 3)d) Remplacer P par P+G ; 4) La signature n'est pas valide et le procédé est terminé ;
5) Si l'entier d=d'*28t+j n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ; sinon la signature est valide et le procédé est terminé .
9- Procédé consistant à enlever t octets de la chaîne d'octets représentant l'entier d lorsque la signature est le couple d'entiers (c,d), ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé au schéma de signature avec reconstitution partielle du message selon la revendication 2, caractérisé en ce que le procédé modifié de génération de signature comporte les 2 étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature avec reconstitution partielle du message précédemment décrit, pour obtenir le couple d'entiers (c,d) ;
2) Calculer d', quotient entier de la division de l'entier d par 28t ; la signature est le couple d'entiers (c,d') ;
et en ce que le procédé modifié de vérification de signature prend en entrée un couple (c,d' ) et un message m2 et comporte les 2 étapes suivantes :
1) Pour i allant de 0 à 28t-l, calculer l'entier d=d' *28t+i et exécuter le procédé de vérification de signature avec reconstitution partielle du message précédemment décrit, la signature à vérifier étant (c,d) ; si le procédé de vérification de signature reconnaît la signature (c,d) comme valide, la signature est valide, et le procédé est terminé ;
2) La signature n'est pas valide.
10- Procédé d'amélioration du schéma de Nyberg et Rueppel permettant d'augmenter de t octets la taille des messages à signer, t étant une variable entière, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif s inférieur à r et la clé publique étant le point =s.G, caractérisé en ce que le procédé de génération de la signature d'un message m comporte les 5 étapes suivantes:
1) Générer un nombre aléatoire u et calculer V=u . G ; 2) Obtenir le message m' en enlevant au message m les t octets de poids faible et calculer f=R(m') ;
3) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 1) si c=0 ou si i n'est pas égal à m modulo 28t ; 4) Calculer d=u-s*c modulo r ;
5) La signature est la paire d'entiers (c,d) ;
et en ce que le procédé de vérification de la signature comporte les 4 étapes suivantes:
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+ c. ; si P=0, la signature n'est pas valide ;
3) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
4) Retrouver le message m' à partir de f et vérifier que f=R(m) ; si oui, retrouver le message m en concaténant au message m' les t octets de poids faible de i ; la signature du message m est alors valide ; sinon, la signature n'est pas valide. 11- Procédé d'amélioration du schéma de signature avec reconstitution partielle du message selon la revendication 2, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé permettant d'augmenter de t octets la taille du message mi reconstitué à partir de la signature, t étant une variable entière, ledit procédé utilisant une fonction de redondance R, un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif inférieur à r et la clé publique étant le point =s.G, caractérisé en ce que le procédé de génération de la signature d'un message m comporte les 6 étapes suivantes :
1) Générer un entier aléatoire u compris entre 1 et r-1 et calculer V=u.G ; 2) Obtenir m' i en enlevant au message mi les t octets de poids faible ; calculer fi=R ( m' i ) ;
3) Associer au point V un entier i et calculer c=i+ fx modulo r ; si c=0 ou si i n'est pas égal à mx modulo 28t ; retourner à l'étape 1 ; 4) Calculer f2=H(m2) , où H est une fonction de ha cha ge ;
5) Calculer l'entier d=u_1*( f2+s*c) modulo r ; si d= 0 , retourner à l'étape 1 ;
6) La signature est le couple d'entiers (c,d)
et en ce que le procédé de vérification de la signature prend en entrée une paire d'entiers (c,d) et le message partiel m et comprend les 7 étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide ;
2) Calculer f2 =H(m2) , où H est une fonction de h a cha ge ;
3) Calculer les entiers h= d""1 modulo r, hχ= f2*h modulo r et h2=c*h modulo r ;
4) Calculer le point P= hχG+ h2 ; si P=0, la signature n'est pas valide ;
5) Associer au point P l'entier i ;
6) Calculer l'entier f^c-i modulo r ; 7) Obtenir le message m' i à partir de fi et vérifier que fι≈R(m'ι) ; si oui, obtenir itii en concaténant au message m' λ les t octets de poids faible de l'entier i ; la signature du message m est alors valide ; sinon, la signature n'est pas valide.
12- Procédé de pré- traitement des calculs permettant d'augmenter les performances des procédés selon les revendications 10 et 11, caractérisé en ce qu'il consiste à mettre en mémoire dans une table des couples d'entiers (u,i) de telle sorte que ces entiers soient accessibles par la valeur de i modulo 28t, t étant un paramètre entier.
13- Procédé d'amélioration du schéma de signature de Nyberg et Rueppel consistant à enlever t octets à l'entier c, t étant une variable entière, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, la signature étant constitué du couple d'entiers (c,d), caractérisé en ce que le procédé de génération de signature comporte les 2 étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature de Nyberg-Rueppel pour obtenir le couple d'entiers (c,d) ;
2) Calculer c', quotient entier de la division de l'entier c par 28t ; la signature est le couple d'entiers (c',d) ;
et en ce que le procédé de vérification de signature prend en entrée le couple d'entiers (c',d) et comporte les 5 étapes suivantes:
1) Si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ; 2) Calculer le point P=d.G+c'* 28t. ;
3) Pour j allant de 0 à 28t-l ; exécuter les étapes suivantes:
3)a) Si P=O , exécuter l'étape 3)d) ; 3)b) Associer au point P l'entier i et calculer l'entier f=c-i modulo r ;
3)c) Retrouver le message m à partir de f et vérifier que f=R(m) ; si oui, exécuter l'étape 5) ;
3)d) Remplacer P par P+ ; 4) La signature n'est pas valide et le procédé est terminé ; Si 1 ' entier c = c ' 28t+j n'appartient pas l'intervalle [l,r-l], la signature n'est pas valide, sinon la signature est valide et le procédé est terminé .
14- Procédé d'amélioration du schéma de signature avec reconstitution partielle du message selon la revendication 2 consistant à enlever t octets de l'entier c défini selon la revendication 2, t étant une variable entière, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, caractérisé en ce que le procédé de génération de signature comprend les deux étapes suivantes :
1) Générer la signature du message m en utilisant le schéma de signature avec reconstitution partielle du message pour obtenir le couple d'entiers (c,d) ;
2) Calculer c' , quotient entier de la division de l'entier c par 28t ; la signature est le couple d'entiers (c',d) ;
et en ce que le procédé de vérification de signature prend en entrée un couple d'entiers (c',d) et un message m2 et comprend les 8 étapes suivantes:
1) Si d n'appartient pas à l'intervalle fl,r-l], la signature n'est pas valide ;
2) Calculer f2 =H(m2) , où H est une fonction de ha ch age ;
3) Calculer les entiers h= d"1 modulo r, hx= f2*h modulo r et h2 = C *28t*h modulo r ; . 4) Calculer le point P= hx.G+ h2. ;
5) Calculer le point Z=h. ;
6) Pour j allant de 0 à 28t-l ; exécuter les étapes suivantes:
6)a) Si P=0, exécuter l'étape 6)d) ;
6)b) Associer au point P l'entier i et calculer l'entier fχ=c-i modulo r ;
6)c) Retrouver le message mi à partir de fi et vérifier que fι=R(mι); si oui, exécuter l'étape 8) ;
6)d) Remplacer P par P+Z ;
7) La signature n'est pas valide et le procédé est terminé ;
8) Si l'entier c=c'*28t+j n'appartient pas à l'intervalle [l,r-l], la signature n'est pas valide, sinon la signature est valide et le procédé est terminé .
15- Procédé de modification du schéma de signature avec reconstitution partielle du message selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à remplacer la signature (c,d) par la signature (h2,d) avec h2=c*d_1 modulo r.
16- Procédé d'amélioration du schéma de signature de Nyberg-Rueppel, ledit procédé comprenant un procédé de génération de la signature et un procédé de vérification de la signature, ledit procédé consistant à inclure une partie du message de taille t octets dans l'entier d, la signature étant le couple d'entiers (c,d) , t étant un entier petit, les t octets de poids faible de l'entier d contenant t octets du message, ledit procédé utilisant un ensemble possédant une structure de groupe d'ordre un nombre premier r, d'élément zéro noté O et de générateur le point G, la clé privée étant un entier positif s inférieur à r et la clé publique étant le point W=s.G, caractérisé en ce que le procédé de génération de la signature d'un message m utilisant les paramètres entiers t, a, et k et comporte les 7 étapes suivantes :
1) Calculer h=H(m), H étant une fonction de hachage ;
2) Enlever les t octets de poids faible et les k octets de poids fort du message m et mémoriser le résultat dans m' ; 3) Mémoriser dans f le résultat de la concaténation à m' des a octets de poids fort de h ;
4) Générer un nombre aléatoire u compris entre 1 et r-1 et calculer V=u.G ;
5) Associer au point V un entier i et calculer c=i+f modulo r ; retourner à l'étape 4) si c=0
6) Calculer l'entier d=u-s*c modulo r ; si d n'est pas égal à m modulo 28t retourner à l'étape 4) ;
7) La signature est le couple d'entiers (c,d) ;
et en ce que le procédé de vérification de la signature comporte les 7 étapes suivantes :
1) Si c n'appartient pas à l'intervalle [l,r-l] ou si d n'appartient pas à l'intervalle [0,r-l], la signature n'est pas valide ;
2) Calculer le point P=d.G+c.W ; si P=0, la signature n'est pas valide ; 3) Associer au point P l'entier i ;
4) Calculer l'entier f=c-i modulo r ;
5) Concaténer au message m', obtenu à partir de f en enlevant les a octets de poids faible, les t octets de poids faible de d ;
6) Pour b allant de 0 à 28k-l répéter l'étape suivante :
6)a) Concaténer à b le message m' pour obtenir m et calculer h=H ( m ) ; vérifier que les a octets de poids fort de h et les a octets de poids faible de f sont identiques ; si oui, la signature du message m est valide et le procédé est terminé ;
7) La signature n'est pas valide.
17- Procédé de génération et de vérification de signature électronique selon l'une quelconque des revendications précédentes caractérisé en ce que les opérations s'effectuent sur une courbe elliptique formant une structure de groupe et possédant au moins un point G, qui est générateur d'un sous-groupe d'ordre un nombre premier r.
18- Procédé de génération et de vérification de signature électronique selon l'une quelconque des revendications précédentes caractérisé en ce que les opérations s'effectuent dans le groupe multiplicatif des entiers modulo un nombre premier p.
19- Procédé de génération et de vérification de signature électronique selon l'une quelconque des revendications précédentes caractérisé en ce que les opérations s'effectuent dans un sous-groupe multiplicatif d'ordre un entier premier r du groupe multiplicatif des entiers modulo un nombre premier p a ve c r divisant p-1.
20- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif effectuant le test est un dispositif portable .
21- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif est une carte à puce.
22- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif est une carte sans contact.
23- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif est une carte PCMCIA.
24- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif est un badge.
25- Dispositif électronique selon l'une quelconque des revendications précédentes caractérisé en ce que le dispositif est une montre intelligente.
EP00953227A 1999-07-30 2000-07-12 Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message Withdrawn EP1205051A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9910106 1999-07-30
FR9910106A FR2797127B1 (fr) 1999-07-30 1999-07-30 Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message
PCT/FR2000/002024 WO2001010078A1 (fr) 1999-07-30 2000-07-12 Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message

Publications (1)

Publication Number Publication Date
EP1205051A1 true EP1205051A1 (fr) 2002-05-15

Family

ID=9548870

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00953227A Withdrawn EP1205051A1 (fr) 1999-07-30 2000-07-12 Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message

Country Status (5)

Country Link
EP (1) EP1205051A1 (fr)
CN (1) CN1377539A (fr)
AU (1) AU6575300A (fr)
FR (1) FR2797127B1 (fr)
WO (1) WO2001010078A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249259B1 (en) 1999-09-07 2007-07-24 Certicom Corp. Hybrid signature scheme
FR2829333B1 (fr) * 2001-09-05 2004-12-10 Gemplus Card Int Procede de reduction de la taille d'une signature rsa ou rabin
CA2698000C (fr) 2007-09-04 2015-10-27 Blackberry Limited Signatures avec recuperation de message confidentiel
CN111030823A (zh) * 2019-10-24 2020-04-17 梁胤豪 超轻量级多次签名的数据处理方法、系统、物联网平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69327238T2 (de) * 1993-08-17 2000-09-07 Entrust Technologies ( Switzerland) Ltd. Liab. Co., Glattzentrum Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0110078A1 *

Also Published As

Publication number Publication date
AU6575300A (en) 2001-02-19
CN1377539A (zh) 2002-10-30
FR2797127B1 (fr) 2001-10-12
WO2001010078A1 (fr) 2001-02-08
FR2797127A1 (fr) 2001-02-02

Similar Documents

Publication Publication Date Title
EP0311470B1 (fr) Procédés et systèmes d&#39;authentification d&#39;accréditations ou de messages à apport nul de connaissance et de signature de messages
EP1441313B1 (fr) Procédé cryptographique à clé publique pour la protection d&#39; une puce électronique contre la fraude
EP2446579B1 (fr) Procédé d&#39;authentification mutuelle d&#39;un lecteur et d&#39;une étiquette radio
FR2713419A1 (fr) Procédé de génération de signatures DSA avec des appareils portables à bas coûts.
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
EP0818094A1 (fr) Procede de communication cryptographique asymetrique, et objet portatif associe
EP1166496A1 (fr) Procede d&#39;authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
EP1738517B1 (fr) Procedes et dispositifs cryptographiques sans transfert de connaissance
EP0909495B1 (fr) Procede de cryptographie a cle publique
EP1419610A1 (fr) Procede de realisation d&#39;une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
EP0461983B1 (fr) Procédé de transfert de secret, par échange de deux certificats entre deux microcalculateurs s&#39;authentifiant réciproquement
FR2788909A1 (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
EP1205051A1 (fr) Schemas de signature a base de logarithme discret avec reconstitution partielle ou totale du message
FR2716058A1 (fr) Procédé de signature numérique et d&#39;authentification de messages utilisant un logarithme discret.
EP1145473B1 (fr) Procédé, système, dispositif destinés à prouver l&#39;authenticité d&#39;une entité et/ou l&#39;integrité et/ou l&#39;authenticité d&#39;un message aux moyens de facteurs premiers particuliers
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
EP1325584A1 (fr) Procede d&#39;encodage de messages longs pour schemas de signature electronique a base de rsa
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
EP1829279A2 (fr) Procede et dispositif d&#39;execution d&#39;un calcul cryptographique
FR2811442A1 (fr) Procede de generation d&#39;une cle electronique a partir d&#39;un nombre premier compris dans un intervalle determine et dispositif de mise en oeuvre du procede
FR2877788A1 (fr) Procede de generation de signature avec preuve de securite &#34;tight&#34;, procede de verification et schema de signature associes bases sur le modele de diffie-hellman
EP1199628B1 (fr) Unité de calcul dans laquelle on détermine l&#39;inverse d&#39;un entier modulo un grand nombre
FR3027752A1 (fr) Protection de signatures numeriques basees sur le probleme du logarithme discret
FR2734679A1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
WO2006045660A2 (fr) Procede de generation de signature a la volee avec preuve de securite

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: 20020228

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

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