WO1999033220A1 - Procede de signature numerique - Google Patents

Procede de signature numerique Download PDF

Info

Publication number
WO1999033220A1
WO1999033220A1 PCT/FR1998/002680 FR9802680W WO9933220A1 WO 1999033220 A1 WO1999033220 A1 WO 1999033220A1 FR 9802680 W FR9802680 W FR 9802680W WO 9933220 A1 WO9933220 A1 WO 9933220A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
signature
digital signature
function
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.)
Ceased
Application number
PCT/FR1998/002680
Other languages
English (en)
Inventor
Antoine Joux
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.)
Direction General de lArmement DGA
Original Assignee
Direction General de lArmement DGA
Delegation Generale pour lArmement
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 Direction General de lArmement DGA, Delegation Generale pour lArmement filed Critical Direction General de lArmement DGA
Priority to DE69831792T priority Critical patent/DE69831792T2/de
Priority to EP98959943A priority patent/EP0963638B1/fr
Priority to CA002273632A priority patent/CA2273632C/fr
Priority to IS5043A priority patent/IS5043A/is
Publication of WO1999033220A1 publication Critical patent/WO1999033220A1/fr
Priority to NO19993402A priority patent/NO323723B1/no
Priority to NO993942A priority patent/NO993942D0/no
Anticipated expiration legal-status Critical
Ceased 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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 subject of the present invention is in particular a method for generating a digital signature (c, d) of a message M as well as a method for authenticating such a signature.
  • the digital signature processes aim to certify the origin of an electronic document. Similar to a handwritten signature, a digital signature is attached to an electronic message to guarantee its authenticity.
  • an entity A of a communication system wishes to address a message M to an entity B.
  • the emitter A After having written its message, performs a set of mathematical operations depending on the message M to be signed and operands which can be both secret and public. These calculations will generate a digital entity that will be called the signature.
  • the message M, as well as its signature are then transmitted electronically.
  • the recipient B In a second phase, after receiving the message and the signature, the recipient B in turn performs mathematical operations. The result of these last calculations makes it possible to verify the validity of the signature received.
  • the purpose of the signature function is to ensure the authentication of a message M and not to ensure the confidentiality of its content. This message can therefore be transmitted either in plain text or transmitted in encrypted form by an encryption function completely independent of the signature mechanism.
  • a first type developed by Rivest-Shamir-Adelman, is based on the difficulty of factoring large whole numbers (see “A method for obtaining digital signatures and public key cryptosystems", Communications of the ACM, February 1978, Volume 21, N ° 2, pp. 120-126, and the American patent 4,405,829 which refers to it).
  • Taher El-Gamal offers signature algorithms based on the discrete logarithm problem involving discrete exponentiation (see "A Public Key Cryptosystem and a signature scheme based on discrete logarithms" IEEE Trans. On Inform Theory, vol IT-31, pp. 469-472, July 1985).
  • the discrete exponentiation has three arguments, the basis of the exponentiation g, the exponent x and the modulo N.
  • Y g x modulo N
  • Y is the remainder of the division of g x by N
  • the digital signature thus generated is small.
  • the discrete exponentiation can be, depending on the case, either a modular exponentiation in which one then works with integers with for modulo a well chosen number, or a multiplication by an integer on an elliptical curve which is an operation similar to a modular exponentiation, but which is defined on a group noted additively and not multiplicatively.
  • the cardinal of the group in which one works must be known.
  • the cardinal of this group is a function of the choice of modulo N.
  • N is a product of two prime numbers.
  • El-Gamal proposes to choose N so that (Nl) / 2 is prime and the divider retained is (Nl).
  • the second possibility concerns algorithms based on discrete exponentiation where a subgroup must be known as well as its cardinal, the cardinal of this subgroup being a divisor of Nl if N is prime, or a divisor of the number of points on the curve in the case of an elliptical curve.
  • Schnorr proposes to choose q as the cardinal of the subgroup, q being such that it divides Nl.
  • the invention alleviates these drawbacks by proposing a method capable of reducing the complexity of the calculations and making it possible to work in real time with a computer of the PC type.
  • a method of generating a digital signature (c, d) of a message M consists in:
  • the message M is hashed by a function h ⁇ _ before being hashed by the function H and then concatenated with u, the functions h ⁇ _ and H possibly being identical.
  • the private key x is defined before the public key Y, the latter then being calculated by the relation:
  • the public key Y is defined before the private key x, and in that the modulo N is chosen not prime.
  • the number r is a random number.
  • the invention further relates to a method for authenticating the digital signature (c, d) of a message M generated according to the invention, this method being characterized in that it consists, knowing the public key Y, the modulo N and the base g and the hash function H therefore the value of S, to:
  • the message M is hashed by the function hl before being hashed by the function H and then concatenated with u.
  • FIG. 1 shows a diagram of a method for generating a signature
  • FIG. 2 shows a diagram of a method for authenticating a digital signature generated according to the method shown in FIG. 1.
  • FIG. 2 presents a diagram of a method for authenticating a digital signature generated according to the method shown in FIG. 1.
  • the method according to the invention is, inter alia, used to generate and verify the signature of a message M.
  • an authority guaranteeing security within the communication system, sets the following general parameters:
  • modulo N The size of this modulo is fixed by considerations linked to the security of the algorithm (today, 1024 bits is a good choice). This modulo can be common to several users (possibly in large numbers) within the cryptosystem. Depending on the variants, this may or may not be a prime number, an elliptical curve, or more generally a group for which the discrete exponentiation is difficult to reverse.
  • the base g It is a generator of the subgroup of the group determined by the modulo N (modulo number N, point on the elliptic curve, element of the group chosen).
  • the generated subgroup must be of great cardinality (> 2 S , where S is the size of the result of H, the hash function explained below), but it is not necessarily the whole modulo group N.
  • N g may be common to several users.
  • the cardinality must be high but its knowledge is not necessary for the signature and verification algorithms. It is then possible to work with exponentiation as a basic operation and at the same time to choose N as the product of prime numbers.
  • the parameters N and g are general parameters fixed once and for all and common to groups of users. They do not have a secret character because their simple knowledge does not allow to thwart the security of the algorithm.
  • the person responsible for the cryptosystem associates each user with a pair of keys which are specific to him.
  • the key x is called the private key and Y the public key.
  • the key x must only be known by its user. Only he uses it during the signature generation phase.
  • the Y key is public. It is specific to the sender A of the message. Each user, when he receives a message from A, is informed of the identity of the sender. Using a directory of keys, he can therefore find the key Y which is associated with the sender of the message and use it in the verification phase of the signature.
  • the key Y specific to entity A is therefore used both by entity A and by entity B.
  • the two keys are linked by the fact that Y is the result of discrete exponentiation based on g, for exponent x and for modulo N. They are linked by the following relation:
  • the private key is known to the user of the key and to him alone. If the private key is disclosed, the problem of the discrete logarithm disappears and the system is no longer secure.
  • This variant makes it possible to use small private keys (160 bits for example), and to work on an elliptical curve without the need to calculate the cardinality of this curve beforehand.
  • the authority responsible for the cryptosystem imposes a hash function H, common to all users.
  • the message M is possibly transformed by any hash function h ⁇ to give the result m.
  • the hash of the concatenation of m and u is hashed using the hash function H.
  • H hash function
  • the message M After reception of the signature (c, d) and of the message M which corresponds to it, the message M can be hashed by the hash function h ] _.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)
  • Control Of Steam Boilers And Waste-Gas Boilers (AREA)

