FR2842968A1 - Cryptography signature method for use with RSA public key algorithms involves generation of a public key from two very large numbers and an encryption exponent and a private key based on a decryption exponent - Google Patents

Cryptography signature method for use with RSA public key algorithms involves generation of a public key from two very large numbers and an encryption exponent and a private key based on a decryption exponent Download PDF

Info

Publication number
FR2842968A1
FR2842968A1 FR0209554A FR0209554A FR2842968A1 FR 2842968 A1 FR2842968 A1 FR 2842968A1 FR 0209554 A FR0209554 A FR 0209554A FR 0209554 A FR0209554 A FR 0209554A FR 2842968 A1 FR2842968 A1 FR 2842968A1
Authority
FR
France
Prior art keywords
message
public key
signature
exponent
encryption
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
Application number
FR0209554A
Other languages
French (fr)
Other versions
FR2842968B1 (en
Inventor
Jean Sebastien Coron
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
Priority to FR0209554A priority Critical patent/FR2842968B1/en
Publication of FR2842968A1 publication Critical patent/FR2842968A1/en
Application granted granted Critical
Publication of FR2842968B1 publication Critical patent/FR2842968B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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

Landscapes

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

Abstract

Method for generating an electronic signature, based on encryption using a public key algorithm, has the following steps: generation of a public key and a corresponding private key, the public key being the product of two very large numbers of the same size and an encryption exponent and the private key being comprised of a decryption exponent; encryption of a message; and finally decryption of the message using the private key.

Description

à;at;

PROCEDE D'OBTENTION D'UNE SIGNATURE ELECTRONIQUE  METHOD FOR OBTAINING ELECTRONIC SIGNATURE

POSSEDANT UNE GARANTIE SUR SA SECURITE  HAVING A GUARANTEE ON ITS SECURITY

La présente invention se rapporte à un procédé de signature électronique d'un message présentant une forte garantie quant à la sécurité de la signature, et est plus particulièrement destinée à s'appliquer aux schémas de signature basés sur un procédé d'encodage de message de type hachage (" hash-and-sign " dans la littérature anglo-saxonne) et incluant notamment les standards PKCS#1 vl.5 et ISO 9796-2 des schémas de  The present invention relates to a method of electronic signature of a message having a strong guarantee as to the security of the signature, and is more particularly intended to apply to signature schemes based on a message encoding method of hash-and-sign type and in particular including the PKCS # 1 vl.5 and ISO 9796-2 standards of the schemas of

signature RSA ou Rabin.RSA or Rabin signature.

Le concept de cryptographie à clef publique fut  The concept of public key cryptography was

inventé par Whitfield DIFFIE et Martin HELLMAN en 1976.  invented by Whitfield DIFFIE and Martin HELLMAN in 1976.

Le principe de la cryptographie à clef publique consiste à utiliser une paire de clefs, une clef publique de chiffrement et une clef privée de déchiffrement. Il doit être calculatoirement infaisable de trouver la clef privée de déchiffrement à partir de la clef publique de chiffrement. Autrement dit, les clefs de chiffrement et de déchiffrement sont non  The principle of public key cryptography is to use a pair of keys, a public encryption key and a private decryption key. It must be computationally infeasible to find the private decryption key from the public key encryption. In other words, the keys for encryption and decryption are no

reconstructibles l'une à partir de l'autre.  reconstructible one from the other.

Une personne A désirant communiquer une information à une personne B utilise la clef publique de chiffrement de la personne B. Seule la personne B  A person A wishing to communicate information to a person B uses the public encryption key of the person B. Only the person B

possède la clef privée associée à sa clef publique.  has the private key associated with its public key.

Seule la personne B est donc capable de déchiffrer le message qui lui est adressé, d'o un premier avantage,  Only the person B is therefore able to decipher the message addressed to him, hence a first advantage,

celui de la confidentialité.that of confidentiality.

Un autre avantage de la cryptographie à clé publique est qu'elle permet l'authentification par  Another advantage of public key cryptography is that it allows authentication by

l'utilisation de signature électronique.  the use of electronic signature.

La première réalisation de schéma de chiffrement à clef publique fut mise au point en 1977 par Rivest, Shamir et Adleman, qui ont inventé le système de chiffrement RSA. La sécurité de RSA repose sur la difficulté de factoriser un grand nombre qui est le produit de deux nombres premiers. Ce système de chiffrement est le système de chiffrement à clé publique le plus utilisé. Il peut être utilisé comme  The first public key encryption scheme was developed in 1977 by Rivest, Shamir, and Adleman, who invented the RSA encryption system. The security of RSA is based on the difficulty of factoring a large number that is the product of two prime numbers. This encryption system is the most widely used public key encryption system. It can be used as

procédé de chiffrement ou comme procédé de signature.  encryption method or as a signature method.

Le principe du système de chiffrement RSA est le suivant. Il peut être divisé en trois parties distinctes qui sont: 1) La génération de la paire de clés RSA; 2) Le chiffrement d'un message clair en un message chiffré, et 3) Le déchiffrement d'un message chiffré en un message  The principle of the RSA encryption system is as follows. It can be divided into three distinct parts which are: 1) The generation of the RSA key pair; 2) The encryption of a clear message into an encrypted message, and 3) The decryption of an encrypted message into a message

