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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
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)
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) |
-
2002
- 2002-07-26 FR FR0209554A patent/FR2842968B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
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'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 |