Abstract

La présente invention a notamment pour objet un procédé de génération d'une signature numérique (c, d) d'un message M ainsi qu'un procédé d'authentification d'une telle signature. Elle a ainsi notamment pour objet un procédé de génération d'une signature numérique (c, d) d'un message M consistant à: définir un modulo N et une base g, une clé publique Y et une clé privée x, ces paramètres N, g, Y et x étant liés par la relation: Y = g<x> (mod N), à définir une fonction de hachage H dont la taille du résultat comporte S bits; à choisir un nombre r de T bits avec T >= 2S; à calculer u d'après la relation suivante: u=g<r> * Y<z> où Z=2<S>; à hacher par la fonction H la concaténation de M et u, le nombre ainsi obtenu étant la valeur c de la signature; à calculer la valeur d de la signature par la relation: d=r+c*x.

Description

Procédé de signature numérique
La présente invention a notamment pour objet un procédé de génération d'une signature numérique (c,d) d'un message M ainsi qu'un procédé d'authentification d'une telle signature. Les procédés de signature numérique visent à certifier l'origine d'un document électronique. De manière similaire à une signature manuscrite, une signature numérique est jointe à un message électronique pour garantir son authenticité. Considérons le cas pratique où une entité A d'un système de communication désire adressé un message M à une entité B. Dans une première phase de génération de la signature, l'émetteur A, après avoir écrit son message, effectue un ensemble d'opérations mathématiques fonction du message M à signer et d'opérandes qui peuvent aussi bien être secrètes que publiques. Ces calculs vont permettre de générer une entité numérique que l'on appellera la signature. Le message M, ainsi que sa signature, sont ensuite transmis électroniquement. Dans une seconde phase, après réception du message et de la signature, le destinataire B effectue à son tour des opérations mathématiques. Le résultat de ces derniers calculs permet de vérifier la validité de la signature reçue. Il est à noter que le but de la fonction de signature est d'assurer l'authentification d'un message M et non pas d'assurer la confidentialité de son contenu. Ce message peut donc être transmis soit en clair, soit transmis en chiffré par une fonction de chiffrement complètement indépendante du mécanisme de signature.
Globalement, un procédé de signature numérique permet, dans un système de communication moderne, de :
(a) Authentifier de manière certaine l'identité de 1 ' émetteur du message.
(b) Assurer l'intégrité du contenu d'un message (on vérifie que le message n'a pas été altéré durant sa transmission) .
Dans les procédés de signature numérique, la sécurité est fondée sur l'extrême difficulté pour inverser certaines fonctions mathématiques. En effet, étant donné la puissance
FEUILLE DE REMPLACEMENT (REGLE 25) de calcul actuelle des ordinateurs, il est aujourd'hui impossible de résoudre certaines de ces équations sans connaître les éléments secrets de l'algorithme.
A ce jour il existe plusieurs types de procédés de signature numérique.
Un premier type, développé par Rivest-Shamir-Adelman, repose sur la difficulté de factoriser des nombres entiers de grande taille (voir "A method for obtaining digital signatures and public key cryptosystems" , Communications of the ACM, Février 1978, Volume 21, N° 2, pp. 120-126, et le brevet américain 4,405,829 qui s'y réfère).
Un deuxième type développé par Taher El-Gamal propose des algorithmes de signature fondés sur le problème du logarithme discret faisant intervenir une exponentiation discrète (voir "A Public Key Cryptosystem and a signature scheme based on discrète logarithms" IEEE Trans . on Inform Theory, vol IT-31, pp. 469-472, juillet 1985).
L'exponentiation discrète comporte trois arguments, la base de l'exponentiation g, l'exposant x et le modulo N. Le problème du logarithme discret consiste, étant donné la relation mathématique: Y = gx modulo N (qui signifie : Y est le reste de la division de gx par N) , à retrouver x lorsque l'on connaît N, g et Y. Un procédé du même type mais plus simple a été divulgué par Schnorr et a fait l'objet du brevet US 4,995,082. Il se distingue de celui de El-Gamal par le fait qu'il consiste à réduire la taille des exposants des exponentiations discrètes pour accélérer les calculs. Pour cela, un élément g engendre un sous-groupe d'ordre q, avec q sur 160 bits par exemple. De plus, une fonction de hachage est utilisée dans le calcul de la signature.
La signature numérique ainsi générée est de petite taille.
D'une manière générale, l'exponentiation discrète peut être, selon les cas, soit une exponentiation modulaire dans laquelle on travaille alors avec des entiers avec pour modulo un nombre bien choisi, soit une multiplication par un entier sur une courbe elliptique qui est une opération similaire à une exponentiation modulaire, mais qui est définie sur un groupe noté additivement et non multiplicativement .
Dans de nombreuses applications, la signature numérique ainsi que sa vérification doivent être réalisées en temps réel. Certains procédés, comme celui de El-Gamal nécessitent de lourds investissements matériels car les algorithmes requièrent des machines très puissantes. Pour se soustraire à ces contraintes matérielles, l'optimisation des algorithmes permet d'alléger la complexité des calculs tout en conservant une sécurité comparable.
La solution de l'exponentiation discrète est aujourd'hui la plus utilisée dans les systèmes cryptographiques et certaines améliorations ont été apportées sur les algorithmes pour augmenter la rapidité des temps de calcul tout en conservant une sécurité maximale.
Dans cette perspective, réduire la taille (le nombre de bits) de l'exposant est très important car le temps de calcul de l'exponentiation modulaire est proportionnel à cette taille.
D'autre part, dans les algorithmes connus à ce jour, le cardinal du groupe dans lequel on travaille doit être connu. Le cardinal de ce groupe est fonction du choix du modulo N. La sécurité de l'algorithme reposant sur l'exponentiation discrète, il est nécessaire de rendre impossible sa résolution. Cette sécurité implique certaines contraintes sur le choix du modulo N.
Dans le cas d'une exponentiation modulaire, la sécurité de l'exponentiation discrète n'offrait, selon l'état de la technique connue, que deux possibilités sur le choix du modulo N. Dans le cadre de la première possibilité, N est un produit de deux nombres premiers. El-Gamal propose de choisir N de telle sorte que (N-l)/2 soit premier et le diviseur retenu est (N-l) . La deuxième possibilité concerne les algorithmes à base d'exponentiation discrète où un sous-groupe doit être connu ainsi que son cardinal, le cardinal de ce sous-groupe étant un diviseur de N-l si N est premier, ou un diviseur du nombre de points sur la courbe dans le cas d'une courbe elliptique. Schnorr propose de choisir q comme cardinal du sous-groupe, q étant tel qu'il divise N-l.
L'invention pâlie ces inconvénients en proposant un procédé apte à diminuer la complexité des calculs et permettant de travailler en temps réel avec un ordinateur du type PC.
Elle remédie en outre aux limitations précitées, le choix du modulo N n'étant plus limité aux deux possibilités précitées ou le calcul du nombre de point sur la courbe elliptique n'étant plus nécessaire.
Pour cela, un procédé de génération d'une signature numérique (c,d) d'un message M consiste à :
- définir un modulo N et une base g, une clé publique Y et une clé privé x, ces paramètres N, g, Y et x étant lié par la relation :
Y=gx (mod N)
- à définir une fonction de hachage H dont la taille du résultat comporte S bits
- à choisir un nombre r de T bits avec T>= 2S
-à calculer u d'après la relation suivante : u=gr * Yz où Z=2S
- à hacher par la fonction H la concaténation de M et u, le nombre ainsi obtenu étant la valeur c de la signature,
- à calculer la valeur d de la signature par la relation: d=r+c*x.
Selon une caractéristique additionnelle permettant encore de réduire les temps de calcul, le message M est haché par une fonction hι_ avant d'être haché par la fonction H puis concaténé avec u, les fonctions hη_ et H pouvant éventuellement être identiques. Selon une caractéristique particulière, la clé privée x est définie avant la clé publique Y, cette dernière étant alors calculée par la relation :
Y=g (mod N)
Selon une autre caractéristique la clé publique Y est définie avant la clé privée x, et en ce que le modulo N est choisi non premier
Selon une autre caractéristique, le nombre r est un nombre aléatoire.
L'invention concerne en outre un procédé d'authentification de la signature numérique (c,d) d'un message M générée selon l'invention, ce procédé étant caractérisé en ce qu'il consiste, connaissant la clé publique Y, le modulo N et la base g et la fonction de hachage H donc la valeur de S, à :
- calculer u par la relation u=gd * γ(z-c) avec Z=2S
- à hacher par la fonction H la concaténation de M et u,
- .à vérifier que la valeur ainsi obtenue est égale -à c dans le cas où la signature est authentique.
Selon une caractéristique additionnelle de ce procédé, le message M est haché par la fonction hl avant d'être haché par la fonction H puis concaténé avec u.
D'autres avantages et caractéristiques de la présente invention apparaîtront dans la description d'un mode particulier de réalisation de l'invention, au regard des figures annexées parmi lesquelles : la figure 1 montre un schéma d'un procédé de génération d'une signature numérique, - la figure 2 présente un schéma d'un procédé d'authentification d'une signature numérique générée selon le procédé montré à la figure 1. la figure 2 présente un schéma d'un procédé d'authentification d'une signature numérique générée selon le procédé montré à la figure 1.
Le procédé selon i ' invention est, entre autres, utilisé pour générer et vérifier la signature d'un message M. Indépendamment des phases de signature et de vérification de la signature, une autorité, garante de la sécurité au sein du système de communication, fixe les paramètres généraux suivants :
a) Le modulo N. La taille de ce modulo est fixée par des considérations liées à la sécurité de l'algorithme (aujourd'hui, 1024 bits est un bon choix). Ce modulo peut être commun à plusieurs utilisateurs (éventuellement en grand nombre) au sein du cryptosystème. Ce peut-être selon les variantes un nombre premier ou non, une courbe elliptique, ou plus généralement un groupe pour lequel 1 ' exponentiation discrète est difficile à inverser.
b) La base g. C'est un générateur du .sous-groupe du groupe déterminé par le modulo N (nombre modulo N, point sur la courbe elliptique, élément du groupe choisit) . Le sous- groupe engendré doit être de cardinalité grande (>2S, où S est la taille du résultat de H, la fonction de hachage explicitée dans la suite), mais ce n'est pas forcément tout le groupe modulo N. Tout comme N, g peut-être commun à plusieurs utilisateurs.
La cardinalité doit être grande mais sa connaissance n'est pas nécessaire aux algorithmes de signature et de vérification. Il est alors possible de travailler avec l'exponentiation comme opération de base et en même temps de choisir N comme produit de nombres premiers.
Les paramètres N et g sont des paramètres généraux fixés une fois pour toutes et communs à des groupes d'utilisateurs. Ils n'ont pas de caractère secret car leur simple connaissance ne permet pas de déjouer la sécurité de 1 ' algorithme. Le responsable du cryptosystème associe à chaque utilisateur une paire de clefs qui lui sont propres. La clef x est appelé clef privée et Y clef publique. La clef x ne doit être connue que par son utilisateur. Lui seul l'utilise lors de la phase de génération de la signature. La clé Y est publique. Elle est propre à l'émetteur A du message. Chaque utilisateur, lorsqu'il reçoit un message de A, est informé de l'identité de l'émetteur. A l'aide d'un annuaire des clefs, il peut donc retrouver la clef Y qui est associée à l'émetteur du message et l'utiliser dans la phase de vérification de la signature. La clef Y propre à l'entité A est donc utilisée à la fois par l'entité A et par l'entité B. Les deux clefs sont liées par le fait que Y est le résultat de l'exponentiation discrète ayant pour base g, pour exposant x et pour modulo N. Ils sont liés par la relation suivante :
Y = gx ( mod N )
Dans les deux options décrites ci-après et relatives au choix de x et de Y, la clef privée est connue de l'utilisateur de la clef et de lui seul. Si la clef privée est divulguée, le problème du logarithme discret disparaît et le système n'est plus sécurisé.
Selon la première option, les clés privée et publique sont choisies en fixant x de taille S bits (par exemple S = 160 si on choisit pour H le standard SHA) , puis on calcule Y avec la relation précédente. Cette variante permet d'utiliser des clefs privées de petite taille (160 bits par exemple) , et de travailler sur une courbe elliptique sans avoir besoin de calculer préalablement le cardinal de cette courbe.
Selon la deuxième option, on commence par fixer Y par exemple en le dérivant du nom de l'utilisateur (voir Maurer et Yacobi, Non-interactive public-key cryptography, EUROCRYPT" 91, Lecture Notes in Computet Science, Springer- Verlag, vol. 547, pages 498-507, 1991) puis on en déduit x par un calcul de logarithme discret modulo N. Cette méthode implique d'utiliser pour N un nombre non premier, N = pq, afin que le calcul de logarithme soit faisable. Elle impose également de ne pas disséminer la décomposition N = pq pour que le calcul ne puisse pas être réalisé par n'importe qui. Le procédé de signature présenté ici permet de ne pas révéler p et q contrairement aux autres procédés connus. En effet, dans ces derniers, il faut que chacun connaisse le cardinal du groupe multiplicatif modulo N, c'est à dire (p-1) (q-1) , or la connaissance de (p-1) (q-1) permet de retrouver p et q.
L'autorité responsable du cryptosystème impose une fonction de hachage H, commune à tous les utilisateurs.
Celle-ci est utilisée pour transformer tout nombre de taille quelconque en un nombre de S bits. Le choix de H et de S est indépendant de l'algorithme et on peut donc reprendre indifféremment toute fonction de hachage connue à ce jour. Cette phase préliminaire étant achevée, nous considérerons désormais deux entités A et B désirant établir une liaison sécurisée dans le système d'information. Dans la première étape, décrite d'après la figure 1, l'entité A va calculer une signature numérique , représentée par le couple (c,d), à partir du message M qu'elle désire transmettre à l'entité B. Cette étape de signature est entièrement réalisé par 1 ' entité A.
Le message M, potentiellement très long, est éventuellement transformé par une fonction de hachage h^ quelconque pour donner le résultat m.
On pose alors Z = 2S, S étant fixé par le choix de la fonction de hachage.
On choisit au hasard un nombre aléatoire r de T bits (avec T fixé et T >= 2S) On calcule le nombre u avec la relation suivante : u = grYz ( mod N ) On concatène les nombres m et u par une simple juxtaposition.
On hache le résultat de la concaténation de m et u à l'aide de la fonction de hachage H. On note c le nombre formé des S bits du résultat.
On calcule le nombre d par la relation suivante : d = r + ex Le couple (c,d) représente la signature du message. Cette signature est transmise en plus du message M à l'entité B.
Ici commence la deuxième étape, l'étape d'authentification de la signature qui est décrite au regard de la figure 2. Elle est entièrement réalisée par l'entité B.
Après réception de la signature (c,d) et du message M qui lui correspond, le message M peut être haché par la fonction de hachage h]_.
On pose alors Z - 2S, S étant fixé par le choix de la fonction de hachage.
On calcule le nombre v par la formule suivante : v = Z - c
On calcule le nombre u par la formule suivante : u = gdyV ( mod N ) On concatène les nombres m et u.
On hache sur S bits le résultat de la concaténation par la fonction de hachage H. Le résultat obtenu est noté c'.
On vérifie alors la signature envoyé par l'entité A. Si c=c ' , alors l'émetteur du message M ne peut être que l'entité A, sous réserve que la clé secrète x de l'entité A n'a pas été révélé. Dans le cas contraire, si c et c' sont différents, le message a été falsifié.