clair.clear.

La première partie est la génération de la clef RSA. Chaque utilisateur crée une clé publique RSA et une clé privée correspondante, suivant le procédé suivant en 5 étapes: 1) Générer deux nombres premiers distincts p et q de même taille; 2) Calculer n=pq et f=(p-l)(q-l); 3) Sélectionner aléatoirement un entier e, l<e<f, tel que pgcd(e, f)=l; 4) Calculer l'unique entier d, l<d<f, tel que e*d=l mod f; ) La clé publique est (n,e) ; la clé privée est d ou (d,p,q). Les entiers e et d sont appelés respectivement  The first part is the generation of the RSA key. Each user creates an RSA public key and a corresponding private key, following the following 5-step process: 1) Generate two distinct prime numbers p and q of the same size; 2) Calculate n = pq and f = (p-1) (q-1); 3) Randomly select an integer e, l <e <f, such that gcd (e, f) = 1; 4) Calculate the unique integer d, l <d <f, such that e * d = l mod f; ) The public key is (n, e); the private key is d or (d, p, q). The integers e and d are respectively called

exposant de chiffrement et exposant de déchiffrement.  cipher exponent and decryption exponent.

L'entier n est appelé le module RSA.  The integer n is called the RSA module.

La seconde partie consiste en le chiffrement d'un message clair noté m au moyen d'un algorithme, avec l<m<n, en un message chiffré noté c qui est le suivant:  The second part consists of the encryption of a clear message written m by means of an algorithm, with l <m <n, into a ciphered message noted c which is the following:

3 28429683 2842968

C=me mod n.C = me mod n.

La troisième partie consiste en le déchiffrement d'un message chiffré utilisant l'exposant privé d de déchiffrement au moyen d'un algorithme. L'algorithme de déchiffrement d'un message chiffré noté c avec 1<c<n en un message clair noté m est le suivant  The third part consists in the decryption of an encrypted message using the private exponent d of decryption by means of an algorithm. The algorithm for decrypting an encrypted message c with 1 <c <n in a clear message written m is as follows

m=cd mod n.m = cd mod n.

Le système Rabin est semblable au système RSA, la différence étant que l'exposant public de chiffrement  The Rabin system is similar to the RSA system, the difference being that the public exponent of encryption

est fixé à 2, ou plus généralement un entier pair.  is set to 2, or more generally an even integer.

Les systèmes RSA ou Rabin peuvent également être utilisés pour générer des signatures électroniques. Le principe d'un schéma de signature électronique basé sur le système RSA peut généralement être défini en trois parties: - La première partie étant la génération de la clef RSA ou Rabin, en utilisant la méthode décrite dans la première partie du système RSA ou Rabin décrite précédemment; - La deuxième partie étant la génération de la signature. Le procédé consiste à prendre en entrée le message M à signer, à lui appliquer un encodage utilisant une fonction f pour obtenir la chaîne de caractère f(M), et à appliquer le procédé de déchiffrement de la troisième partie du système RSA décrit précédemment. Ainsi, seule la personne possédant la clef privée peut générer la signature; - La troisième partie étant la vérification de la signature. Le procédé consiste à prendre en entrée le message M à signer et la signature s à vérifier, à appliquer un encodage au message M en utilisant une fonction f pour obtenir la chaîne de caractère f(M), à appliquer à la signature s le procédé de chiffrement décrit dans la deuxième partie du système RSA, et à vérifier que le résultat obtenu est égal à f(M). Dans ce cas, la signature s du message M est valide, et dans  RSA or Rabin systems can also be used to generate electronic signatures. The principle of an electronic signature scheme based on the RSA system can generally be defined in three parts: - The first part being the generation of the key RSA or Rabin, using the method described in the first part of the system RSA or Rabin previously described; - The second part is the generation of the signature. The method comprises taking the message M to input, applying an encoding using a function f to obtain the string f (M), and applying the decryption method of the third part of the RSA system described above. Thus, only the person possessing the private key can generate the signature; - The third part is the verification of the signature. The method consists of taking as input the message M to be signed and the signature s to be verified, to apply an encoding to the message M by using a function f to obtain the string f (M), to be applied to the signature s the method the encryption described in the second part of the RSA system, and to verify that the result obtained is equal to f (M). In this case, the signature s of the message M is valid, and in

le cas contraire elle est fausse.otherwise it is false.

