EP1820297A1 - 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 - Google Patents

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

Info

Publication number
EP1820297A1
EP1820297A1 EP05858607A EP05858607A EP1820297A1 EP 1820297 A1 EP1820297 A1 EP 1820297A1 EP 05858607 A EP05858607 A EP 05858607A EP 05858607 A EP05858607 A EP 05858607A EP 1820297 A1 EP1820297 A1 EP 1820297A1
Authority
EP
European Patent Office
Prior art keywords
signature
during
mod
message
coupon
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
EP05858607A
Other languages
German (de)
English (en)
Inventor
Benoit CHEVALIER-MAMES
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 EP1820297A1 publication Critical patent/EP1820297A1/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/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • H04L9/3249Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Definitions

  • the invention relates to proven electronic signature methods based on the Diffie-Hellman problem.
  • the invention also relates to verification methods and associated signature schemes. Certain methods according to the invention can be implemented "on the fly", which allows the rapid generation of an electronic signature once certain pre-calculations have been carried out. This makes the invention particularly useful in the context of portable objects with low computing resources such as a smart card.
  • An electronic signature of a message is one or more numbers 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 knowledge of the secret key of the person signing the message being required.
  • a signature scheme includes a set of three processes (GEN_S, SIGN_S, VER_S):
  • GEN_S is a process for generating public and private keys
  • SIGN_S is a signature generation process
  • VER_S is a signature verification process. There are many electronic signature schemes. The most famous are:
  • the RSA signature scheme this is the most widely used electronic signature scheme. Its security is based on the difficulty of factoring large numbers.
  • Rabin's signature scheme its security is also based on the difficulty of factoring large numbers.
  • the signature scheme of the El-Gamal type its security is based on the difficulty of the problem of the discrete logarithm.
  • the problem of the discrete logarithm consists in determining, if it exists, an integer x such that y ⁇ g x with y and g two elements of a set E having a group structure.
  • the random oracle model is an ideal model in which any hash function is considered perfectly random.
  • a hash function is not a perfectly random object, it is generally considered that a proof in the model of the random oracle is an indication that the diagram is correctly constructed, but that this does not give a perfect guarantee of the safety of the diagram during its practical use.
  • Loose evidence uses an attacker and solves the difficult problem with a low probability compared to that of the attacker.
  • "tight" proof solves the problem with a probability very close to that of the attacker. So “tight” proof is a much better guarantee of security for a signature scheme.
  • the EDL scheme includes the key generation method, the signature method and the verification method described below.
  • I Is • p, a prime integer of I
  • H M x ⁇ 0, l ⁇ Mr
  • the signature process makes it possible to sign a message me M. For this, we first generate a random integer r of
  • the verification process makes it possible to verify that a signature (z, r, s, c) is indeed the signature of a message m 6 M.
  • h ' H (m, r)
  • u' g s . y ⁇ c mod p
  • v ' h' s .z ⁇ c mod p.
  • the EDL signature scheme provides a signature of I IpI I + 2
  • 111 and already have a comfortable level of security.
  • a signature scheme is of the “on the fly” type when the generation of the signature can be broken down into two distinct phases: a first so-called precomputation phase, during which a piece of data (called coupon) independent of the message to be signed is pre-calculated, and the signature generation phase proper, during which a signature of a message m is calculated using the pre-calculated data, this last phase must be able to be executed quickly.
  • the same coupon can only be used once.
  • Signature patterns "on the fly” are therefore particularly useful in the context of portable objects with low computing resources such as a smart card. Such schemes allow the rapid generation of the signature by the portable object, whereas this would not be possible for a conventional signature scheme requiring much greater computing resources.
  • the EDL scheme in its initial version is not intended to be implemented "on the fly", using coupons.
  • the above conversion method can be used for the EDL scheme, to obtain a signature "on the fly” with proof of signature "tight" in the random oracle model.
  • the downside of the conversion method is that it doubles the size of the public key as well as the size of the signature, and that it also increases the time for verifying the signature. The total generation time of the signature (pre-calculation + generation) is itself increased.
  • the aim of the invention is to propose new signature methods based on the Diffie-Hellman problem, as secure as the EDL signing process (that is, having "tight” proof of security), but which produce shorter signatures than the EDL process.
  • certain methods according to the invention can be put into a form “on the fly” using coupons, which is much faster than the EDL method.
  • the invention also proposes, for each signature method according to the invention, a verification method and an associated signature scheme.
  • a method according to the invention implements a set of parameters, in particular:
  • the method of electronic signature of a message m according to the invention comprises the following steps, consisting in:
  • E3 produce an electronic signature of the message m equal to (z, s, c).
  • the signature (z, s, c) produced comprises only three numbers z, s and c and has a size equal to
  • 111 bits.
  • step El is carried out one or more times and a coupon (k, u, v, h, z) is stored at the end of each step El, then
  • steps E2 and E3 are then carried out for each message m to be signed using a coupon (k, u, v, h, z) stored during the initialization step.
  • step El is carried out one or more times and a coupon (k, u, v, z) is stored at the end of each step El, then
  • the two embodiments have no additional cost (in terms of material resources or computation time) for the person who verifies the signature obtained, since he does not need to compute a chameleon-type hash function based on an exponentiation.
  • the second embodiment uses smaller coupons to memorize:
  • the coupons include five numbers, ie a total of 4.
  • the coupons comprise four numbers, ie in total 3.
  • the calculation time of the signature is a little longer than in the first embodiment, because it is necessary to recalculate h.
  • step El is carried out one or more times and a coupon (k, z, t) is stored at the end of each step El, then
  • steps E2 and E3 are then carried out for each message m to be signed using a coupon (k, z, t) stored during the initialization step.
  • the coupon is even smaller here (only three numbers, totaling
  • this variant with coupon has no cost for the person verifying the signature: it does not need to calculate a hash function of chameleon type based on multi-exponentiation.
  • the so-called “on-line” steps that is to say the steps E2, E3 carried out when a signature is desired, include only the calculation of a hash function, of a modular addition and multiplication, which is equivalent to the most efficient signature methods (in terms of computation time) known to date, in particular the Schnorr methods , Girault-Poupard-Stern or Poupard-Stern.
  • This fourth embodiment is in practice an improvement of the conventional EDL method, a little different from the other three embodiments.
  • this embodiment cannot be implemented on the fly in a simple manner and without additional cost, unlike the first three embodiments.
  • the invention also relates to a method for verifying an electronic signature (z, s, c) of a message m obtained by a signature method according to the invention as described above. If the signature method is implemented according to the first or the second embodiment, the associated verification method comprises the following steps, consisting in:
  • the associated verification method comprises the following steps, consisting in:
  • the associated verification method comprises the following steps, consisting in:
  • the invention relates to an electronic signature diagram with proven "tight" security in the random oracle model, during which successively:
  • the invention finally relates to a portable electronic component comprising means for implementing a signature method and / or a verification method and / or a signature scheme according to the invention.
  • Such an electronic component is for example a smart card, or else a secure electronic chip (in English TPM for Trusted Platform Module) intended for use in a conventional computer of the non-secure PC type.
  • a secure electronic chip in English TPM for Trusted Platform Module

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de signature électronique d'un message m, caractérisé en ce qu'il utilise: p un nombre entier premier, q un nombre entier premier diviseur de (p-1), g, un élément d'ordre q de l'ensemble Z<SUB>p</SUB> des entiers modulo p, H et G, des fonctions de hachage, x une clé privée et y, par exemple y = g^x mod p, une clé publique de l'ensemble Zp, pour réaliser les étapes suivantes, consistant à: E1: générer k, un nombre aléatoire k de l'ensemble Z<SUB>q</SUB> des entiers modulo q, et calculer u = g<SUP>k</SUP> mod p, h = H (u), z = h<SUP>x</SUP> mod p et v = h<SUP>k</SUP> mod p, E2: calculer c = G (m, g, h, y, z, u, v) et s = k + c.x mod q, et E3: produire une signature électronique du message m égale à (z, s, c). L'invention concerne également un procédé de vérification et un schéma de signature associé au procédé de signature.

Description

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
L'invention concerne des procédés de signature électronique à sécurité prouvée, basés sur le problème de Diffie-Hellman. L'invention concerne également des procédés de vérification et des schémas de signature associés. Certains procédés selon l'invention peuvent être mis en œuvre "à la volée", ce qui permet la génération rapide d'une signature électronique une fois que certains pré-calculs ont été réalisés. Cela rend l'invention particulièrement utile dans le cadre d'objets portables à faible ressource de calcul tels qu'une carte à puce .
Une signature électronique d'un message est un ou plusieurs nombres dépendant à la fois d'une clé secrète connue seulement de la personne signant le message, et 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 requise.
Un schéma de signature comprend un ensemble de trois procédés (GEN_S, SIGN_S, VER_S) :
• GEN_S est un procédé de génération de clés publique et privée
• SIGN_S est un procédé de génération de signature
• VER_S est un procédé de vérification de signature. II existe de nombreux schémas de signature électronique. Les plus connus sont:
• Le schéma de signature RSA : c'est le schéma de signature électronique le plus largement utilisé. Sa sécurité est basée sur la difficulté de la factorisation de grands nombres .
• Le schéma de signature de Rabin : sa sécurité est aussi basée sur la difficulté de la factorisation de grands nombres .
• Le 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.
• Le schéma de signature de Schnorr : il s'agit d'une variante du schéma de signature de type El-Gamal. (
(Claus-Peter Schnorr, Efficient signature génération by smart cards, Journal of Cryptology, 4 (3) : 161-174, 1991), • le schéma de Girault-Poupard-Stern (Marc Girault : An identity-based identification scheme based on discrète logarithms modulo a composite number, EUROCRYPT' 90, vol. 473 of Lecture Notes in Computer Science, pages 481-486 ; et Guillaume Poupard and Jacques Stern, Security analysis of a pracical "on the fly" authentification and signature génération, EUROCRYPT' 98, vol. 1403 of Lecture notes in Computer Science, pages 422-436, 1998)
• le schéma de Poupard-Stern (Guillaume Poupard and Jacques Stern, On the fly signatures based on factoring, ACM Conférence on Computer and Communications Security, pages 37-45, 1999) .
On dit qu'un schéma de signature est à sécurité prouvée si on peut, par une preuve mathématique, utiliser un éventuel attaquant contre ce schéma de signature (plus précisément, si on peut utiliser des signatures falsifiées, c'est à dire contrefaites par cet attaquant) pour résoudre un problème difficile, comme le logarithme discret ou la factorisation.
Certaines preuves de sécurité sont déterminées dans un modèle appelé "modèle de l'oracle aléatoire".
Le modèle de l'oracle aléatoire est un modèle idéal dans lequel toute fonction de hachage est considérée comme parfaitement aléatoire. Comme dans la pratique, une fonction de hachage n'est pas un objet parfaitement aléatoire, on considère généralement qu'une preuve dans le modèle de l'oracle aléatoire est une indication que le schéma est correctement construit, mais que cela ne donne pas une garantie parfaite de la sécurité du schéma lors de son utilisation pratique.
Au contraire, on dit qu'un schéma cryptographique possède une preuve de sécurité dans le modèle standard lorsque sa sécurité peut être prouvée sans faire l'hypothèse du caractère parfaitement aléatoire des fonctions de hachage. Une telle preuve de sécurité est particulièrement utile car elle permet d'avoir une confiance parfaite dans la sécurité du schéma lors de son utilisation pratique.
Les preuves peuvent être non strictement réductibles
(« loose » en anglais) ou strictement réductibles
(« tight » en anglais) . Les termes anglais seront préférés dans la suite.
Une preuve « loose » utilise un attaquant et résout le problème difficile avec une probabilité faible comparée à celle de l'attaquant. Au contraire, une preuve « tight » résout le problème avec une probabilité très proche de celle de l'attaquant. Ainsi, une preuve « tight » est un bien meilleur gage de sécurité pour un schéma de signature.
Bien sûr, les schémas ayant une preuve de sécurité "tight" sont préférés aux schémas ayant une preuve de sécurité "loose". Mais il existe en pratique très peu de schémas ayant une preuve de sécurité "tight". Sont connus par exemple le schéma RSA-PSS et ses dérivés basés sur le problème RSA (Ronald L. Rivest, Adi Shamir and Léonard M. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Communications of the ACM, 21(2) .120-126, 1978), ou bien le schéma Rabin-PSS basé sur le problème de la factorisatin (Michael 0. Rabin, Digital signatures and public-key functions as intractable as factorization, Tech. Rep. MIT/LCS/TR-212 , MIT Laboratory for Computer Science, 1979) . Pendant longtemps, aucun schéma basé sur le problème de Diffie- Hellman ou le problème du logarithme discret et ayant une preuve de sécurité "tight" n'était connu, seuls des schémas ayant une preuve de sécurité "loose" étaient connus (David Pointcheval and Jacques Stern, Security proofs for signature schemes, in U. Maurer, editor, Advances in cryptology, EUROCRYPT' 96, vol. 1070 of Lectures Notes in Computer Sciences, pages 387-398, Springer-Verlag, 1996) .
Goh et Jarecki ont proposé l'utilisation d'un schéma basé sur le problème de Diffie-Hellman, appelé schéma EDL (pour Equivalent Discret Algorithm) , et ont prouvé récemment que ce schéma possède une preuve de sécurité "tight" dans le modèle de l'oracle aléatoire (Eurocrypt 2003, Ed. E. Biham, LNCS 2656, pp 401-415, 2003).
Le schéma EDL comprend le procédé de génération de clé, le procédé de signature et le procédé de vérification décrits ci-dessous.
Soit : • p, un nombre entier premier de I |p| | bits, (la notation I IpI I signifie "nombre de bits du nombre binaire p")
• q, un nombre entier premier de I |q| I bits diviseur de (P-D,
• g, un élément g d'ordre q de l'ensemble Z-p des entiers modulo pr
• Gg,p, un groupe fini généré par g.
• Mr l'ensemble de tous les messages
• H, G, deux fonctions de hachage telles que H : M x {0, l}Mr|| -> Gg,p et G : (Gg,p) 6 -> Zq.
Le procédé de génération de clé consiste à générer un nombre aléatoire x € Zq, puis à calculer y = gx mod p. y est la clé publique et x est la clé privée.
Le procédé de signature permet de signer un message m e M. Pour cela, on génère tout d'abord un nombre entier aléatoire r de | |r| | bits et un nombre aléatoire k e Z^, on calcule u = gk mod p, h = H (m, r) , z ≈ hx mod p, v = hk mod p, puis c ≈ G(g,h,y, z,u, v) et s = k+c.x mod q. La signature de m est alors le quadruplet (z,r,s,c).
Le procédé de vérification permet de vérifier qu'une signature (z,r,s,c) est bien la signature d'un message m 6 M. On calcule h' = H (m, r) , u' = gs.y~c mod p et v' = h's.z~c mod p. La signature est acceptée si c = G(g,h',y,z,u',v') .
Le schéma de signature EDL fournit une signature de I IpI I + 2||q||+||r|| bits, qui est un peu longue mais encore acceptable pour un tel niveau de sécurité . Goh et Jarecki ont montré qu'on peut utiliser | |r| | = 111 et avoir déjà un confortable niveau de sécurité.
On dit qu'un schéma de signature est de type « à la volée » (« on the fly », en anglais) lorsque la génération de la signature peut se décomposer en deux phases distinctes : une première phase dite de précalcul, durant laquelle une donnée (appelée coupon) indépendante du message à signer est pré-calculée, et la phase de génération de signature proprement dite, durant laquelle une signature d'un message m est calculée en utilisant la donnée pré-calculée, cette dernière phase devant pouvoir s'exécuter rapidement. Pour garantir la sécurité du schéma de signature, un même coupon ne peut être utilisé qu'une seule fois.
Les schémas de signature « à la volée » sont donc particulièrement utiles dans le cadre d'objets portables à faible ressource de calcul tels qu'une carte à puce. De tels schémas permettent la génération rapide de la signature par l'objet portable, alors que cela ne serait pas possible pour un schéma de signature classique demandant des ressources de calculs beaucoup plus importantes .
Dans la publication "Improved online/offune signature schemes" par Shamir et Tauman (Proceedings of Crypto 01) , les auteurs décrivent un moyen de conversion générique permettant d'obtenir un schéma de signature « à la volée » à partir d'un schéma de signature quelconque. L'avantage de cette conversion est qu'elle préserve la sécurité du schéma de signature : si le schéma initial possède une preuve de sécurité dans le modèle standard, alors le schéma de signature « à la volée » obtenu possède aussi une preuve de sécurité dans le modèle standard.
Le schéma EDL dans sa version initiale, n'est pas prévu pour être mis en œuvre "à la volée", en utilisant des coupons. Toutefois, la méthode de conversion ci-dessus peut être utilisée pour le schéma EDL, pour obtenir un schéma de signature "à la volée" ayant une preuve de signature "tight" dans le modèle de l'oracle aléatoire. Cependant, l'inconvénient de la méthode de conversion est qu'elle double la taille de la clef publique ainsi que la taille de la signature, et qu'elle augmente aussi le temps de vérification de la signature. Le temps total de génération de la signature (pré-calcul+génération) est lui-même augmenté.
Toutefois, Goh et Jarecki ont indiqué qu'il est possible d'utiliser la méthode de conversion avec une fonction de hachage particulière, dite fonction de hachage caméléon (H (m, r) = gmyr mod p) , pour transformer le schéma EDL en un schéma avec coupon (Hugo Krawczyk and TaI Rabin, Chameleon Signatures, In Symposium on Network and Distributed System security - NDSS 1OO, pages 143-154, Internet Society, 2000, et également la publication "Improved online/offline signature schemes" par Shamir et Tauman (Proceedings of Crypto 01) . Ainsi, falsifier une nouvelle signature est aussi complexe que de falsifier une nouvelle signature à partir du schéma EDL initial, ou de trouver une collision dans la fonction de hachage caméléon (c'est-à-dire trouver deux nombres a, b différents tels que H (a) = H(b)).
L'avantage du schéma obtenu est bien sûr le fait que le schéma est à la volée et peut être mis en œuvre avec des moyens matériels limités. Mais l'inconvénient est un procédé de vérification associé plus long, car il est nécessaire de calculer la fonction de hachage caméléon. De plus, utiliser la fonction de hachage caméléon suppose l'utilisation d'un nombre r aléatoire de ||q|| bits. La signature obtenue devient ainsi de taille | |p| | +31 |q| | bits. Pour des raisons de sécurité cryptographique, q doit être choisi de taille supérieure à 160 bits, la signature obtenue est donc encore plus longue qu'une signature EDL classique.
L'invention a pour but de proposer de nouveaux procédés de signature basés sur le problème de Diffie-Hellman, aussi sûrs que le procédé de signature de EDL (c'est-à- dire ayant une preuve de sécurité "tight") , mais qui produisent des signatures plus courtes que le procédé EDL. De plus, certains procédés selon l'invention peuvent être mis sous une forme "à la volée" utilisant des coupons, ce qui est beaucoup plus rapide que le procédé EDL. L'invention propose également, pour chaque procédé de signature selon l'invention, un procédé de vérification et un schéma de signature associés.
Un procédé selon l'invention met en œuvre un ensemble de paramètres, notamment :
• p, un nombre entier premier de | |p| | bits,
• q, un nombre entier premier de | IqM bits, diviseur de (P-D,
• g, un élément d'ordre q de l'ensemble Zp des entiers modulo p,
• Gg,p, Ie groupe fini généré par g
• H, G, des fonctions de hachage,
• x, une clé privée choisie aléatoirement dans Zp, et y une clé publique associée, y est par exemple calculée par la relation y = gAx mod p (la notation gAx ou gx signifie exponentiation modulaire) .
Le procédé de signature électronique d'un message m selon l'invention comprend les étapes suivantes, consistant à :
• El : générer k, un nombre aléatoire de l'ensemble Zq des entiers modulo q, et calculer u = gk mod p, h = H (u) , z = hκ mod p et v = hk mod p, ,
• E2 : calculer c = G (m, g, h, y, z, u, v) et s = k + c . x mod q, et
• E3 : produire une signature électronique du message m égale à (z, s,c) . La signature (z,s,c) produite comprend seulement trois nombres z, s et c et a une taille égale à | |p| | +2 | | q| | , plus courte que celle d'une signature obtenue par un schéma EDL utilisant ||r|| = 111 bits.
Dans un premier mode de mise en œuvre :
• au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (k,u,v,h,z), puis
• on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,u,v,h,z) mémorisé au cours de l'étape d'initialisation.
Dans un deuxième mode de mise en œuvre :
• au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (k,u,v,z), puis
• on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,u,v,z) mémorisé au cours de l'étape d'initialisation et en recalculant h = H (u) .
Ces deux modes de réalisation ont l'avantage de passer par l'intermédiaire de coupons, sans qu'il soit nécessaire de passer par l'intermédiaire d'une fonction de hachage de type caméléon supplémentaire, fonction qui comporte une multi-exponentiation et prend donc beaucoup de temps. Ceci permet une mise en œuvre à la volée particulièrement intéressante pour des systèmes portables, et beaucoup plus avantageuse qu'une mise en œuvre du schéma EDL qui utilise lui une fonction de hachage caméléon.
De plus, dans le cas de l'invention, les deux modes de réalisation n'ont aucun surcoût (en terme de ressources matérielles ou de temps de calcul) pour la personne qui vérifie la signature obtenue, car elle n'a pas besoin de calculer une fonction de hachage de type caméléon basée sur une exponentiation.
Par ailleurs, le deuxième mode de réalisation utilise des coupons à mémoriser plus petits :
• dans le premier mode de réalisation, les coupons comprennent cinq nombres, soit au total 4.||p|| + ||q|| bits, et
• dans le deuxième mode de réalisation, les coupons comprennent quatre nombres, soit au total 3.||p|| + I IqI I bits.
Par contre, dans le deuxième mode de réalisation, le temps de calcul de la signature est un petit peu plus long que dans le premier mode de réalisation, car il faut recalculer h.
Dans un troisième mode de réalisation :
• au cours de l'étape El, on calcule également t = I (g, h, y, z, u,v) , où I est une fonction de hachage, puis,
• au cours de l'étape E2, on calcule c = G (m, t) au lieu de c = G (m, g, h, y, z, u, v) .
Et de préférence :
• au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (k,z,t), puis
• on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,z,t) mémorisé au cours de l'étape d'initialisation.
Le coupon est ici encore plus petit (seulement trois nombres, soit au total ||p||+||q||+||t|| bits), ce qui permet de mémoriser un grand nombre de coupons, même dans un système disposant de peu de ressources mémoire.
De plus, cette variante avec coupon n'a aucun coût pour la personne qui vérifie la signature : elle n'a pas besoin de calculer une fonction de hachage de type caméléon basée sur une multi-exponentiation. Enfin, dans la variante "à la volée" des trois modes de réalisation de l'invention, les étapes dites "on-line", c'est-à-dire les étapes E2, E3 réalisées lorsqu'une signature est souhaitée, comprennent seulement le calcul d'une fonction de hachage, d'une addition et d'une multiplication modulaire, ce qui est équivalent aux procédés de signature les plus efficaces (en terme de temps de calcul) connus à ce jour, notamment les procédés de Schnorr, Girault-Poupard-Stern ou Poupard-Stern.
A noter que, de préférence, dans tous les procédés mis en œuvre à la volée, lors de la réalisation des étapes E2 et E3 on utilise un coupon mémorisé au cours de l'étape d'initialisation et non encore utilisé lors de la réalisation de précédentes étapes E2 et E3. Ceci pour des raisons de sécurité naturellement.
Dans un quatrième mode de réalisation :
• au cours de l'étape El, on calcule h = H(m,u) au lieu de h = H(u) puis,
• au cours de l'étape E2, on calcule c = G (g, h, y, z, u, v) au lieu de c = G (m, g, h, y, z, u, v) .
Ce quatrième mode de réalisation est en pratique une amélioration du procédé EDL classique, un peu différente des trois autres modes de réalisation. On obtient une signature ||r|| bits plus courte qu'une signature obtenue par un procédé EDL classique. Toutefois, ce mode de réalisation ne peut pas être mis en œuvre à la volée de manière simple et sans surcoût, contrairement aux trois premiers mode de réalisation.
L'invention concerne également un procédé de vérification d'une signature électronique (z, s, c) d'un message m obtenue par un procédé de signature selon l'invention tel que décrit ci-dessus. Si le procédé de signature est mis en œuvre selon le premier ou le deuxième mode de réalisation, le procédé de vérification associé comprend les étapes suivantes, consistant à :
• Fl : calculer u1 = gs.y~c mod p, h1 = H(u') et v1 = h's.z-c mod p, et
• F2 : accepter la signature si c = G (m, g, h1 , y, z,u' ,v' ) ou refuser la signature sinon.
Si le procédé de signature est mis en œuvre selon le troisième mode de réalisation, le procédé de vérification associé comprend les étapes suivantes, consistant à :
• Fl : calculer u? = gs.y~c mod p, h1 = H(u'), v1 = his.z-c mod p et t ' = I (g, h1 , y, z,u' , v1 ) ,
• F2 : accepter la signature si c = G(m,t') ou refuser la signature sinon.
Si le procédé de signature est mis en œuvre selon le quatrième mode de réalisation, le procédé de vérification associé comprend les étapes suivantes, consistant à :
• Fl : calculer u1 = gs.y~c mod p, h' = H (m, u1) et v1 = hιs.z-c mod p, et
• F2 : accepter la signature si c ≈ G (g, h1 ,y, z,u' , v' ) ou refuser la signature sinon.
L'invention concerne enfin un schéma de signature électronique à sécurité prouvée "tight" dans le modèle de l'oracle aléatoire, au cours duquel on met en œuvre successivement :
• un procédé de génération d'une clé publique y et d'une clé privée x tel que celui utilisé dans le schéma EDL, • un procédé de signature selon l'invention tel que décrit ci-dessus, et
• un procédé associé de vérification de signature selon l'invention tel que décrit ci-dessus. Tous les procédés de signature selon l'invention sont à sécurité prouvée de type "tight", donc au moins aussi sûrs que le procédé de signature EDL. La preuve de sécurité des procédés selon l'invention est similaire à celle développée pour le schéma EDL dans Eu-Jin Goh and Stanislaw Jarecki, A signature scheme as secure as te Diffie-Hellman problem. EUROCRYP'03, lecture notes in Computer science, pages 401-415, Springer Verlag, may 2003.
L'invention concerne enfin un composant électronique portable comprenant des moyens pour mettre en œuvre un procédé de signature et / ou un procédé de vérification et / ou un schéma de signature selon l'invention.
Un tel composant électronique est par exemple une carte à puce, ou bien une puce électronique sécurisée (en anglais TPM pour Trusted Platform Module) destinée à être utilisée dans un ordinateur classique de type PC non sécurisé.

Claims

REVENDICATIONS
1. Procédé de signature électronique d'un message m, caractérisé en ce qu'il utilise :
• p un nombre entier premier,
• q un nombre entier premier diviseur de (p-1) ,
• g, un élément d'ordre q de l'ensemble Zp des entiers modulo p,
• H et G, des fonctions de hachage,
• x une clé privée et y, par exemple y = gAx mod p, une clé publique de l'ensemble Zp,
pour réaliser les étapes suivantes, consistant à :
• El : générer k, un nombre aléatoire k de l ' ensemble Zq des entiers modulo q, et calculer u = gk mod p, h = H(u), z = hx mod p et v = hk mod p,
• E2 : calculer c = G (m, g, h, y, z, u, v) et s = k + c.x mod q, et
• E3 : produire une signature électronique du message m égale à (z, s, c) .
2. Procédé selon la revendication 1, au cours duquel : • au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (kfu,v,h,z), puis
• on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,u,v,h,z) mémorisé au cours de l'étape d'initialisation.
3. Procédé selon la revendication 1, au cours duquel : • au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (k,u,v,.z), puis • on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,u,v, z) mémorisé au cours de l'étape d'initialisation et en recalculant h = H(u) .
4. Procédé selon la revendication 1, utilisant également une fonction I de hachage et dans lequel :
• au cours de l'étape El, on calcule également t = I(g,h,y,z,u,v), , puis,
• au cours de l'étape E2, on calcule c = G (m, t) au lieu de c = G (m, g, h, y, z, u, v) .
5. Procédé selon la revendication 4, au cours duquel :
• au cours d'une phase d'initialisation on réalise l'étape El une ou plusieurs fois et on mémorise à la fin de chaque étape El un coupon (k,z,t), puis
• on réalise ensuite les étapes E2 et E3 pour chaque message m à signer en utilisant un coupon (k,z,t) mémorisé au cours de l'étape d'initialisation.
6. Procédé selon la revendication 2, 3 ou 5, au cours duquel, lors de la réalisation des étapes E2 et E3 on utilise un coupon mémorisé au cours de l'étape d'initialisation et non encore utilisé lors de la réalisation de précédentes étapes E2 et E3.
7. Procédé selon la revendication 1, dans lequel :
• au cours de l'étape El, on calcule h == H(m,u) au lieu de h = H(u) puis,
• au cours de l'étape E2, on calcule c = G (g, h, y, z, u, v) au lieu de c = G (m, g, h, y, z, u, v) .
8. Procédé de vérification d'une signature électronique (z, s, c) d'un message m obtenue par un procédé de signature selon une des revendications 1, 2, 3 ou selon la revendication 6 prise en combinaison avec la revendication 2 ou 3, caractérisé en ce qu'il comprend les étapes suivantes, consistant à :
• Fl : calculer u' ≈ gs.y~c mod p, h' = H(u') et v1 = h's.z-c mod p, et
• F2 : accepter la signature si c = G (m, g, h1 , y, z,u' , v1 ) ou refuser la signature sinon.
9. Procédé de vérification d'une signature électronique (z, s, c) d'un message m obtenue par un procédé de signature selon une des revendications 4, 5 ou 6 prise en combinaison avec la revendication 5, caractérisé en ce qu'il comprend les étapes suivantes, consistant à :
• Fl : calculer uf = gs.y~c mod p, h1 = H(u') , v' = h's.z-c mod p et t ' = I (g, h' , y, z, u' , v1 ) ,
• F2 : accepter la signature si c = G(m,t') ou refuser la signature sinon.
10. Procédé de vérification d'une signature électronique (z, s, c) d'un message m obtenue par un procédé de signature selon la revendication 7, caractérisé en ce qu'il comprend les étapes suivantes, consistant à :
• Fl : calculer u1 = gs.y~c mod p, h' = H (m, u') et v' =
• F2 : accepter la signature si c = G (g, h' , y, z,u' ,v' ) ou refuser la signature sinon.
11. Schéma de signature électronique à sécurité prouvée "tight" dans le modèle de l'oracle aléatoire, au cours duquel on met en œuvre successivement :
• un procédé de génération d'une clé privée x et d'une clé publique y tel que celui utilisé dans le schéma EDL,
• un procédé de signature selon l'une des revendications 1 à 7, et
• un procédé associé de vérification de signature selon la revendication 8 à 10.
12. Composant électronique portable, comprenant des moyens pour mettre en œuvre un procédé selon l'une des revendications 1 à 10 ou un schéma de signature selon la revendication 11.
13. Composant électronique selon la revendication 12, de type carte à puce.
14. Composant électronique selon la revendication 12, de type puce électronique sécurisé, et destiné à être utilisé dans un ordinateur de type PC non sécurisé.
EP05858607A 2004-11-05 2005-10-18 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 Withdrawn EP1820297A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0411789A FR2877788B1 (fr) 2004-11-05 2004-11-05 Procede de generation de signature avec preuve de securite "tight", procede de verification et schema de signature associes bases sur le modele de diffie-hellman
PCT/EP2005/055347 WO2007065468A1 (fr) 2004-11-05 2005-10-18 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

Publications (1)

Publication Number Publication Date
EP1820297A1 true EP1820297A1 (fr) 2007-08-22

Family

ID=34952518

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05858607A Withdrawn EP1820297A1 (fr) 2004-11-05 2005-10-18 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

Country Status (4)

Country Link
US (1) US20090138718A1 (fr)
EP (1) EP1820297A1 (fr)
FR (1) FR2877788B1 (fr)
WO (1) WO2007065468A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100280873A1 (en) * 2009-04-30 2010-11-04 Bryant Justin K Electronic coupon storage and manipulation system and method
EP3876155B1 (fr) 2020-03-02 2023-02-22 Nxp B.V. Dispositif rfid et procédé de fonctionnement d'un dispositif rfid
US20230224165A1 (en) 2020-06-02 2023-07-13 Nec Corporation Signature verification system, signature apparatus, signature verification method, and program
JP7452646B2 (ja) 2020-06-02 2024-03-19 日本電気株式会社 署名検証システム、署名検証方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082446A1 (en) * 1999-10-01 2008-04-03 Hicks Christian B Remote Authorization for Unlocking Electronic Data System and Method
US7020776B2 (en) * 2000-06-22 2006-03-28 Microsoft Corporation Cryptosystem based on a Jacobian of a curve
EP1815636B1 (fr) * 2004-11-11 2012-02-22 Certicom Corp. Nouvelle fonction a sens unique avec trappe sur des courbes elliptiques, et application pour permettre le chiffrement asymetrique et des signatures plus courtes

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
WO2007065468A1 (fr) 2007-06-14
US20090138718A1 (en) 2009-05-28
FR2877788A1 (fr) 2006-05-12
FR2877788B1 (fr) 2007-01-05

Similar Documents

Publication Publication Date Title
EP2296086B1 (fr) Protection d&#39;une génération de nombres premiers contre des attaques par canaux cachés
WO2007074149A1 (fr) Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée
EP2415199B1 (fr) Procede pour effectuer une tache cryptographique dans un composant electronique
EP0346180B1 (fr) Dispositif de communication sécurisée de données
EP3334121A1 (fr) Procédé de génération d&#39;une signature électronique d&#39;un document associé à un condensat
EP1145483B1 (fr) Procede d&#39;authentification ou de signature a nombre de calculs reduit
WO2006103149A1 (fr) Procede et dispositif cryptographique permettant de proteger les logiques de cles publiques contre les attaques par faute
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
FR2748877A1 (fr) Protocole de signature numerique a largeur de bande reduite
EP0909495B1 (fr) Procede de cryptographie a cle publique
WO2006030107A1 (fr) Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee
EP0963638B1 (fr) Procede de signature numerique
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
FR2752122A1 (fr) Procede d&#39;authentification a nombre reduit de bits transmis
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d&#39;alleger les calculs au cours de transactions
EP2587716A1 (fr) Procédé de signature cryptographique de messages, procédé de vérification de signature et dispositifs de signature et de vérification correspondants
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
WO1998037662A1 (fr) Systeme cryptographique comprenant un systeme de chiffrement et de dechiffrement et un systeme de sequestre de cles, et les appareils et dispositifs associes
EP4239944A1 (fr) Procédé de signature cryptographique d&#39;une donnée, dispositif électronique et programme d&#39;ordinateur associés
WO2006045660A2 (fr) Procede de generation de signature a la volee avec preuve de securite
FR3143243A1 (fr) Signature et dechiffrement de message securises par double rsa-crt
WO2000064097A1 (fr) Procede de verification de signature ou d&#39;authentification
FR2842968A1 (fr) Procede d&#39;obtention d&#39;une signature electronique possedant une garantie sur sa securite
WO2003013053A1 (fr) Procede de determination de la taille d&#39;un alea pour un schema de signature electronique
WO2006064112A2 (fr) Procédé de traitement de données utilisant une fonction de couplage et dispositif associé

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

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 9/32 20060101AFI20070807BHEP

RIN1 Information on inventor provided before grant (corrected)

Inventor name: CHEVALLIER-MAMES, BENOIT

17P Request for examination filed

Effective date: 20071214

RBV Designated contracting states (corrected)

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20080407

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20090818