Claims

REVENDICATIONS
1 - Procédé de génération d'une signature numérique (c,d) d'un message M consistant à :
- définir un modulo N et une base g, une clé publique Y et une clé privé x, ces paramètres N, g, Y et x étant lié par la relation :
Y=gx (mod N) - à définir une fonction de hachage H dont la taille du résultat comporte S bits
- à choisir un nombre r de T bits avec T>= 2S
-à calculer u d'après la relation suivante : u=gr * Yz où Z=2S
- à hacher par la fonction H la concaténation de M et u, le nombre ainsi obtenu étant la valeur c de la signature,
- à calculer, la valeur d de la signature par la relation: d=r+c*x.
2 - Procédé de génération d'une signature numérique (c,d) d'un message M selon la revendication 1, caractérisé en ce que le message M est haché par une fonction hl avant d'être haché par la fonction H puis concaténé avec u.
3 - Procédé de génération d'une signature numérique (c,d) d'un message M selon la revendication 2, caractérisé en ce que les fonctions H et hl sont identiques.
4 - Procédé de génération d'une signature numérique (c,d) d'un message M selon l'une quelconque des revendication 1 et 3, caractérisé en ce que la clé privée x est définie avant la clé publique Y, cette dernière étant alors calculée par la relation : Y=gx (mod N)
5 - Procédé de génération d'une signature numérique (c,d) d'un message M selon l'une quelconque des revendication 1 et 3, caractérisé en ce que la clé publique Y est définie avant la clé privée x, et en ce que le modulo N est choisi non premier
6 - Procédé de génération d'une signature numérique (c,d) d'un message M selon l'une quelconque des revendication 1 à
5, caractérisé en ce que le nombre r est un nombre aléatoire.
7 Procédé d'authentification de la signature numérique (c,d) d'un message M générée selon un procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il consiste, connaissant la clé publique Y, le modulo N et la base g et la fonction de hachage H donc la valeur de S, à :
- calculer u par la relation u_=gd * γ(z-c) avec Z=2S
- à hacher par la fonction H la concaténation de M et u,
- à vérifier que la valeur ainsi obtenue est égale à c dans le cas où la signature est authentique.
8 Procédé d'authentification de la signature numérique (c,d) d'un message M selon la revendication 7, caracterj.se sτι ce que le message M est haché par la fonction hl avant d'être haché par la fonction H puis concaténé avec u.
9 - Procédé d'authentification de la signature numérique (c,d) d'un message M selon la revendication 8, caractérisé en ce que les fonctions H et hl sont identiques.
PCT/FR1998/002680 1997-12-18 1998-12-10 Procede de signature numerique Ceased WO1999033220A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE69831792T DE69831792T2 (de) 1997-12-18 1998-12-10 Verfahren zur digitalen unterschrift
EP98959943A EP0963638B1 (fr) 1997-12-18 1998-12-10 Procede de signature numerique
CA002273632A CA2273632C (fr) 1997-12-18 1998-12-10 Procede de signature numerique
IS5043A IS5043A (is) 1997-12-18 1999-04-30 Aðferð til að mynda stafræna undirskrift
NO19993402A NO323723B1 (no) 1997-12-18 1999-07-09 Fremgangsmate for a tilordne en numerisk signatur
NO993942A NO993942D0 (no) 1997-12-18 1999-08-17 Generering og autentisering av signaturer pÕ digital form

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR97/16061 1997-12-18
FR9716061A FR2773027B1 (fr) 1997-12-18 1997-12-18 Procede de signature numerique