Une orientation importante dans le domaine des signatures électroniques consiste à prouver que le schéma de signature est sr. Un schéma de signature est dit sr si le temps de calcul nécessaire pour forger une signature est hors de portée avec les moyens de calcul disponibles. La sécurité du schéma de signature basé sur le système RSA résulte du fait d'une part, de la non divulgation des nombres p et q intervenant dans la décomposition du module n et, d'autre part, de la difficulté pratique de la factorisation de n, les algorithmes actuels ayant un temps de calcul prohibitif en pratique quand la taille du module n est  An important orientation in the field of electronic signatures is to prove that the signature scheme is secure. A signature scheme is said to be safe if the computation time necessary to forge a signature is out of reach with the available computing means. The security of the signature scheme based on the RSA system results from the non-disclosure of the numbers p and q intervening in the decomposition of the module n and from the practical difficulty of the factorization of n, the current algorithms having a prohibitive calculation time in practice when the size of the module n is

suffisamment grande (512 à 1024 bits).  large enough (512 to 1024 bits).

Sans l'encodage effectué préalablement à la signature du message, on peut toutefois montrer qu'il est possible à une personne disposant de messages signés, de forger des signatures en appliquant des propriétés mathématiques particulières, notamment des propriétés multiplicatives sur les messages signés. Par exemple, selon le principe exposé plus haut du système de chiffrement RSA, soient un premier message m1 et un second message m2 et les deux signatures correspondantes, respectivement mld et m2d modulo n. La multiplication de ces deux signatures donne le résultat suivant d d Mld * M2= (ml.m2)d modulo n Ainsi, à partir de la signature d'un message m1 et m2, on peut trouver la signature du message m1.m2 et donc  Without the encoding performed prior to the signing of the message, it can however be shown that it is possible for a person with signed messages to forge signatures by applying specific mathematical properties, including multiplicative properties on signed messages. For example, according to the principle explained above of the RSA encryption system, a first message m1 and a second message m2 and the two corresponding signatures, respectively mld and m2d modulo n. The multiplication of these two signatures gives the following result d d Mld * M2 = (ml.m2) d modulo n Thus, from the signature of a message m1 and m2, we can find the signature of the message m1.m2 and therefore

forger une signature pour un tel message.  forge a signature for such a message.

L'encodage appliqué au message préalablement à sa signature proprement dite joue donc le rôle de - mécanisme de protection contre cette faille en rendant difficile l'application de propriétés multiplicatives de telles sortes et permet par conséquent de renforcer  The encoding applied to the message prior to its signature itself thus acts as a protection mechanism against this fault by making it difficult to apply multiplicative properties of such kinds and consequently makes it possible to strengthen

la sécurité du schéma de signature.  the security of the signature scheme.

Il existe de nombreux procédés d'encodage utilisant différentes fonctions d'encodage. Certain de ces procédés ont toutefois été cassés. En conséquence, malgré l'encodage préalable du message, on a pu démontrer, dès lors qu'un certain nombre de correspondances messages clairs/messages signés était disponible, qu'il était possible de trouver des propriétés multiplicatives et donc de forger des signatures. Une pratique courante pour les schémas de signature avec le système RSA ou Rabin consiste tout d'abord à hacher le message par l'application d'une fonction de hachage H de façon à obtenir un condensé du message, à remplir le condensé du message en concaténant des blocs de données fixes ou dépendants du message jusqu'à ce que la taille de l'encodé du message soit égale à la taille du module RSA n, puis à déchiffrer le résultat de l'encodage avec la clef de  There are many encoding methods using different encoding functions. Some of these processes have however been broken. Consequently, despite the prior encoding of the message, it was possible to demonstrate, since a certain number of clear message / signed message matches were available, that it was possible to find multiplicative properties and thus to forge signatures. A common practice for signature schemes with the RSA or Rabin system is to first chop the message by applying a hash function H to obtain a digest of the message, to fill in the message digest. concatenating fixed or message-dependent data blocks until the size of the encoded message is equal to the size of the RSA module n, and then decrypting the result of the encoding with the key of

déchiffrement privé.private decryption.

Ce principe dit " hash-and-sign " dans la littérature anglo-saxonne est à la base de nombreux  This so-called "hash-and-sign" principle in the Anglo-Saxon literature is at the root of many

schémas de signature.signature schemes.

Parmi ceux-ci, on trouve le schéma FDH, acronyme  Among these, we find the diagram FDH, acronym

pour l'expression anglo-saxonne " Full Domain Hash ".  for the Anglo-Saxon expression "Full Domain Hash".

Dans ce schéma de signature, le condensé du message, obtenu préalablement à la signature par l'application de la fonction de hachage, fait directement la pleine taille, soit la taille du module n. Ce schéma possède une preuve mathématiquement prouvée quant à la sécurité de la signature contre des attaques et garantit donc qu'il est pratiquement impossible de forger une  In this signature scheme, the digest of the message, obtained prior to the signature by the application of the hash function, is directly the full size, ie the size of the module n. This scheme has a mathematically proven proof of the security of the signature against attacks and therefore ensures that it is virtually impossible to forge a

signature à partir de ce schéma.signature from this schema.

Cependant, d'autres standards, basés sur le principe " Hash-and-Sign ", apparus antérieurement au schéma FDH, ne possèdent pas de preuve de sécurité. Aussi, on ne peut pas avoir totalement confiance dans l'utilisation de ces standards puisque l'impossibilité à forger une signature à partir de tels standards n'est  However, other standards, based on the "Hash-and-Sign" principle, which appeared before the HDD scheme, do not have any proof of security. Also, we can not have total confidence in the use of these standards since the impossibility to forge a signature from such standards is not

