FR2793366A1 - Protocole de signature numerique a largeur de bande reduite - Google Patents
Protocole de signature numerique a largeur de bande reduite Download PDFInfo
- Publication number
- FR2793366A1 FR2793366A1 FR0007200A FR0007200A FR2793366A1 FR 2793366 A1 FR2793366 A1 FR 2793366A1 FR 0007200 A FR0007200 A FR 0007200A FR 0007200 A FR0007200 A FR 0007200A FR 2793366 A1 FR2793366 A1 FR 2793366A1
- Authority
- FR
- France
- Prior art keywords
- signature
- message
- function
- mod
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 58
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 17
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
La présente invention concerne un procédé d'authentification d'une signature d'un message m. Il comprend les étapes consistant à : (a) déterminer une représentation h (m) dudit message en appliquant une fonction univoque et en dériver une première composante de signature, (b) calculer une fonction liée mathématiquement à ladite représentation h (m) dudit message, (c) appliquer ladite fonction audit message pour obtenir une deuxième composante de signature, liée audit signataire, (d) envoyer à un récepteur lesdites composantes de signature, (e) récupérer à partir de ladite deuxième composante un message m', (f) calculer une valeur de m'en appliquant ladite fonction univoque, et (g) déterminer si ladite valeur de m'et ladite représentation h (m) incorporée dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique dudit message. L'invention concerne aussi un support d'ordinateur où deux correspondants (10, 12) échangent des informations par un canal (14), des unités cryptographiques (16, 18) étant interposées entre les correspondants et le canal.
Description
1 2793366
Une signature numérique est un élément d'information qui relie le créateur à un message. Des algorithmes de signature numérique, ou création de signature, sont des procédés de construction de signature. Des algorithmes de vérifications sont des procédés de contrôle et de vérification de l'authenticité d'une signature. Une méthode ou mécanisme de signature numérique consiste en un algorithme de création de signature et un algorithme de vérification de signature. Si l'algorithme de vérification exige le message comme entrée, la signature numérique est appelée une signature numérique à appendice. S'il n'exige pas le message, cette signature est appelée une signature numérique à
récupération de message.
L'exemple de méthode de signature numérique le mieux connu vient du système de chiffrage à clé publique RSA. Il donne une signature numérique à récupération de message. Nyberg et Rueppel ont récemment montré que la classe des signatures numériques appelée communément une méthode du type E1 Gamal peut être modifiée pour donner la propriété de
récupération de message.
L'un des inconvénients de toutes les méthodes connues de signatures numériques à récupération de message est que le message doit contenir une redondance suffisante pour éviter une attaque de contre- façon existentielle. Par exemple, la norme ISO/IEC 9796 est une norme internationale dont le but est de prescrire la manière dont des messages devraient être formés avant d'être signés par la technique RSA. Elle permet au maximum à la moitié des bits des messages d'être des bits d'information; le reste est réservé pour la redondance. Par conséquent, il faut une largeur de bande accrue pour traiter les messages.
2 2793366
C'est un but de la présente invention que de fournir une méthode de signature dans laquelle la
redondance nécessaire est réduite.
En termes généraux, la présente invention fournit une composante de signature pour un message qui utilise un hachage du message. Le message est combiné mathématiquement avec la clé privée du signataire et il peut donc être récupéré en utilisant la clé publique du signataire. Le récepteur reçoit le hachage du message et peut le comparer au hachage correspondant du message récupéré afin d'authentifier
la signature.
Selon un premier aspect, l'invention fournit un procédé d'authentification d'une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: (a) déterminer une représentation h(m) dudit message en appliquant une fonction univoque et en dériver une première composante de signature, (b) calculer une fonction liée mathématiquement à ladite représentation h(m) dudit message, (c) appliquer ladite fonction audit message pour obtenir une deuxième composante de signature, liée audit signataire, (d) envoyer à un récepteur lesdites composantes de signature, (e) récupérer à partir de ladite deuxième composante un message m', (f) calculer une valeur de m' en appliquant ladite fonction univoque, et (g) déterminer si ladite valeur de m' et ladite représentation h(m) incorporée dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique dudit
message.
3 2793366
Ladite fonction univoque peut être une fonction de hachage cryptographique, et en particulier ladite fonction de hachage peut alors être une
fonction de hachage SHA-1.
Selon un deuxième aspect, l'invention fournit un procédé d'authentification d'une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: (a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature em, (b) calculer une fonction dm liée mathématiquement audit hachage dudit message, telle que em dm = 1 mod (A(n)), (c) appliquer ladite fonction dm audit message pour obtenir une deuxième composante de signature Sm, liée audit signataire, telle que Sm = m m mod (\(n)), (d) envoyer à un récepteur lesdites composantes de signature (em, Sm), (e) récupérer à partir de ladite deuxième composante Sm un message m' o Sm m = m', (f) calculer une valeur de hachage de m' en appliquant ladite fonction de hachage, et (g) déterminer si ladite valeur de hachage de m' et ledit hachage h(m) incorporé dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique dudit message. Selon un troisième aspect, l'invention fournit un procédé d'authentification d'une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: (a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature,
4 2793366
(b) sélectionner un entier aléatoire k e (1, 2, * q - 1}, c) calculer une troisième composante de signature r telle que r = m ak (mod p), o a est un générateur d'un groupe cyclique G d'ordre q dans Zpq, et o q divise p - 1, (d) calculer une deuxième composante sm de signature liée mathématiquement audit hachage dudit message, telle que sm = arh(m) + k mod q, a étant une clé privée dudit signataire, (e) envoyer à un récepteur lesdites composantes de signature, (f) récupérer à partir desdites deuxième et troisième composantes de signature un message m', (g) calculer une valeur de m' en appliquant ladite fonction de hachage, et (h) déterminer si ladite valeur de hachage de m' et ladite représentation h(m) incorporée dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique
dudit message.
Selon un quatrième aspect, l'invention fournit un procédé d'authentification d'une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: (a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature, (b) sélectionner un entier aléatoire k e (1, 2, 30..q - 1), c) calculer une troisième composante de signature fonction r telle que r = m + x (mod n), o x est une coordonnée d'un point kP d'une courbe elliptique définie par y2 + xy = x3 + ax2 + b d'ordre n,
2793366
(d) calculer une deuxième composante sm de signature liée mathématiquement audit hachage dudit message, telle que sm = drh(m) + k mod q, d étant une clé privée de signature, (e) envoyer à un récepteur lesdites composantes de signature, (f) récupérer à partir desdites deuxième et troisième composantes de signature un message m', (g) calculer une valeur de m' en appliquant ladite fonction de hachage, et (h) déterminer si ladite valeur de hachage de m' et ladite représentation h(m) incorporée dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique
dudit message.
Selon un cinquième aspect, l'invention réalise un support lisible par un ordinateur dont le contenu amène un système d'ordinateur à engendrer une signature d'un message m, caractérisé en ce que le système d'ordinateur est pourvu d'un programme de génération de signature, comprenant les étapes consistant à: (a) déterminer une représentation h(m) dudit message en appliquant une fonction univoque et en dériver une première composante de signature, (b) calculer une fonction liée mathématiquement à ladite représentation h(m) dudit message, (c) appliquer ladite fonction audit message pour obtenir une deuxième composante de signature, liée audit signataire, (d) envoyer à un récepteur lesdites composantes de signature, lesdites composantes de signature incluant ledit message et une composante dépendant du message. Ce support peut inclure un programme de
vérification de signature.
6 2793366
Dans ce cas, ledit programme de vérification de signature peut comprendre les étapes consistant à: (a) récupérer à partir de ladite deuxième composante un message m', (b) calculer une valeur de m' en appliquant ladite fonction univoque, et (c) déterminer si ladite valeur de m' et ladite représentation h(m) incorporée dans ladite première composante de signature sont identiques, une telle identité indiquant une signature authentique dudit message. De telles nouvelles classes de signatures numériques réalisent une récupération de message et possèdent la particularité nouvelle qu'une redondance minimale est nécessaire dans le message à signer. Les économies de largeur de bande pourraient être très utiles dans certaines situations. Par exemple, pour une tierce partie sécurisée, qui peut être désignée aussi par les initiales TTP du terme anglo-saxon trusted third party, qui crée des certificats pour des entités dans un réseau, des exigences de largeur de bande posent un problème. Une tierce partie sécurisée qui utilise une méthode RSA à dimension de module de 1024 bits pour signer des messages de l'ordre de 1000
bits exige une largeur de bande qui dépasse 2000 bits.
Un mode de réalisation décrit ci-dessous fournit une méthode qui n'exigerait qu'un petit nombre de bits en
plus de cette dimension de message.
On va maintenant décrire à titre d'exemple seulement la présente invention en se référant aux dessins annexés dans lesquels: la Figure 1 est une représentation schématique
d'un système de communication de données.
En se référant donc à la Figure 1, une paire de correspondants 10, 12, appelés le correspondant A et le correspondant B échangent une information par un
7 2793366
canal 14 de communication. Une unité de cryptographie 16, 18 est interposée entre chacun des correspondants , 12 et le canal 14. Chacune des unités cryptographiques 16, 18 peut prendre un message transporté entre chaque unité 16, 18 et son correspondant respectif 10, 12 et engendrer une signature associée au message et au correspondant à transporter sur le canal 14. La signature peut être engendrée de nombreuses manières qui dépendent des
principes sous-jacents de cryptographie utilisés.
On étudiera successivement des procédés basés sur une factorisation d'entiers puis des procédés basés sur une méthode de signature Rabin, puis des procédés basés sur un problème de log discret dont le procédé de Nyberg-Rueppel et finalement des procédés applicables à des courbes elliptiques, par exemple ici aussi une méthode de Nyberg- Rueppel. Dans chaque cas, on définit un algorithme de génération de signature et un algorithme de vérification de signature. Les abréviations ppcm et pgcd désignent le plus petit commun multiple et le plus grand commun diviseur respectivement. Dans le cas de procédés basés sur une factorisation d'entiers, soient p et q des nombres premiers et n = pq tel que le problème de factorisation d'entiers pour n ne puisse pas être traité. Le procédé à décrire exige une fonction de hachage cryptographique h univoque qui applique des chaines de bits d'une longueur arbitraire à une chaine de bits d'une longueur t. La valeur de t est typiquement de 64 ou 128 bits. Le message à signer
peut être considéré comme des entiers dans Zn.
Algorithme 1. Génération de signature.
Supposons que l'entité A possède la clé publique n et la clé privée > (n) = ppcm (p - 1, q - 1). Afin de
8 2793366
signer un message m E Zn0 l'entité A met en oeuvre les étapes suivantes: (a) Traiter m comme une chaîne de bits et
calculer la valeur de hachage em = h(m).
(b) Utiliser l'algorithme euclidien étendu pour calculer un entier dm tel que dmem = 1 (mod X(n)), o la chaine de bits em est maintenant considérée comme
la représentation binaire d'un entier.
(c) Calculer sm = mi m (mod n).
(d) La signature pour le message m est (sm, em).
Algorithme 2. Vérification de signature.
Une entité B peut vérifier la signature (sm, em) en mettant en oeuvre les étapes suivantes: (a) chercher la clé publique n de l'entité A. (b) Calculer m' = sm m (mod n)
(c) vérifier que h (m') = em.
(d) En cas de succès du processus de vérification
de (c), m' est le message récupéré.
Pour que l'algorithme de signature fonctionne, il doit être vrai que le pgcd (em, X(n)) = 1. Ceci peut être garanti par la simple modification qui suit. Soit c une chaine de 1 bits. Au lieu d'utiliser h(m), on utilise em = h(m)II c o Il signifie un chaînage et c est choisi d'une manière telle que l'entier représenté par em est premier par rapport à >(n) (c'est-à-dire que pgcd (em. \(n)) = 1). Pour y parvenir, une manière préférée consisterait à sélectionner les nombres premiers p et q de façon telle que p - 1 et q - 1 ne contiennent aucun petit facteur premier impair et à sélectionner c comme bit 1 (c'est-à-dire 1 = 1). Il s'en suit alors que em = h(m) Il c est impair et que la
probabilité que pgcd (em, \(n)) = 1 est très élevée.
Pour l'algorithme de vérification, à l'étape (c), au lieu de vérifier que h(m') = em, B vérifie que h(m')
est égal aux t premiers bits du em.
9 2793366
La signature du message m contient (t + log2n) bits ou (t + 1 + log2n) bit si l'on utilise la
modification décrite ci-dessus.
Il n'est pas nécessaire que le mécanisme de signature possède la propriété d'homomorphisme que possède la signature RSA. Puisque, pour deux messages m et m' à même valeur de hachage, la valeur de hachage du produit de m et m' peut être différente, une contre-façon existentielle par multiplication de signatures est en général impossible puisque la
probabilité que h(m) = h(m') = h(mm') est faible.
La probabilité qu'un adversaire puisse deviner une paire (sm, em) qui est une signature d'un certain m est 1 / 2t. Le travail exigé par la génération de signature selon le nouveau procédé n'est que légèrement supérieur à celui d'une génération de signature RSA sur le même module, en raison de l'application de l'algorithme euclidien et de la fonction de hachage. Lorsque l'exposant public de RSA soit faible, le travail exigé par une vérification de signature est plus important, mais de façon non significative, que pour une vérification de RSA; dans
le cas contraire, le nouveau procédé est supérieur.
Une autre modification de la méthode de factorisation d'entiers est une modification de la méthode de signature RSA. Supposons que la clé publique de l'entité A est n, e et que sa clé privée
est d, o ed = 1 (mod n).
Algorithme 3. Génération de signature Pour signer un message m, l'entité A doit mettre en oeuvre les étapes suivantes: (a) Traiter m comme une chaîne de bit et calculer la valeur de hachage h(m) o h(m) peut être une
fonction univoque quelconque.
(b) Calculer sm = (m h(m))d (mod n).
(c) La signature du message m est (sm, h(m)).
- Algorithme 4. Vérification de signature Une entité B peut vérifier la signature (sm, h(m)) en mettant en oeuvre les étapes suivantes: (a) Chercher la clé publique e, n de l'entité A (b) calculer m' = sm m (h(m))-1 (mod n)
(c) vérifier que h(m') = h(m).
(d) En cas de succès du processus de vérification
selon (c), m est le message récupéré.
On va maintenant décrire des procédés basés sur
la méthode de signature de Rabin.
Une variante de méthode de signature est la méthode dite de Rabin dont la sécurité provient de la difficulté à trouver des racines carrées, modulo un
nombre composite.
Soit n = pq un produit de deux entiers o p E 3 (mod 8) et q - ?(mod 8). Soit t c )/2 ppcm (p - 1, q - 1) c (p - 1) (q - 1) / 4. Il est facile de montrer que mt = 1 (mod n) dès pourvu que m soit un résidu quadratique modulo n et que mt = -1 (mod n), pourvu que m soit un non résidu quadratique modulo p et modulo q, respectivement. Soit Jm (m/n) le symbole de Jacobi, Qn l'ensemble de résidus quadratiques modulo n, et m est inversible mod n, et on détermine les faits suivante: Fait 1- si Jm 1, alors mt l(mod n) sim ( Qn - 1 (mod n) si m ' Qn
Fait 2. si Jm -1, alors Jm/2 = 1.
Fait 3. supposons que e est pair et que d satisfait à ed 5 1 (mod t). Si Jm = 1, alors med m (mod n) si m c Qn
-m (mod n) si m e Qn.
Le Fait 1 et le Fait 2 sont banaux. Pour le Fait 3, on peut trouver un entier impair x tel que ed = 1 + xt. Par conséquent, med c ml+ xt = (mt)Xm 1-m (mod n) si n ( Qn (-l)Xm (mod n) si m Qn'
11 2793366
Algorithme 5. Génération de signature pour la
méthode Rabin modifiée.
Supposons que la clé publique de l'entité A est n et sa clé privée t. Afin de signer un message m < [(n - 2) / 8], l'entité A devrait mettre en oeuvre l'étape suivante: (a) Traiter m comme une chaine de bits et calculer la valeur de hachage h(m); puis fixer
em = 4 h(m) + 2.
(b) Utiliser l'algorithme euclidien étendu pour calculer un entier dm tel que dm em = 1 (mod t), o la chaîne de bits em est maintenant considérée comme la
représentation binaire d'un entier.
(c) Calculer J8m + 2 = (8m + 2) / 2 et déterminer un entier M par la règle suivante: M = 8m + 2 si J8m + 2 = 1 M = 4m + 1 si J8m + 2 = -1
(d) Calculer sm = M m (mod n).
(e) La signature du message m est (sm, em).
Algorithme 6. Vérification de signature pour la
méthode de Rabin proposée.
Une entité B peut vérifier la signature (sm, em) en mettant en oeuvre les étapes suivantes: (a) Chercher la clé publique n de l'entité A.
(b) Calculer M' = sm (mod n), o 0 < M' < n.
(c) Prendre m' selon la règle suivante:
m' = (M' - 2) / 8 si M' - 2 (mod 4).
m' = (n - M' - 2) / 8 si M' - 3 (mod 4).
m' =(M' - 1) / 4 si M' - 1 (mod 4).
m' =(n - M' - 1) / 4 si M' - 0 (mod 4).
(d) Calculer h(m') et vérifier que 4h(m') + 2 = em. (e) En cas de succès du processus de vérification
selon (d), m' est le message recouvré.
On va maintenant décrire des procédés basés sur
le problème de Log discret.
12 2793366
Une autre classe de méthodes de signature est basée sur le fait que le problème de log discret ne peut être traité, ce dont le procédé de Nyberg-Rueppel
est un exemple.
Comme pour le procédé RSA, le procédé Nyberg- Rueppel de signature numérique souffre de l'inconvénient que la redondance du message est nécessaire. Le procédé décrit ci-dessous remédie à ce problème. Dans un but de simplicité seulement, l'une des diverses possibilités sera décrite en détail, et le procédé ne sera décrit que dans Zpq bien qu'il soit
applicable à un groupe fini quelconque.
Soient p et q des entiers tels que plq - 1 et que le problème de logarithme est discret ne peut être traité dans Zpq. Soi a un générateur du sous-groupe cyclique G d'ordre q dans Zpq et soit h une fonction
de hachage cryptographique comme décrit ci-dessus.
L'entité A sélectionne une clé privée a, qui est un entier sélectionné de facon aléatoire dans (1, 2,..., q - 1), et calcule la clé publique B = aa Algorithme 7. Génération de signature Pour signer un message m E Zp, l'entité A doit mettre en oeuvre les étapes suivantes:
(a) Calculer h(m).
(b) Sélectionner un entier aléatoire k e (1, 2,
q - 1).
(c) Calculer r = m ak (mod p).
(d) Calculer sm = arh(m) + k mod q.
(e) La signature du message m est (sm, r, h(m)).
Algorithme 8. Vérification de signature L'entité B peut vérifier la signature (sm, r, h(m)) sur m en mettant en oeuvre les étapes suivantes: (a) Chercher la clé publique B de A (b) Calculer v1 = asm (mod p)
(c) Calculer v2 = B-rh(m) (mod p).
13 2793366
(d) Calculer w = v1v2 (mod p).
(e) Calculer m' = rw-1 (mod p).
(f) Calculer h(m') et vérifier que h(m') = h(m).
(g) Le message récupéré est m'.
Une génération de signature qui utilise le procédé de l'algorithme 7 et 8 est presque aussi efficace que la méthode Nyberg- Rueppel d'origine, sauf
pour le calcul de la fonction de hachage.
De même, une vérification d'une signature est
presque aussi efficace qu'une méthode de Nyberg-
Rueppel d'origine, sauf pour le calcul du produit rh(m) mod q et le calcul de la valeur de hachage (hm'). La méthode de Nyberg-Rueppel ne peut pas être
modifiée simplement pour donner les mêmes résultats.
Par exemple, envoyer le hachage du message n'exclut
pas une attaque par contre-façon existentielle.
D'autres méthodes semblables à celle de Nyberg-Rueppel peuvent être modifiées de façon similaire selon les procédés de l'invention. En variante, les procédés de l'invention peuvent aussi être appliqués à des courbes elliptiques: une méthode de Nyberg-Rueppel qui peut être appliquée à des courbes elliptiques est décrite
ci-dessous à titre d'exemple.
Soit la courbe y2 + xy = x3 + ax2 + b à ordre n de premier élevé et soit P le point de la courbe de coordonnées x et y. Soit aussi h une fonction de
hachage cryptographique comme décrit précédemment.
Algorithme 9. Génération de signature L'entité A sélectionne une clé privée d, qui est un entier sélectionné de façon aléatoire dans
(1, 2,..., n - 1), et calcule la clé publique Q = dP.
Pour signer un message m o 1 < m < n, l'entité A doit mettre en oeuvre les étapes suivantes:
(a) Calculer h(m).
14 2793366
(b) Sélectionner un entier aléatoire k c (1, 2,
n - 1}.
(c) Calculer kP et prendre x comme la coordonnée
x du point kP.
(d) Calculer r = m + x (mod n).
(e) Calculer sm = drh(m) + k mod n.
(f) La signature du message m est (sm, r, h(m)).
Algorithme 10. Vérification de signature L'entité B peut vérifier la signature (sm, r, h(m)) sur m en mettant en oeuvre les étapes suivantes: (a) Chercher la clé publique Q de A (b) Calculer smP
(c) Calculer (-rh(m))Q.
(d) Calculer T = smP + (-rh(m))Q et prendre x'
comme coordonnée x du point.
(e) Calculer m' = r - x' (mod n).
(f) Calculer h(m') et vérifier que h(m') = h(m).
(g) Le message récupéré est m'.
Alors que l'invention a été décrite en liaison avec un de ses modes de réalisation spécifique et dans une utilisation spécifique, plusieurs modifications de celle-ci ressortiront à l'homme de l'art sans
s'écarter de l'esprit de l'invention.
Les termes et expressions qui ont employés dans la spécification sont utilisés comme termes de
description et non de limitations et il n'existe, dans
1' utilisation de ces termes, aucune intention d'exclure aucun équivalent des particularités représentées et décrites ou des parties de celles-ci, mais il est reconnu que diverses modifications sont
possibles à l'intérieur du cadre des revendications.
Claims (6)
1. Procédé pour calculer une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer une représentation h(m) dudit message en appliquant une fonction univoque et en dériver une première composante de signature, b) calculer une fonction liée mathématiquement à ladite représentation h(m) dudit message, et c) appliquer ladite fonction audit message pour obtenir une deuxième
composante de signature, liée audit signataire.
2. Procédé selon la revendication 1, caractérisé en ce que ladite fonction
univoque est une fonction de hachage cryptographique.
3. Procédé selon la revendication 2, caractérisé en ce que ladite fonction de
hachage est une fonction de hachage SHA-I.
4. Procédé pour calculer une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature ern, b) calculer une fonction dn, liée mathématiquement audit hachage dudit message, telle que en, dm = 1 mod (X(n)), c) appliquer ladite fonction dm, audit message pour obtenir une deuxième composante de signature Sn, liée audit signataire, telle que Sm = mdni mod (k(n)), et
d) envoyer à un récepteur lesdites composantes de signature (e.,, Sm).
5. Procédé pour calculer une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature, b) sélectionner un entier aléatoire k e { 1, 2,.. q-I}, c) calculer une troisième composante de signature r telle que r = m Ok (mrod p), o ax est un générateur d'un groupe cyclique G d'ordre q dans Zpq, et o q divise p-l, d) calculer une deuxième composante sm de signature liée mathématiquement audit hachage, dudit message, telle que sm = arh(m) + k mod q, a étant une clé privée dudit signataire, et
e) envoyer à un récepteur lesdites composantes de signature.
6. Procédé pour calculer une signature d'un message m caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer un hachage h(m) dudit message en appliquant une fonction de hachage et en dériver une première composante de signature, b) sélectionner un entier aléatoire k E { 1, 2,. q- 1}, c) calculer une troisième composante de signature fonction r telle que r = m+x (mod n), o x est une coordonnée d'un point kP d'une courbe elliptique définie par y2 + xy=x3 + ax2 + b d'ordren, d) calculer une deuxième composante sm de signature liée mathématiquement audit hachage dudit message, telle que s,, = drh(m) + k mod q, d étant une clé privée de signature, et
e) envoyer à un récepteur lesdites composantes de signature.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9610154.8A GB9610154D0 (en) | 1996-05-15 | 1996-05-15 | Tool kit protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2793366A1 true FR2793366A1 (fr) | 2000-11-10 |
FR2793366B1 FR2793366B1 (fr) | 2005-05-20 |
Family
ID=10793743
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9705976A Expired - Lifetime FR2748877B1 (fr) | 1996-05-15 | 1997-05-15 | Protocole de signature numerique a largeur de bande reduite |
FR0007200A Expired - Lifetime FR2793366B1 (fr) | 1996-05-15 | 2000-06-06 | Protocole de signature numerique a largeur de bande reduite |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9705976A Expired - Lifetime FR2748877B1 (fr) | 1996-05-15 | 1997-05-15 | Protocole de signature numerique a largeur de bande reduite |
Country Status (5)
Country | Link |
---|---|
US (1) | US6097813A (fr) |
CA (1) | CA2205310C (fr) |
DE (1) | DE19720249A1 (fr) |
FR (2) | FR2748877B1 (fr) |
GB (2) | GB9610154D0 (fr) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397601B1 (ko) * | 1996-07-31 | 2003-10-23 | 삼성전자주식회사 | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 |
US6279110B1 (en) | 1997-11-10 | 2001-08-21 | Certicom Corporation | Masked digital signatures |
US6453416B1 (en) * | 1997-12-19 | 2002-09-17 | Koninklijke Philips Electronics N.V. | Secure proxy signing device and method of use |
US7249259B1 (en) * | 1999-09-07 | 2007-07-24 | Certicom Corp. | Hybrid signature scheme |
SE517460C2 (sv) * | 2000-03-24 | 2002-06-11 | Imp Internat Ab | Metod och system för kryptering och autentisiering |
JP4284867B2 (ja) * | 2001-01-18 | 2009-06-24 | 株式会社日立製作所 | 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法 |
GB2367986B (en) * | 2001-03-16 | 2002-10-09 | Ericsson Telefon Ab L M | Address mechanisms in internet protocol |
FR2850502B1 (fr) * | 2003-01-24 | 2005-04-01 | Cryptolog | Procedes d'authentification numerique et de signature numerique a faible cout calculatoire et systeme signataire |
CN100458955C (zh) * | 2003-04-30 | 2009-02-04 | 索尼株式会社 | 数据处理方法、设备 |
JPWO2006030496A1 (ja) * | 2004-09-15 | 2008-05-08 | 三菱電機株式会社 | 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム |
US7543147B2 (en) * | 2004-10-28 | 2009-06-02 | International Business Machines Corporation | Method, system, and storage medium for creating a proof of possession confirmation for inclusion into an attribute certificate |
US20060291700A1 (en) * | 2005-06-08 | 2006-12-28 | Ogram Mark E | Internet signature verification system |
US7760873B2 (en) * | 2006-06-30 | 2010-07-20 | Intel Corporation | Method and a system for a quick verification rabin signature scheme |
US10909228B2 (en) * | 2017-07-19 | 2021-02-02 | Box, Inc. | Server-side authentication policy determination for mobile applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0328232A2 (fr) * | 1988-02-12 | 1989-08-16 | Addison M. Fischer | Système cryptographique de signature à clé publique avec certification modifiée de la signature numérique |
EP0639907A1 (fr) * | 1993-08-17 | 1995-02-22 | R3 Security Engineering AG | Procédé de signature numérique et procédé d'accord de clé |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6256043A (ja) * | 1985-09-04 | 1987-03-11 | Hitachi Ltd | 電子取引方式 |
US5282249A (en) * | 1989-11-14 | 1994-01-25 | Michael Cohen | System for controlling access to broadcast transmissions |
DE4003386C1 (fr) * | 1990-02-05 | 1991-05-23 | Siemens Ag, 1000 Berlin Und 8000 Muenchen, De | |
JP3367675B2 (ja) * | 1993-12-16 | 2003-01-14 | オープン マーケット インコーポレイテッド | オープンネットワーク販売システム及び取引トランザクションのリアルタイムでの承認を行う方法 |
US5790677A (en) * | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
US5754659A (en) * | 1995-12-22 | 1998-05-19 | General Instrument Corporation Of Delaware | Generation of cryptographic signatures using hash keys |
US5999626A (en) * | 1996-04-16 | 1999-12-07 | Certicom Corp. | Digital signatures on a smartcard |
-
1996
- 1996-05-15 GB GBGB9610154.8A patent/GB9610154D0/en active Pending
-
1997
- 1997-05-14 CA CA002205310A patent/CA2205310C/fr not_active Expired - Lifetime
- 1997-05-14 GB GB9709816A patent/GB2313272B/en not_active Expired - Lifetime
- 1997-05-15 FR FR9705976A patent/FR2748877B1/fr not_active Expired - Lifetime
- 1997-05-15 US US08/856,591 patent/US6097813A/en not_active Expired - Lifetime
- 1997-05-15 DE DE19720249A patent/DE19720249A1/de not_active Withdrawn
-
2000
- 2000-06-06 FR FR0007200A patent/FR2793366B1/fr not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0328232A2 (fr) * | 1988-02-12 | 1989-08-16 | Addison M. Fischer | Système cryptographique de signature à clé publique avec certification modifiée de la signature numérique |
EP0639907A1 (fr) * | 1993-08-17 | 1995-02-22 | R3 Security Engineering AG | Procédé de signature numérique et procédé d'accord de clé |
Non-Patent Citations (2)
Title |
---|
HORSTER P ET AL: "META-MESSAGE RECOVERY AND META-BLIND SIGNATURE SCHEMES BASED ON THEDISCRETE LOGARITHM PROBLEM AND THEIR APPLICATIONS", ADVANCES IN CRYPTOLOGY - ASIACRYPT '94, 4TH. INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOLOGY, WOLLONGONG, AUSTRALIA, NOV. 28 - DEC. 1, 1994 PROCEEDINGS, no. CONF. 4, 28 November 1994 (1994-11-28), PIEPRZYK J;SAFAVI-NAINI R (EDS ), pages 224 - 237, XP000527598, ISBN: 3-540-59339-X * |
PINCH R G E: "NEW SIGNATURE SCHEME WITH MESSAGE RECOVERY", ELECTRONICS LETTERS, vol. 30, no. 11, 26 May 1994 (1994-05-26), pages 852, XP000444993, ISSN: 0013-5194 * |
Also Published As
Publication number | Publication date |
---|---|
DE19720249A1 (de) | 1997-11-20 |
GB2313272B (en) | 2000-12-13 |
GB9610154D0 (en) | 1996-07-24 |
CA2205310C (fr) | 2007-01-30 |
FR2793366B1 (fr) | 2005-05-20 |
FR2748877A1 (fr) | 1997-11-21 |
CA2205310A1 (fr) | 1997-11-15 |
FR2748877B1 (fr) | 2000-09-08 |
GB2313272A (en) | 1997-11-19 |
US6097813A (en) | 2000-08-01 |
GB9709816D0 (en) | 1997-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
FR2760583A1 (fr) | Systeme de verification de cartes de donnees | |
EP1151576B1 (fr) | Procede cryptographique a cles publique et privee | |
FR2756441A1 (fr) | Protocole de signature numerique | |
EP2345202A2 (fr) | Procédé de signature numérique en deux étapes | |
FR2793366A1 (fr) | Protocole de signature numerique a largeur de bande reduite | |
EP0346180B1 (fr) | Dispositif de communication sécurisée de données | |
EP0909495B1 (fr) | Procede de cryptographie a cle publique | |
EP1145483B1 (fr) | Procede d'authentification ou de signature a nombre de calculs reduit | |
EP0963638B1 (fr) | Procede de signature numerique | |
EP0666664B1 (fr) | Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires | |
FR2752122A1 (fr) | Procede d'authentification a nombre reduit de bits transmis | |
EP4096144A1 (fr) | Contremesures par infection améliorées | |
WO2007065468A1 (fr) | Procédé de génération de signature avec preuve de sécurité 'tight', procédé de vérification et schéma de signature associés basés sur le modèle de diffie-hellman | |
EP1456998A1 (fr) | Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede | |
EP0743775B1 (fr) | Procédé de signature numérique à connaissance nulle, permettant d'élaborer une signature résistant aux collisions | |
CA2288767A1 (fr) | Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas | |
JPH1084341A (ja) | メッセージ付加形デジタル署名方法及びそれに対した検証方法 | |
EP1407575A1 (fr) | Procede pour effectuer une tache cryptographique au moyen d'une cle publique | |
EP0854603A2 (fr) | Génération de paramètres de session pour protocoles du type el-gamal | |
FR3143243A1 (fr) | Signature et dechiffrement de message securises par double rsa-crt | |
EP4239944A1 (fr) | Procédé de signature cryptographique d'une donnée, dispositif électronique et programme d'ordinateur associés | |
WO2003021864A2 (fr) | Procede de reduction de la taille d'une signature rsa ou rabin | |
FR2836768A1 (fr) | Procede et dispositif pour former une signature numerique | |
WO2006045660A2 (fr) | Procede de generation de signature a la volee avec preuve de securite |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 20 |