Publications (1)

Publication Number Publication Date
WO1999033220A1 true WO1999033220A1 (fr) 1999-07-01

Family

ID=9514767

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/002680 Ceased WO1999033220A1 (fr) 1997-12-18 1998-12-10 Procede de signature numerique

Country Status (11)

Country Link
US (1) US6499104B1 (fr)
EP (1) EP0963638B1 (fr)
CA (1) CA2273632C (fr)
DE (1) DE69831792T2 (fr)
DK (1) DK0963638T3 (fr)
ES (1) ES2251111T3 (fr)
FR (1) FR2773027B1 (fr)
IS (2) IS5043A (fr)
NO (2) NO323723B1 (fr)
TR (1) TR199902021T1 (fr)
WO (1) WO1999033220A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452695C (zh) * 2002-11-29 2009-01-14 北京华大信安科技有限公司 椭圆曲线加密解密方法和装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040052230A (ko) * 2001-10-23 2004-06-22 마츠시타 덴끼 산교 가부시키가이샤 정보처리 장치
US20030221105A1 (en) * 2002-05-20 2003-11-27 Autodesk, Inc. Extensible mechanism for attaching digital signatures to different file types
US7240995B2 (en) * 2003-05-06 2007-07-10 Lexmark International, Inc. Method of authenticating a consumable
US8099791B1 (en) 2004-06-25 2012-01-17 Lexmark International, Inc. Method of authenticating a consumable in an imaging device
JP5437548B2 (ja) * 2004-11-15 2014-03-12 ハイデルベルガー ドルツクマシーネン アクチエンゲゼルシヤフト 電子制御システムにおける入力署名
US8666900B1 (en) * 2005-03-30 2014-03-04 Intuit Inc. Secure product enablement over channels with narrow bandwidth
US7854013B2 (en) * 2005-06-03 2010-12-14 Working Solutions International, Inc. Method for electronic data and signature collection, and system
US7774607B2 (en) * 2006-12-18 2010-08-10 Microsoft Corporation Fast RSA signature verification
US8082584B1 (en) 2007-10-16 2011-12-20 Mcafee, Inc. System, method, and computer program product for conditionally performing a scan on data based on an associated data structure
US8615649B2 (en) * 2010-09-21 2013-12-24 International Business Machines Corporation Use of a private key to encrypt and decrypt a message

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384475A1 (fr) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Procédé d'identification d'abonnés ainsi que de génération et de vérification de signatures électroniques dans un système d'échange de données

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
DE69017686D1 (de) * 1990-10-24 1995-04-13 Omnisec Ag Regensdorf Geheimübertragungssystem mit Möglichkeit zur verschlüsselten Kommunikation zwischen Benutzern mit gesichertem Schlüssel, welcher ohne Benutzereinwirkung bestimmt wird.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384475A1 (fr) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Procédé d'identification d'abonnés ainsi que de génération et de vérification de signatures électroniques dans un système d'échange de données
US4995082A (en) * 1989-02-24 1991-02-19 Schnorr Claus P Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452695C (zh) * 2002-11-29 2009-01-14 北京华大信安科技有限公司 椭圆曲线加密解密方法和装置