pas garantie.not guaranteed.

Un exemple est le standard de signature "ISO/IEC 9796-2, Information Technology - Security techniques Digital signature scheme giving message recovery, Part 2: Mechanisms using a hash-function, 1997". Un autre exemple concerne le standard de signature "RSA Laboboratories, PKCS#1 version 1.5". On peut encore  An example is the signing standard "ISO / IEC 9796-2, Information Technology - Technical Security Digital Signature scheme giving message recovery, Part 2: Mechanisms using a hash-function, 1997". Another example is the "RSA Laboboratories, PKCS # 1 version 1.5" signature standard. We can still

citer le standard SSL 3.02, et le standard ANSI x9.31.  quote the SSL 3.02 standard, and the ANSI x9.31 standard.

Ces standards concernent en fait des schémas de signature dits à hachage partiel dans le sens o la taille du condensé obtenu par l'application de la fonction de hachage H est inférieure à la taille du module RSA n et o il est nécessaire de concaténer au condensé des blocs de données indépendants ou qui dépendent du message lui-même. Dans les schémas de signature à hachage partiel, la taille de la fonction de hachage H est donc simplement une fraction de la  These standards in fact relate to so-called partial hash signature schemes in the sense that the size of the digest obtained by the application of the hash function H is smaller than the size of the RSA module n and where it is necessary to concatenate with the digest independent data blocks or dependent on the message itself. In the hash signature schemes, the size of the hash function H is therefore simply a fraction of the

taille du module n.module size n.

Ces standards de signature permettent plus particulièrement de signer des messages de taille arbitrairement longue et sont très largement utilisés dans de nombreuses applications commerciales. Aussi, il existe un besoin de renforcer le niveau de sécurité de  These signature standards allow more particularly to sign messages of arbitrarily long size and are widely used in many commercial applications. Also, there is a need to strengthen the security level of

ces standards.these standards.

De plus, en ce qui concerne le standard ISO 97962, il a été montré qu'il existe une attaque possible  Moreover, with regard to the ISO 97962 standard, it has been shown that there is a possible attack

7 28429687 2842968

contre ce standard si la taille de la fonction de  against this standard if the size of the function of

hachage est suffisamment petite.hash is small enough.

Aussi, la présente invention a pour but de déterminer un schéma de signature de type à hachage partiel basé sur le système RSA ou Rabin, qui pallie les inconvénients évoqués ci-dessus, à savoir qui possède un niveau de sécurité prouvé maximal, garantissant ainsi l'impossibilité de forger une  Also, the object of the present invention is to determine a partial hashing-type signature scheme based on the RSA or Rabin system, which overcomes the disadvantages mentioned above, ie which has a maximum proven level of security, thus ensuring impossibility of forging a

signature à partir d'un tel schéma de signature.  signature from such a signature scheme.

A cette fin, l'invention concerne un procédé d'obtention d'une signature électronique d'un message possédant une garantie sur sa sécurité, le schéma de signature électronique étant basé sur un encodage dudit message associé à un algorithme de chiffrement à clef publique, ledit procédé comprenant les étapes suivantes consistant à - générer une clef publique et une clef privée correspondante, ladite clef publique étant constituée d'un nombre n très grand, produit de deux nombres premiers p et q de même taille, et d'un exposant de chiffrement e choisi aléatoirement dans l'intervalle [2, (p-l).(q-l)-l], ladite clef privée étant constituée d'un exposant de déchiffrement d tel que e.d = 1 modulo (p-l).(q-1); - encoder le message à signer en calculant tout d'abord un condensé dudit message par l'application d'une fonction de hachage, puis en remplissant ledit condensé en concaténant un ensemble de blocs de données de telle sorte que la longueur du message encodé soit égale à la taille du nombre n; déchiffrer le message encodé en utilisant la clef privée; ledit procédé étant caractérisé en ce que l'exposant de chiffrement e est égal à 2 et en ce que la taille du y condensé obtenu par l'application audit message de la fonction de hachage est égale à au moins deux tiers de  To this end, the invention relates to a method for obtaining an electronic signature of a message having a guarantee on its security, the electronic signature scheme being based on an encoding of said message associated with a public key encryption algorithm said method comprising the steps of generating a public key and a corresponding private key, said public key consisting of a very large number n, produced by two prime numbers p and q of the same size, and an exponent c) randomly selected in the interval [2, (p1) (q1) -l], said private key being constituted by a decryption exponent d such that ed = 1 modulo (pl). (q-1) ; encode the message to be signed by first calculating a digest of said message by applying a hash function, then filling said digest by concatenating a set of data blocks so that the length of the encoded message is equal to the size of the number n; decipher the encoded message using the private key; said method being characterized in that the c exponent exponent e is 2 and in that the size of the condensed y obtained by the application to said message of the hash function is equal to at least two thirds of

la taille du nombre n.the size of the number n.

On a vu que les schémas de signature de type à hachage partiel basé sur RSA, notamment les standards ISO 9796-2, PKCS#l v.1,5, SSL-3.02 ou encore ANSI x9.31 ne présentent pas un niveau de sécurité maximale face à un attaquant ayant la possibilité d'obtenir la  We have seen that RSA-based partial-hashing type signing schemes, such as the ISO 9796-2, PKCS # 1 v.1.5, SSL-3.02 or ANSI x9.31 standards do not provide a level of security. maximum against an attacker having the opportunity to obtain the

signature de certains messages.signing of certain messages.

En effet, il existe de nombreuses situations pratiques dans lesquelles un attaquant peut obtenir la signature de messages de son choix. Si l'attaquant demande à un signataire un ensemble de signatures  Indeed, there are many practical situations in which an attacker can obtain the signature of messages of his choice. If the attacker asks a signatory for a set of signatures

correspondants à un ensemble de messages choisis m1..  corresponding to a set of selected messages m1 ..

15. mk, disposant alors de l'ensemble des messages choisis MI... mk et de leur signature associée, il peut essayer de forger une signature pour un message mk+1, bien choisi, différent des messages m1 à Mk, et fournir de cette façon, sans connaître la clef privée, une signature valide pour un message bien choisi. Ainsi, à partir de l'obtention de signatures associées aux messages de son choix, l'attaquant peut essayer de fournir une forge valide, soit un couple message/signature tel que leur vérification par la clef publique du schéma de signature est valide alors que la signature du message en question n'a jamais été requise  15. mk, then having the set of selected messages MI ... mk and their associated signature, he can try to forge a signature for a message mk + 1, well chosen, different messages m1 to Mk, and provide this way, without knowing the private key, a valid signature for a well chosen message. Thus, from the obtaining of signatures associated with the messages of his choice, the attacker can try to provide a valid forge, a couple message / signature such that their verification by the public key of the signature scheme is valid while the signature of the message in question was never required

par l'attaquant.by the attacker.

La preuve de la sécurité des schémas de signature évoqués plus haut repose sur la mise en oeuvre d'un modèle mathématique qui consiste en la suite d'étapes suivantes: - répondre aux requêtes de hachage et aux requêtes de signature d'un attaquant qui, à l'aide des données de messages condensés et de messages signés, renvoie y alors une forge, soit une signature valide d'un message dont il n'a pas demandé la signature auparavant, et le modèle, à partir de la clef publique (n,e), utilise cette forge renvoyée par l'attaquant pour résoudre le problème de la factorisation du module n qui est à la base de la sécurité du schéma de signature  The proof of the security of the signature schemes mentioned above is based on the implementation of a mathematical model consisting of the following steps: - responding to hash requests and signature requests from an attacker who, using condensed message data and signed messages, then returns a forge, a valid signature of a message that it did not request the signature before, and the model, from the public key ( n, e), uses this forge returned by the attacker to solve the problem of the factorization of the module n which is at the base of the security of the signature schema

basé sur RSA.based on RSA.

Ainsi, la preuve consiste à montrer que si il existe un attaquant qui peut forger des signatures, on peut l'utiliser pour résoudre le problème mathématique de la factorisation de n qui est à la base de la  Thus, the proof consists in showing that if there exists an attacker who can forge signatures, we can use it to solve the mathematical problem of the factorization of n which is at the base of the

sécurité du système RSA.RSA system security.

A contrario, si on suppose qu'il est difficile de factoriser n, il est impossible qu'il existe un attaquant. Par conséquent, la preuve de sécurité signifie que, si on suppose qu'il est difficile de  On the contrary, if we suppose that it is difficult to factorize n, it is impossible for an attacker to exist. Therefore, the proof of security means that, assuming that it is difficult to

factoriser n, alors le schéma de signature est sr.  factorize n, then the signature scheme is sr.

A partir de là, l'invention consiste en fait à garantir cette preuve de sécurité pour tous schémas de signature de type à hachage partiel basé sur RSA, qui jusqu'alors ne présentaient pas un niveau de sécurité maximal, et notamment pour les standards de signature PKCS#l vl.5, ISO 9796-2, SSL 3.02 ou ANSI x9.31. Pour ce faire, le procédé selon l'invention consiste à utiliser les procédés d'encodage prévus par ces standards, mais avec une taille de hachage supérieure à  From this point of view, the invention consists in guaranteeing this proof of security for all RSA-based partial-hashing type signature schemes, which hitherto did not have a maximum level of security, and in particular for standardization standards. PKCS # l vl.5, ISO 9796-2, SSL 3.02 or ANSI x9.31 signature. To do this, the method according to the invention consists in using the encoding methods provided by these standards, but with a hash size greater than

celle habituellement prévue.that usually provided.