Also Published As

Publication number Publication date
TR199902021T1 (xx) 2000-02-21
FR2773027B1 (fr) 2000-04-07
DE69831792T2 (de) 2006-06-22
IS5132A (is) 1999-07-23
NO993402D0 (no) 1999-07-09
EP0963638A1 (fr) 1999-12-15
EP0963638B1 (fr) 2005-10-05
NO993402L (no) 1999-07-09
FR2773027A1 (fr) 1999-06-25
ES2251111T3 (es) 2006-04-16
CA2273632C (fr) 2006-11-21
NO993942D0 (no) 1999-08-17
NO323723B1 (no) 2007-06-25
DK0963638T3 (da) 2006-02-06
US6499104B1 (en) 2002-12-24
CA2273632A1 (fr) 1999-06-18
IS5043A (is) 1999-06-19
DE69831792D1 (de) 2005-11-10

Similar Documents

Publication Publication Date Title
Mallouli et al. A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms
EP3091689B1 (fr) Procédé de génération d&#39;une signature de message à partir d&#39;un jeton de signature chiffré à l&#39;aide d&#39;une fonction de chiffrement homomorphique
CA2235359C (fr) Programme implicite de certificat avec chainage de ca
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
Abubakar Cryptanalytic attacks on Rivest, Shamir, and Adleman (RSA) cryptosystem: issues and challenges
EP0963638B1 (fr) Procede de signature numerique
CN100388663C (zh) 用于检测一个键对和用于产生rsa键的方法和装置
Kak Lecture 12: Public-Key Cryptography and the RSA Algorithm
EP1815635B9 (fr) Groupes de diffie et hellman statiques sur demande
US20050089173A1 (en) Trusted authority for identifier-based cryptography
US6097813A (en) Digital signature protocol with reduced bandwidth
EP1145483B1 (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
Zheng Identification, signature and signcryption using high order residues modulo an RSA composite
EP0666664B1 (fr) Procédé de signature numérique et d&#39;authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
Awad et al. A NEW APPROACH COMBINING RSA AND ELGAMAL ALGORITHMS: ADVANCEMENTS IN ENCRYPTION AND DIGITAL SIGNATURES USING GAUSSIAN INTEGERS.
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
JP3935767B2 (ja) 準同型一方向性関数を用いた署名方法、装置及び署名検証方法、装置
Paillier et al. Self-escrowed public-key infrastructures
US20080019508A1 (en) Public key cryptographic methods and systems with rebalancing
JPH1084341A (ja) メッセージ付加形デジタル署名方法及びそれに対した検証方法
EP1820297A1 (fr) Procédé de génération de signature avec preuve de sécurité &#34;tight&#34;, procédé de vérification et schéma de signature associés basés sur le modèle de diffie-hellman
EP0854603A2 (fr) Génération de paramètres de session pour protocoles du type el-gamal
FR2734435A1 (fr) Procede de signature numerique a connaissance nulle, permettant d&#39;elaborer une signature resistant aux collisions

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 1998959943

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2273632

Country of ref document: CA

AK Designated states

Kind code of ref document: A1

Designated state(s): CA IS NO RU TR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1999/02021

Country of ref document: TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998959943

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1998959943

Country of ref document: EP