La preuve de sécurité maximale pour les schémas de signature précités est donc subordonnée à la définition d'un cas particulier dans la mise en òuvre de ces schémas de signature et, plus précisément, on montre que les schémas de signature à hachage partiel possèdent un niveau de sécurité maximal pour une valeur de l'exposant de chiffrement e restreinte à 2 si la taille de la fonction de hachage est supérieure à au moins deux tiers de la taille du module n, en supposant qu'il est difficile de factoriser n. Cette taille minimum imposée au condensé obtenu par l'application de la fonction de hachage H au message est supérieure à la taille habituellement recommandée dans les standards de signature PKCS#l vl.5, ISO 9796-2, SSL 3.02 ou ANSI x9.31. Ce cas particulier défini par la présente invention, permettant de garantir un niveau de sécurité maximal pour les schémas de signature à hachage partiel, revient en fait à fournir un schéma de signature basé sur le système Rabin, puisque l'on  The maximum security proof for the aforementioned signature schemes is thus subordinated to the definition of a particular case in the implementation of these signature schemes and, more precisely, it is shown that the partial hashing signature schemes have a level maximum security for a value of the c exponent e restricted to 2 if the size of the hash function is greater than at least two-thirds of the size of the module n, assuming that it is difficult to factorize n. This minimum digest size obtained by applying the hash function H to the message is greater than the size usually recommended in the PKCS # l vl.5, ISO 9796-2, SSL 3.02, or ANSI x9.31 signing standards. . This particular case defined by the present invention, making it possible to guarantee a maximum level of security for the partial hash signature schemes, amounts in fact to providing a signature scheme based on the Rabin system, since one

impose la valeur 2 à l'exposant de chiffrement e.  sets the encryption exponent e to 2.

Soit l'exemple se rapportant à l'application du standard de signature PKCS#l vl.5, qui définit un schéma de signature à hachage partiel, kt(m) étant l'encodé du message m. Dans ce qui suit, il est entendu que toutes les abréviations de lettres ou lettres et chiffres qui suivent sont des nombres entiers  Consider the example relating to the application of the PKCS # l vl.5 signature standard, which defines a partial hash signature scheme, where kt (m) is the encoded message m. In what follows, it is understood that all abbreviations of letters or letters and numbers that follow are integers

équivalents à des chaînes de bits.  equivalent to bit strings.

jtt(m)=0001,61 IFFFF16...FFFF161 100161 IcsHA I H(m) Le symbole | | représente la concaténation de deux chaînes de bits respectives. L'indice 16 signifie une  jtt (m) = 0001.61 IFFFF16 ... FFFF161 100161 IcsHA I H (m) The symbol | | represents the concatenation of two respective bit strings. The index 16 means a

notation hexadécimale.hexadecimal notation.

La fonction de hachage H est réalisée dans cette représentation de remplissage par l'algorithme SHA,  The hash function H is performed in this filling representation by the algorithm SHA,

soit H(m) = SHA(m).let H (m) = SHA (m).

CSHA étant une constante telle que csA = 3021300906052BOE03021AO500041416 Selon le standard PKCS#l vl.5, l'encodé pt(m) peut également être représenté de la façon qui suit KL(m)=0001161 FFFF16...FFFF16 100161 I CMD5I IH(m) La fonction de hachage H est alors réalisée dans cette représentation de remplissage par l'algorithme  CSHA being a constant such that csA = 3021300906052BOE03021AO500041416 According to the PKCS # l vl.5 standard, the encoded pt (m) can also be represented in the following way KL (m) = 0001161 FFFF16 ... FFFF16 100161 I CMD5I IH (m) The hash function H is then performed in this filling representation by the algorithm

MD5, soit H(m) = MD5(m).MD5 is H (m) = MD5 (m).

CMD5 étant une constante telle queCMD5 being a constant such that

CMD5 = 3020300C6082A864886F70DO2050500041016  CMD5 = 3020300C6082A864886F70DO2050500041016

Le standard PKCS#1 vl.5 n'a pas été conçu pour fonctionner avec le système de chiffrement Rabin, o l'exposant de chiffrement e est égal à deux. Cependant, en remplaçant le dernier demi-octet de H(m) par 616, on obtient un procédé d'encodage compatible avec le  The PKCS # 1 vl.5 standard was not designed to work with the Rabin encryption system, where the c exponent e is two. However, by replacing the last half-byte of H (m) by 616, we obtain a coding method compatible with the

système de chiffrement Rabin.Rabin encryption system.

Le standard PKCS#l vl.5 possède alors un niveau de sécurité prouvé maximal si la taille de la fonction de hachage H(m) est supérieure à au moins deux tiers de la taille du module n (typiquement 512 ou 1024 bits), ce qui est bien supérieur à la taille de 128 ou 160 bits  The PKCS # l vl.5 standard then has a maximum proven level of security if the size of the hash function H (m) is greater than at least two-thirds of the size of the module n (typically 512 or 1024 bits). which is well above the size of 128 or 160 bits

qui est habituellement recommandé pour ce standard.  which is usually recommended for this standard.

La même analyse s'applique aux standards de signature ISO 9796-2, SSL-3. 02 ou ANSI x9.31 et un niveau de sécurité maximal est atteint pour ces standards si la taille de la fonction de hachage est supérieure à au moins deux tiers de la taille du module n. L'invention est particulièrement avantageuse puisqu'elle permet d'atteindre un niveau maximal de sécurité pour un schéma de signature, tout en permettant de continuer à utiliser les standards les plus communément mis en oeuvre dans de telles applications. L'invention est de plus très facile à implémenter puisqu'il suffit d'augmenter la taille de sortie de la fonction de hachage appliquée au message jusqu'à atteindre la valeur minimum prévue par l'invention, à  The same analysis applies to ISO 9796-2, SSL-3 signature standards. 02 or ANSI x9.31 and a maximum security level is reached for these standards if the size of the hash function is greater than at least two-thirds of the size of the module n. The invention is particularly advantageous since it makes it possible to achieve a maximum level of security for a signature scheme, while allowing to continue to use the standards most commonly used in such applications. The invention is moreover very easy to implement since it suffices to increase the output size of the hash function applied to the message to reach the minimum value provided by the invention,

savoir au moins deux tiers de la taille du module n.  to know at least two thirds of the size of the module n.

L'invention est applicable à de nombreux standards, parmi lesquels ceux déjà cités PKCS#l vl.5, ISO 9796-2, SSL 3.02 ou ANSI x9.31, sans pour autant que cette liste soit limitative et est plus généralement applicable à tout schéma de signature de type à hachage partiel basé sur le système RSA ou Rabin. Enfin, l'invention est facilement utilisable dans un dispositif électronique de type carte à puce ou  The invention is applicable to many standards, among which those already mentioned PKCS # l vl.5, ISO 9796-2, SSL 3.02 or ANSI x9.31, without however this list being limiting and is more generally applicable to all Partial hash type signature scheme based on the RSA or Rabin system. Finally, the invention can easily be used in an electronic device of the smart card type or

analogue.similar.

13 284296813 2842968

Claims (6)

REVENDICATIONS 1. Procédé d'obtention d'une signature électronique d'un message m possédant une garantie sur sa sécurité, le schéma de signature électronique étant basé sur un encodage dudit message m associé à un algorithme de chiffrement à clef publique, ledit procédé comprenant les étapes suivantes consistant à: - générer une clef publique et une clef privée correspondante, ladite clef publique étant constituée d'un nombre n très grand, produit de deux nombres premiers p et q de même taille, et d'un exposant de chiffrement e choisi aléatoirement dans l'intervalle [2, (p-l).(q-l)-l, ladite clef privée étant constituée d'un exposant de déchiffrement d tel que e.d = 1 modulo (p-l).(q-1); - encoder le message à signer en calculant tout d'abord un condensé dudit message par l'application d'une fonction de hachage H(m), puis en remplissant ledit condensé en concaténant un ensemble de blocs de données dépendant ou indépendant dudit message m de telle sorte que la longueur du message encodé soit égale à la taille du nombre n; - déchiffrer le message encodé en utilisant la clef privée; ledit procédé étant caractérisé en ce que l'exposant de chiffrement e est égal à 2 et en ce que la taille du condensé obtenu par l'application audit message m de la fonction de hachage H(m) est égale à au moins deux  1. A method for obtaining an electronic signature of a message m having a guarantee on its security, the electronic signature scheme being based on an encoding of said message m associated with a public key encryption algorithm, said method comprising the the following steps consisting of: generating a public key and a corresponding private key, said public key consisting of a very large number n, produced by two prime numbers p and q of the same size, and an encryption exponent e chosen randomly in the interval [2, (p1) (q1) -l, said private key being constituted by a decryption exponent d such that ed = 1 modulo (pl). (q-1); encoding the message to be signed by first calculating a digest of said message by the application of a hash function H (m), then filling said digest by concatenating a set of data blocks depending or independent of said message such that the length of the encoded message is equal to the size of the number n; - decrypt the encoded message using the private key; said method being characterized in that the encryption exponent e is 2 and in that the size of the digest obtained by applying to said message m the hash function H (m) is equal to at least two tiers de la taille du nombre n.third of the size of the number n. 2. Procédé selon la revendication 1, caractérisé en ce que le schéma de signature est mis en òuvre selon  2. Method according to claim 1, characterized in that the signature scheme is implemented according to le standard PKCS#1 vl.5.the PKCS # 1 standard vl.5. i4 2842968i4 2842968 > 14> 14 3. Procédé selon la revendication 1, caractérisé en ce que le schéma de signature est mis en oeuvre selon le standard ISO 9796-2  3. Method according to claim 1, characterized in that the signature scheme is implemented according to the ISO 9796-2 standard 4. Procédé selon la revendication 1, caractérisé en ce que le schéma de signature est mis en oeuvre selon4. Method according to claim 1, characterized in that the signature scheme is implemented according to le standard SSL-3.02.the SSL-3.02 standard. 5. Procédé selon la revendication 1, caractérisé en ce que le schéma de signature est mis en oeuvre selon  5. Method according to claim 1, characterized in that the signature scheme is implemented according to le standard ANSI x9.31.the ANSI x9.31 standard. 6. Procédé selon l'une quelconque des  6. Process according to any one of revendications précédentes, caractérisé en ce que le  preceding claims, characterized in that the procédé est utilisé dans un dispositif électronique de  process is used in an electronic device of type carte à puce.type smart card.
FR0209554A 2002-07-26 2002-07-26 METHOD FOR OBTAINING AN ELECTRONIC SIGNATURE HAVING A GUARANTEE ON ITS SECURITY Expired - Fee Related FR2842968B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0209554A FR2842968B1 (en) 2002-07-26 2002-07-26 METHOD FOR OBTAINING AN ELECTRONIC SIGNATURE HAVING A GUARANTEE ON ITS SECURITY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0209554A FR2842968B1 (en) 2002-07-26 2002-07-26 METHOD FOR OBTAINING AN ELECTRONIC SIGNATURE HAVING A GUARANTEE ON ITS SECURITY

Publications (2)

Publication Number Publication Date
FR2842968A1 true FR2842968A1 (en) 2004-01-30
FR2842968B1 FR2842968B1 (en) 2004-10-08

Family

ID=30011538

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0209554A Expired - Fee Related FR2842968B1 (en) 2002-07-26 2002-07-26 METHOD FOR OBTAINING AN ELECTRONIC SIGNATURE HAVING A GUARANTEE ON ITS SECURITY

Country Status (1)

Country Link
FR (1) FR2842968B1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BRIER E ET AL: "Cryptanalysis of RSA signatures with fixed-pattern padding", ADVANCES IN CRYPTOLOGY - CRTPTO 2001. 21ST ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE, PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.2139), ADVANCES IN CRYPTOLOGY- CRYPTO 2001. 21ST ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE, SANTA BARBARA, CA,, 2001, BERLIN, GERMANY, SPRINGER-VERLAG, GERMANY, PAGE(S) 433 - 439, ISBN: 3-540-42456-3, XP002237769 *
MISARSKY J -F: "How (not) to design RSA signature schemes", PUBLIC KEY CRYPTOGRAPHY. FIRST INTERNATIONAL WORKSHOP ON PRACTICE AND THEORY IN PUBLIC KEY CRYPTOGRAPHY, PKC'98. PROCEEDINGS, PUBLIC KEY CRYPTOGRAPHY FIRST INTERNATIONAL WORKSHOP ON PRACTICE AND THEORY IN PUBLIC KEY CRYPTOGRAPHY, PKC'98 PROCEEDINGS,, 1998, BERLIN, GERMANY, SPRINGER-VERLAG, GERMANY, PAGE(S) 14 - 28, ISBN: 3-540-64693-0, XP002237770 *

Also Published As

Publication number Publication date
FR2842968B1 (en) 2004-10-08

Similar Documents

Publication Publication Date Title
EP1738517B1 (en) Zero-knowledge proof cryptography methods and devices
EP1151576B1 (en) Public and private key cryptographic method
FR2759226A1 (en) PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE
EP2345202A2 (en) Digital signature method in two steps
EP3334121A1 (en) Process of generating an electronic signature of a document associated to a digest
EP2179535B1 (en) Asymmetrical ciphering or signature check method
FR2888690A1 (en) CRYPTOGRAPHIC PROCESS FOR THE SECURE IMPLEMENTATION OF AN EXPONENTIATION AND ASSOCIATED COMPONENT
FR2747257A1 (en) METHOD OF IDENTIFICATION AND / OR SIGNATURE
CA2273632C (en) Digital signature method
CA2257907A1 (en) Public key cryptography method
EP2449721B1 (en) Cryptography by parameterizing on elliptic curve
FR2716058A1 (en) Digital signature and message authentication method using discrete logarithm.
FR2752122A1 (en) Reduced bit authentification method for zero knowledge public key encryption
EP1829279A2 (en) Method and device for executing a cryptographic calculation
EP1438804B1 (en) Public key cryptographic method based on braid groups
EP1325584A1 (en) Method for encoding long messages for rsa electronic signature schemes
EP1820297A1 (en) Method of generating a signature with proof of tight security, associated verification method and associated signature scheme that are based on the diffie-hellman model
EP1456998A1 (en) Cryptographic method for distributing load among several entities and devices therefor
FR2842968A1 (en) Cryptography signature method for use with RSA public key algorithms involves generation of a public key from two very large numbers and an encryption exponent and a private key based on a decryption exponent
EP1407575B1 (en) Procede pour effectuer une tache cryptographique au moyen d&#39;une cle publique.
WO1998051038A1 (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
FR2842052A1 (en) CRYPTOGRAPHIC METHOD AND DEVICES FOR REDUCING CALCULATION DURING TRANSACTIONS
WO2006045660A2 (en) On-the-fly signature generation method with security proof
WO2003021864A2 (en) Method of reducing the size of an rsa or rabin signature
FR3070517A1 (en) SYSTEM AND METHOD FOR AUTHENTICATION AND DIGITAL SIGNATURE

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100331