WO2003055134A1 - Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede - Google Patents

Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede Download PDF

Info

Publication number
WO2003055134A1
WO2003055134A1 PCT/FR2002/004366 FR0204366W WO03055134A1 WO 2003055134 A1 WO2003055134 A1 WO 2003055134A1 FR 0204366 W FR0204366 W FR 0204366W WO 03055134 A1 WO03055134 A1 WO 03055134A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
evidence
piece
integer
public key
Prior art date
Application number
PCT/FR2002/004366
Other languages
English (en)
Other versions
WO2003055134A9 (fr
Inventor
Marc Girault
Jean-Jacques Quisquater
Original Assignee
France Telecom
Math, Riszk
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 France Telecom, Math, Riszk filed Critical France Telecom
Priority to EP02799095A priority Critical patent/EP1456998A1/fr
Priority to JP2003555732A priority patent/JP2005513564A/ja
Priority to AU2002364321A priority patent/AU2002364321A1/en
Priority to US10/499,563 priority patent/US7382875B2/en
Priority to KR1020047009924A priority patent/KR100971038B1/ko
Priority to CN028277910A priority patent/CN1618200B/zh
Publication of WO2003055134A1 publication Critical patent/WO2003055134A1/fr
Publication of WO2003055134A9 publication Critical patent/WO2003055134A9/fr

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
    • 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
    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/80Wireless

Definitions

  • the invention finds an application in all systems using public key cryptography to secure their elements and or their transactions, and more particularly in systems where the number of calculations performed by the different parties constitutes for at least one of them a critical parameter, either because it does not have a coprocessor specialized in cryptographic calculations, often called cryptoprocessor, in order to accelerate them, or because it is capable of performing a large number of calculations simultaneously for example in the case of a central server, or for any other reason.
  • a limitation of all the cryptographic methods known to date is that the number of calculations that each of the parts must perform is fixed by the method itself and cannot be modified. In particular, it is not possible to modulate the distribution of calculations between the prover and a third party party not necessarily trusted, in order to adapt to this or that environment. This prevents the same process from being used in a variety of environments, where the constraints are different.
  • the object of the present invention is to specify public key cryptographic methods in which it is possible to distribute a large quantity of calculations between at least two of several entities involved without this distribution modifying the level of security offered by said methods. In the case of an authentication or digital signature process using a public key, the invention is particularly useful for lightening the task of the prover by reducing the number of calculations it performs.
  • the invention makes it possible to delegate part of the calculations to another entity, without any trust being necessarily associated with this other entity. More generally, the invention makes it possible to distribute in any way all or part of the calculations between several entities concerned so that the constraints linked to a given application are satisfied.
  • the second element of proof Y generated is equal to a power modulo n of a second whole number g included or not in said public key and whose exponent is the image y of private key, the second integer g being such that the first integer G of public key is a modulo n power of the second integer g with for exposing a third integer e included in said public key. It will be noted on the one hand that knowledge of the image of the private key generated in the third step does not provide any information on the private key because it is masked by the linear combination with the first random number including the first element of evidence reveals nothing.
  • the value of y 1 then less than the value of y requires only reduced computing resources in the second entity to generate the first component Y 'and the second component g 1 .
  • the second partial image and the two components Y ′ and g ′ being sufficient for any entity to generate the second piece of evidence without complete knowledge of the private key image, the security of the process is reinforced.
  • the second step is performed by the second entity which, for the first piece of evidence received from the second entity, chooses at least one common number in a security interval and sends said common number to the first entity.
  • the concordance is checked in the fifth step when the first element of proof is equal to a function of the digital message M to which the first element of proof is attached. and of the product modulo n of the power of the second piece of evidence Y whose exponent is the third integer e and the power of the fourth integer v included in said public key whose exponent is said common number c.
  • the second step is executed by the first entity which generates at least one common number as a function of the first piece of evidence and of the digital message M to which said number is attached. common.
  • the means of calculation are arranged to declare the agreement verified when the first element of proof x is equal to the product modulo n of the power of the second element of proof Y whose exponent is the third whole number e and of the power of fourth integer v included in said public key whose exponent is said common number c.
  • the means of calculation include in memory a quantity k of pre-calculated values of first element of proof x, the means of communications are arranged to receive k second elements of evidence and the means of calculation are arranged to check a concordance of each second piece of evidence received with a value different from first piece of evidence.
  • FIG. 1 shows steps of the authentication method of a second entity by a first entity according to the invention
  • entity A generates an image y of the private key in the form of a linear combination of the number r and the number s whose multiplicative coefficient is the common number c.
  • the random number r being very large and not communicated, a knowledge of the image y does not allow to find the product se and therefore, does not allow to find the number s of private key which therefore remains kept secret by the entity A. Only entity A having knowledge of the number s, only entity A can generate an image which integrates the common number c.
  • the probability of not detecting this imposter is equal to 1 / kt.
  • the product kt can be chosen relatively small, for example of the order of 2 16 .
  • the calculation of Y is shared between entities A and C.
  • the process takes place in an identical manner to that described with reference to FIG. 1 up to step 13.
  • the image y is broken down according to the formula: y ⁇ y '+ 2 u y ".
  • u is a positive integer
  • y ' is an integer less than 2 U.
  • Decomposition is easy to perform.
  • the first partial image y' is represented by the u least significant bits of this word.
  • the second partial image is represented by the remaining most significant bits of this computer word.
  • the fourth step to calculate the second piece of evidence is here broken down into two substeps 18 and 25.
  • entity A generates an image y of the private key in the form of a linear combination of the number r and the number s whose multiplicative coefficient is the common number c.
  • the random number r being very large and not communicated, a knowledge of the image y does not allow to find the product se and therefore, does not allow to find the number s of private key which therefore remains kept secret by the entity A. Only entity A having knowledge of the number s, only entity A can generate an image which integrates the common number c.
  • the entity A sends the private key image y to an intermediate entity C. As seen above, the image y gives no information on the private key.
  • a third step 24 directly following step 23 the entity
  • Entity A then sends the message M and the signature (c ', y) to entity B or to any other entity.
  • the reception by the entity C of the image y which validates the transition 4 can result from a reception of the message M with its signature (c'.y) coming from the entity A or from any other entity.
  • the reception by the entity C of the image y results from a step 3 activated by the transition 2.
  • entity B extracts image y from the signature to send it to entity C.
  • step 6 executed before validation of the transition 7, the entity B extracts the common number c 'from the signature to obtain a number z equal to v c' which facilitates the calculation of V in step 8.
  • the intermediate device 32 comprises communication means 36 and calculation means 39.
  • the communication means 36 are arranged to emit the second piece of evidence Y in accordance with step 15 described with reference to FIGS. 2 and 4, in step 25 described with reference to Figure 3 or step 5 described with reference to Figure 5.
  • the communication means 36 are also arranged to receive the private key image y in accordance with the transition 14 described with reference to the figures 2 and 4, the private key image y in accordance with transition 4 described with reference to FIG. 5 or the partial image y "of private key and the two components g 'and Y' of second piece of evidence in accordance with transition 14 described with reference to FIG. 3.
  • the calculation means 39 are arranged to execute step 15 described with reference to FIGS. 2 or 4, step 25 described with reference to FIG. 3 or step 5 d written with reference to FIG. 5. depending on the version of the process to be implemented.
  • the calculation means 39 comprise a microprocessor and programs or combinational circuits dedicated to the calculations described above.
  • the previously described calculation and communication means are arranged to repeat k times the execution of the previously described steps, each time for a first piece of evidence and a second piece of separate evidence.

Landscapes

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

Abstract

Une deuxième entité (B) vérifie au moyen d'une clé publique, une preuve donnée par une première entité (A), grâce au procédé cryptographique selon lequel la première entité (A) génère un premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité (A). La première entité (A) génère un premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r. En association avec le premier élément de preuve, un nombre dit commun, est généré de façon à ce que la deuxième entité (B) et la première entité (A) aient connaissance du dit nombre commun. La première entité (A), génère une image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée. Au moins un coefficient multiplicatif de la combinaison linéaire est le dit nombre commun. Une entité quelconque génère un deuxième élément de preuve Y égal à une puissance modulo n d'un deuxième nombre entier G compris ou non dans ladite clé publique et dont l'exposant est l'image y du dit nombre commun, et envoie le deuxième élément de preuve Y à la première entité (B). La deuxième entité (B) vérifie que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est un troisième nombre entier e et d'une puissance d'un quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.

Description

PROCÉDÉ CRYPTOGRAPHIQUE PERMETTANT DE REPARTIR LA CHARGE ENTRE PLUSIEURS ENTITÉS ET DISPOSITIFS POUR METTRE
EN ŒUVRE CE PROCÉDÉ
L'invention relève du domaine technique de la cryptographie, et plus précisément de la cryptographie dite à clé publique. Dans ce type de cryptographie, un utilisateur détient une paire de clés pour un usage donné. Ladite paire de clés est constituée d'une clé privée que cet utilisateur maintient secrète et d'une clé publique associée que cet utilisateur peut communiquer à d'autres utilisateurs. Par exemple, s'il s'agit d'une paire de clés dédiée à la confidentialité, alors la clé publique est utilisée pour chiffrer les données, tandis que la clé secrète est utilisée pour les déchiffrer, c'est-à-dire pour rétablir ces données en clair.
La cryptographie à clé publique est d'une très grande utilité dans la mesure où, contrairement à la cryptographie à clé secrète, elle n'exige pas que les interlocuteurs partagent un même secret afin d'établir une communication sécurisée. Cependant, cet avantage en termes de sécurité s'accompagne d'un désavantage en termes de performance, car les procédés de cryptographie à clé publique, appelés encore « schémas à clé publique », sont souvent cent ou mille fois plus lents que les procédés de cryptographie à clé secrète appelés encore « schémas à clé secrète ». C'est donc un défi très important que de trouver des procédés de cryptographie à clé publique d'exécution rapide, de façon à pouvoir les mettre en œuvre dans des environnements peu dotés en ressources, tels que les cartes à microprocesseur standards, avec ou sans contacts.
La plupart des schémas à clé publique actuellement existants reposent sur la difficulté de problèmes mathématiques issus du domaine de l'arithmétique (ou « théorie des nombres »). C'est ainsi que la sécurité du schéma de chiffrement et de signature numérique RSA (Rivest, Shamir, Adieman) repose sur la difficulté du problème de la factorisation des nombres entiers : étant donné un très grand nombre entier (plus de 500 bits) obtenu de façon privée en multipliant deux ou plusieurs facteurs premiers de tailles comparables, il n'existe pas aujourd'hui de méthode efficace pour retrouver ces facteurs premiers.
D'autres schémas à clé publique, tels que le schéma de chiffrement ou de signature numérique de EIGamal, font reposer leur sécurité sur la difficulté du problème dit du logarithme discret. Ce problème peut être énoncé dans sa plus grande généralité de la façon suivante : soit E un ensemble muni d'une opération (c'est-à-dire d'une fonction qui, à deux éléments a et b, associe un élément noté « a.b » ou « ab », et appelé produit de a et b), g un élément de E, r un grand nombre entier et y le nombre entier défini par : y = gr (c'est-à-dire le produit g.g....g avec r occurrences de g) ; alors il est infaisable de retrouver r à partir de g et y.
La présente invention concerne plus particulièrement le domaine technique de l'authentification d'entité, encore appelée identification, ainsi que celui de l'authentification de message et de la signature numérique de message, au moyen de techniques cryptographiques à clé publique. Dans de tels procédés, l'entité authentifiée appelée prouveur, possède une clé secrète ou clé privée et une clé publique associée. Le prouveur utilise la clé secrète pour produire une valeur d'authentification. L'entité qui authentifie, appelée vérificateur, a uniquement besoin de la clé publique du prouveur pour vérifier la valeur d'authentification.
L'invention concerne plus particulièrement encore les procédés d'authentification dits à divulgation de connaissance nulle ou sans apport de connaissance (« zero-knowledge »). Cela signifie que l'authentification se déroule suivant un protocole qui, de façon prouvée, ne révèle rien sur la clé secrète de l'entité authentifiée, et ce quel que soit le nombre d'utilisations. On sait, à l'aide de techniques standards, déduire de ce type de schémas des schémas d'authentification de message et de signature numérique de message. L'invention concerne plus particulièrement encore des procédés dont la sécurité repose à la fois sur la difficulté du problème de la factorisation des nombres entiers et du problème dit du logarithme discret.
L'invention trouve une application dans tous les systèmes ayant recours à la cryptographie à clé publique pour sécuriser leurs éléments et ou leurs transactions, et plus particulièrement dans les systèmes où le nombre de calculs effectués par les différentes parties constitue pour au moins l'une d'entre elles un paramètre critique, soit parce qu'elle ne dispose pas d'un coprocesseur spécialisé dans les calculs cryptographiques, appelé souvent cryptoprocesseur, afin de les accélérer, soit parce qu'elle est susceptible d'effectuer un grand nombre de calculs simultanément par exemple dans le cas d'un serveur central, soit pour toute autre raison.
Une application typique est le paiement électronique, par carte bancaire ou par porte-monnaie électronique. Dans le cas du paiement de proximité, le terminal de paiement se trouve dans un lieu public, ce qui incite à utiliser des procédés de cryptographie à clé publique, afin qu'il ne stocke aucune clé- maître. Afin de réduire les coûts globaux d'un tel système, on peut souhaiter, soit que la carte soit une carte à microprocesseur standard c'est-à-dire que la carte n'est pas dotée d'un cryptoprocesseur, soit que le microprocesseur sécurisé contenu dans le terminal soit lui-même de type standard, soit les deux. Selon les cas, et selon le procédé cryptographique retenu, l'état de la technique actuellement connue permet d'atteindre: l'un ou l'autre de ces objectifs, mais permet difficilement d'atteindre les deux simultanément, en respectant les contraintes du système. Un exemple de telle contrainte est que le paiement s'effectue en moins d'une seconde, voire en moins de 150 millisecondes dans le cas d'une transaction sans contact, voire encore en quelques millisecondes dans le cas d'un péage d'autoroute.
Une limitation de tous les procédés cryptographiques connus à ce jour est que le nombre de calculs que doit effectuer chacune des parties est fixé par le procédé lui-même et ne peut pas être modifié. En particulier, il n'est pas possible de moduler la répartition des calculs entre le prouveur et une tierce partie non nécessairement de confiance, afin de s'adapter à tel ou tel environnement. Cela empêche qu'un même procédé puisse être utilisé dans une variété d'environnements, dans lesquels les contraintes sont différentes. La présente invention a pour objet de spécifier des procédés cryptographiques à clé publique dans lesquels il soit possible de répartir une quantité importante de calculs entre au moins deux de plusieurs entités impliquées sans que cette répartition ne modifie le niveau de sécurité offert par lesdits procédés. Dans le cas d'un procédé d'authentification ou de signature numérique à clé publique, l'invention est particulièrement utile pour alléger la tâche du prouveur en réduisant le nombre de calculs qu'il effectue. L'invention permet de déléguer une partie des calculs à une autre entité, sans qu'aucune confiance ne soit nécessairement associée à cette autre entité. Plus généralement, l'invention permet de répartir de manière quelconque tout ou partie des calculs entre plusieurs entités concernées de telle sorte que les contraintes liées à une application donnée soient satisfaites.
Considérant un procédé cryptographique dans lequel une première entité génère au moyen d'une clé privée gardée secrète par la première entité, une preuve vérifiable par une deuxième entité au moyen d'une clé publique associée à ladite clé privée, le procédé selon l'invention est remarquable en ce qu'il comprend une étape dans laquelle au moins un élément de preuve est généré au moins en partie par traitement numérique ouvert d'une donnée qui ne permet pas de retrouver ladite clé privée.
On entend par traitement numérique ouvert, un traitement numérique qui ne bénéficie pas de protection particulière contre d'éventuelles intrusions. Ce traitement numérique ouvert est exécutable par une entité quelconque. La donnée précédemment mentionnée est par exemple une image de ladite clé privée.
Cette possibilité de répartition permet à un même procédé cryptographique d'être utilisé dans de nombreuses applications et environnements aux contraintes très variées. En particulier, elle peut permettre d'effectuer des transactions en un temps réduit avec des puces aux capacités de calcul limitées.
On connaît des procédés cryptographiques qui utilisent une propriété des groupes finis par exemple comprenant n nombres entiers et munis d'une loi de composition interne telle que la multiplication. Il est pratiquement impossible de retrouver un exposant à l'origine d'une exponentiation, en particulier lorsque n est un nombre composé d'au moins deux nombres premiers très grands.
Particulièrement, le procédé selon l'invention comprend: - une première étape dans laquelle la première entité génère un premier élément de preuve au moyen d'un premier nombre aléatoire gardé secret par la première entité,
- une deuxième étape dans laquelle un ou plusieurs nombres dits communs sont générés en association avec le premier élément de preuve, dé façon à ce que la première entité et la deuxième entité puissent avoir connaissance du ou des dits nombres communs,
- une troisième étape dans laquelle la première entité, génère une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un des dits nombres communs,
- une quatrième étape dans laquelle est généré un deuxième élément de preuve en appliquant à l'image de ladite clé privée, un traitement numérique ouvert exécutable par une entité quelconque, de façon à permettre à la deuxième entité de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs.
On entend par génération d'un nombre commun en association avec le premier élément de preuve, une génération de nombre commun pour laquelle le premier élément de preuve doit être préalablement connu. Cette génération peut être purement aléatoire et indépendante du premier élément de preuve ou fonction du premier élément de preuve. Selon cette association, il est impossible de revenir sur le premier élément de preuve lorsque le nombre commun est généré. Plus particulièrement:
- dans la première étape, la première entité génère le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité et la première entité génère le premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r,
- dans la troisième étape, la première entité génère l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs,
- - dans la quatrième étape, le deuxième élément de preuve Y généré est égal à une puissance modulo n d'un deuxième nombre entier g compris ou non dans ladite clé publique et dont l'exposant est l'image y de clé privée, le deuxième nombre entier g étant tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique. On notera d'une part qu'une connaissance de l'image de la clé privée générée dans la troisième étape ne fournit aucune information sur la clé privée car celle-ci est masquée par la combinaison linéaire avec le premier nombre aléatoire dont le premier élément de preuve ne révèle rien. D'autre part, une connaissance du premier élément de preuve et de la clé publique ne permet pas de générer le deuxième élément de preuve sans connaissance de l'image de clé privée dont la génération en deuxième étape ne peut être réalisée que par la deuxième entité qui seule, a connaissance de la clé privée et du nombre aléatoire. La première entité peut disposer de ressources de calcul réduites pour exécuter la cinquième étape car de relativement faibles valeurs du troisième nombre entier et du nombre commun suffisent à une vérification fiable de concordance avec le premier élément de preuve.
La quatrième étape peut être exécutée par la première entité. Cependant, le coût de calcul de la puissance dans la quatrième étape est considérable car l'exposant est de grande valeur.
Avantageusement, la quatrième étape est exécutée par une entité quelconque qui reçoit de la première entité, l'image y de clé privée. Comme expliqué précédemment, une connaissance de l'image de clé privée par l'entité quelconque ne nuit pas à la sécurité du procédé. L'exécution de la quatrième étape par l'entité quelconque, distincte de la première entité, soulage la première entité. L'entité quelconque est éventuellement la deuxième entité ou une entité intermédiaire.
Avantageusement encore la quatrième étape comprend:
- une première sous-étape dans laquelle la première entité décompose l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, dans laquelle la première entité génère une première composante Y1 et une deuxième composante g1 de deuxième élément de preuve telles que
Y' = gy' modulo n g' = g2 modulo n et dans laquelle la première entité envoie à une entité quelconque, la première composante Y', la deuxième composante g' et la deuxième image partielle y",
- une deuxième sous étape dans laquelle l'entité quelconque génère le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g1 avec la deuxième image partielle y" pour exposant et dans laquelle l'entité quelconque envoie le deuxième élément de preuve Y à la deuxième entité.
La valeur de y1 alors inférieure à la valeur de y ne requiert que des ressources de calcul réduites dans la deuxième entité pour générer la première composante Y' et la deuxième composante g1. La deuxième image partielle et les deux composantes Y' et g' étant suffisantes à l'entité quelconque pour générer le deuxième élément de preuve sans connaissance complète de l'image de clé privée, la sécurité du procédé est renforcée. Particulièrement lorsque le procédé cryptographique est utilisé pour authentifier un dialogue de la première entité avec la deuxième entité, la deuxième étape est exécutée par la deuxième entité qui, pour le premier élément de preuve reçu de la deuxième entité, choisit au moins un nombre commun dans un intervalle de sécurité et envoie ledit nombre commun à la première entité.
Ceci permet d'assurer à la deuxième entité que la première entité a reçu le nombre commun pour générer le deuxième élément de preuve en concordance avec le premier élément de preuve au sein du dialogue.
Plus particulièrement dans la cinquième étape, la concordance est vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Plus particulièrement encore et différemment lorsque le dialogue comprend une émission de message M par la première entité, la concordance est vérifiée dans la cinquième étape lorsque le premier élément de preuve est égal à une fonction du message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c. Particulièrement encore et différemment lorsque le procédé cryptographique est utilisé pour une signature de message M, la deuxième étape est exécutée par la première entité qui génère au moins un nombre commun en fonction du premier élément de preuve et du message numérique M auquel est attaché ledit nombre commun.
Plus particulièrement dans la cinquième étape, la concordance est vérifiée lorsque le nombre commun est égal à une fonction du message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
L'invention a aussi pour objet un dispositif prouveur, un dispositif vérificateur et un dispositif intermédiaire, adaptés pour mettre en œuvre le procédé cryptographique. Considérant un dispositif prouveur muni d'une clé privée gardée secrète et protégé contre toute intrusion, pour générer une preuve dont une vérification à l'aide d'une clé publique associée à ladite clé privée permet de garantir que le dispositif prouveur est à l'origine de ladite preuve, le dispositif prouveur est remarquable en ce qu'il comprend: - des moyens de calcul agencés pour générer un premier élément de preuve à partir d'un premier nombre aléatoire gardé secret dans le dispositif prouveur, et pour générer une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un de plusieurs nombres dits communs associés au premier élément de preuve, de sorte qu'il est possible de générer un deuxième élément de preuve en appliquant à ladite image de clé privée, un traitement numérique ouvert permettant de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs, - des moyens de communication agencés pour émettre au moins ledit premier élément de preuve.
Avantageusement dans le dispositif prouveur:
- les moyens de calcul sont d'une part agencés pour générer le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans la clé privée gardée secrète, et pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique avec pour exposant le premier nombre aléatoire r, - les moyens de calcul sont d'autre part agencés pour générer l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs. Différentes adaptations du dispositif prouveur sont préférées selon la version de procédé à mettre en oeuvre
Par exemple, les moyens de communication sont aussi agencés pour recevoir le ou les dits nombres communs après avoir émis le premier élément de preuve. De préférence, les moyens de communication sont agencés pour émettre l'image de clé privée.
Optionnellement, les moyens de calcul sont agencés pour générer le deuxième élément de preuve.
Avantageusement, les moyens de calcul sont agencés pour décomposer l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, et pour générer une première composante Y' et une deuxième composante g' de deuxième élément de preuve telles que Y' = gy' modulo n g' = g2 modulo n où g est un deuxième nombre entier tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique, les moyens de communication sont agencés pour émettre la première composante Y', la deuxième composante g' et la deuxième image partielle y".
Dans le cas particulier de signature de message, les moyens de calcul sont agencés pour générer au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
Selon différentes variantes, les moyens de calcul sont agencés pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r. Selon une première variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = ge modulo n v = G"s modulo n. Selon une deuxième variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = gθ modulo n v = Gs modulo n. Selon une troisième variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v = G"s modulo n. Selon une quatrième variante, les moyens de calcul sont agencés pour générer l'image y de clé privée par combinaison linéaire de deux nombres communs a et b selon la formule: y = a r + bs. Selon une cinquième variante, la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- les moyens de calcul sont agencés pour générer autant de nombres communs d, c2, ... associés au premier élément de preuve x,
- les moyens de calcul sont agencés pour générer l'image de clé privée par combinaison linéaire selon la formule: y = r + d s1 + c2s2 + ... Selon une sixième variante, la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont gardé secrets dans le dispositif prouveur, les moyens de calcul (37) sont agencés pour calculer les élévations de puissance en utilisant une technique dite des restes chinois.
Le dispositif prouveur est amélioré lorsque, la clé publique comprenant une quantité k de valeurs pré-calculées de premier élément de preuve x , les moyens de calcul sont agencés pour itérer k fois chaque exécution avec pour chaque itération une valeur différente de premier élément de preuve. De façon optionnelle, le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
Considérant un dispositif vérificateur pour vérifier qu'une preuve est issue d'un dispositif prouveur muni d'une clé privée gardée secrète par le dispositif prouveur, à l'aide d'une clé publique associée à ladite clé privée, le dispositif vérificateur est remarquable en ce qu'il comprend:
- des moyens de communication agencés pour recevoir un premier élément de preuve et un deuxième élément de preuve, - des moyens de calcul agencés pour vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un de plusieurs nombres dits communs générés en association avec le premier élément de preuve. Avantageusement dans le dispositif Vérificateur, les moyens de calcul sont agencés pour vérifier que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est un troisième nombre entier e et d'une puissance d'un quatrième nombre entier v dont l'exposant est ledit nombre commun c, le troisième nombre entier et le quatrième nombre entier étant compris dans ladite clé publique.
Avantageusement encore, les moyens de calculs sont agencés pour choisir au moins un nombre commun dans un intervalle de sécurité après réception du premier élément de preuve et en ce que les moyens de communication sont agencés pour émettre ledit nombre commun.
Particulièrement, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Plus particulièrement, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Différemment, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le nombre commun est égal à une fonction d'un message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
L'égalité est vérifiée dans le dispositif vérificateur par la formule: x = Yevc modulo n. ou par la formule: γe = vc x modulo n. ou par la formule:
Yex = vc modulo n. ou encore la concordance est vérifiée par l'égalité: γ e v b = χa modulo n.
Lorsque que la clé privée comprend plusieurs nombres secrets si, s2,
..., les moyens de calcul (38) sont agencés pour choisir autant de nombres communs d, c2, ... pour le premier élément de preuve x, les moyens de calcul (38) sont agencés pour vérifier la concordance par autant de quatrièmes nombres entiers de clé publique v1 , v2, ... au moyen de l'égalité:
Ye v1c1 v2c2 ...= x modulo n. Dans une variante du dispositif vérificateur, les moyens de calcul comprennent en mémoire au moins une valeur pré-calculée de premier élément de preuve x considéré comme partie de la clé publique.
Particulièrement, les moyens de calcul comprennent en mémoire une quantité k de valeurs pré-calculées de premier élément de preuve x, les moyens de communications sont agencés pour recevoir k deuxième éléments de preuve et les moyens de calcul sont agencés pour vérifier une concordance de chaque deuxième élément de preuve reçu avec une valeur différente de premier élément de preuve.
Dans une autre variante du dispositif vérificateur, le premier élément de preuve étant égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, les moyens de calcul sont agencés pour exécuter la vérification sur le résultat de cette fonction. Considérant un dispositif intermédiaire pour être introduit en aval d'un dispositif prouveur en vue de générer une preuve basée sur une clé privée gardée secrète par le dispositif prouveur, ladite preuve étant vérifiable à l'aide d'une clé publique associée à ladite clé privée, le dispositif intermédiaire est remarquable en ce qu'il comprend des moyens de calcul pour générer au moins un élément de preuve par traitement numérique ouvert d'une image de ladite clé privée, ladite image de clé privée ne permettant pas de retrouver ladite clé privée.
Particulièrement, le dispositif comprend des moyens de communication agencés pour recevoir ladite image y de clé privée.
Selon une variante possible, les moyens de calcul sont agencés pour générer le deuxième élément de preuve Y en élevant à une puissance modulo n un deuxième nombre entier g compris dans ladite clé publique et dont l'exposant est l'image y de clé privée. Selon une autre variante possible, le dispositif intermédiaire comprend des moyens de communication agencés pour recevoir une première image partielle y' de clé privée, une première composante Y' et une deuxième composante g' de deuxième élément de preuve et les moyens de calcul sont agencés pour générer le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant.
Préférentiellement, les moyens de communication du dispositif intermédiaire sont agencés pour émettre le deuxième élément de preuve Y à destination d'un dispositif vérificateur. L'invention sera mieux comprise dans les exemples de mise en œuvre dont la description suit en référence aux dessins annexés dans lesquels:
- la figure 1 montre des étapes de procédé d'authentification d'une deuxième entité par une première entité selon l'invention,
- la figure 2 montre une première variante du procédé d'authentification faisant intervenir une entité intermédiaire, - la figure 3 montre une deuxième variante du procédé d'authentification faisant intervenir une entité intermédiaire,
- la figure 4 montre des étapes de procédé d'authentification de message selon l'invention, - la figure 5 montre des étapes de procédé utilisé pour une signature de message selon l'invention.
Le mode de réalisation décrit ci-dessous est un procédé d'authentification d'entité ou d'identification. Il permet à un prouveur A de convaincre un vérificateur B de son authenticité. Ce procédé peut être transformé en procédé d'authentification de message ou signature numérique de message. Sa sécurité repose sur la difficulté conjointe de factoriser de grands nombres entiers.
Conformément à l'objectif et aux résultats explicités ci-dessus, ce procédé comporte deux options selon la façon dont on répartit les calculs entre plusieurs entités. Soient n un grand nombre entier composé et cinq nombres entiers positifs e, g, G, s, v, positifs inférieurs à n tels que : G=ge(mod n) et v=G's( mod n)
La clé publique du prouveur est alors constituée de tout ou partie du quintuplet (n, e, g, G, v), selon l'option choisie, tandis que la clé privée est constituée d'au moins le nombre entier s, gardé secret par le prouveur. La clé publique peut elle-même être décomposée en une partie générique au sens où elle est commune à plusieurs prouveurs et en une partie spécifique au sens où elle est différente pour chaque prouveur.
On définit également deux nombres entiers positifs k et t, appelés paramètres de sécurité.
Dans toutes les options, on suppose qu'une première entité, le vérificateur B connaît déjà tous les paramètres publics nécessaires à vérifier qu'une preuve est donnée par une deuxième entité, le prouveur A, à savoir son identité, sa clé publique, son certificat de clé publique, etc. Selon une première option, la clé publique est le triplet (n, e, v) et l'authentification de l'entité A par l'entité B se déroule en itérant k fois le protocole à présent décrit en référence à la figure 1.
Dans une première étape 9, l'entité A génère un premier nombre entier aléatoire r très supérieur à s, calcule x = Gr(mod n) et envoie x à l'entité B. De façon connue, les entités A et B sont de type ordinateur ou carte à puce. L'expression (mod n) signifie modulo n, c'est à dire que de façon connue, le résultat du calcul est égal au reste de la division entière du résultat de l'opération considérée, par le nombre entier n, généralement appelé module. Ici, le nombre entier x constitue un premier élément de preuve car seule l'entité qui génère le nombre aléatoire r, est capable de générer le nombre x. Le nombre aléatoire r n'est pas communiqué par l'entité qui le génère. Selon la théorie connue des nombres, le nombre r est choisi suffisamment grand pour qu'une connaissance du premier nombre entier G et du module n, ne permette pas de retrouver le nombre r à partir du nombre x. Ce premier élément de preuve n'est pas suffisant car un tel élément peut être généré à partir d'un nombre aléatoire quelconque, par toute entité si le premier nombre entier G est compris dans la clé publique. On notera que- dans le procédé décrit en référence à la figure 1 , le nombre entier G n'est pas nécessairement compris dans la clé publique.
Une réception par l'entité B du premier élément de preuve x, valide une transition 10 qui active alors une deuxième étape 11.
Dans l'étape 11 , l'entité B choisit au hasard un nombre entier c dans un intervalle [0,t - 1] dit de sécurité et envoie le nombre c à l'entité A. Ainsi, le nombre c, généré en association avec le premier élément de preuve par l'entité B, est commun aux entités A et B et aussi à toute autre entité s'infiltrant dans le dialogue entre les entités A et B.
Une réception par l'entité A du nombre commun c, valide une transition 12 qui active alors une troisième étape 13. Dans l'étape 13, l'entité A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c.
Une quatrième étape 15 est ici directement activée à la suite de l'étape
13. Dans l'étape 15, l'entité A calcule Y =gy (mod n) et envoie Y à B. Ainsi, l'entité A génère ici un deuxième élément de preuve Y. On notera que le deuxième nombre entier g n'est pas nécessairement ici compris dans la clé publique.
Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 16 qui active alors une cinquième étape 17.
Dans l'étape 17, l'entité B vérifie que : Yevc = x(mod n). Bien que, comme vu précédemment, le deuxième élément de preuve ne communique aucune information sur la clé privée, le deuxième élément de preuve Y est tel que:
Y = gr+sc(mod n) Donc en élevant le deuxième élément de preuve Y à une puissance dont l'exposant est le troisième nombre entier e de clé publique: γe = g(r+sc)e = Gr+sc (mod n)
D'autre part, bien que conformément à la théorie des nombres, le quatrième nombre entier v ne communique aucune information sur la clé privée, celui-ci est en fait tel que: v° = G-sc(modn).
Ainsi, sans que r ne soit communiqué a aucun moment, l'égalité:
Ye Vc = Gr= X (lTlθd n) certifie que l'entité A qui seule connaît s, a connaissance de c.
Considérant un imposteur comme étant une entité qui tente de se faire passer pour A sans connaître le secret s, la probabilité de ne pas détecter cet imposteur est égale à 1/kt. Dans beaucoup d'applications, le produit kt peut être choisi relativement petit, par exemple de l'ordre de 216.
Préférentiellement k=1 ett=e, auquel cas la probabilité définie ci-dessus est égale à 1/e et il n'y a qu'une équation de vérification à appliquer. Si e est égal par exemple à 216, alors la vérification sera relativement rapide car les exposants e et c sont relativement petits. Cette vérification peut même être accélérée en calculant à l'avance, à la fin de l'étape 11 ou même avant : z ≈ vc (mod n). Ainsi dans la quatrième étape, B n'a plus qu'à vérifier : Yez = x(mod n). D'autres valeurs de k et t sont possibles.
De nombreuses optimisations de ce protocole de base sont possibles. Par exemple, on peut remplacer v=G"s ( mod n) par v=Gs ( mod n), auquel cas l'équation de vérification devient Ye = xvc (mod n) ;
Par exemple encore, on peut remplacer G≈ge (mod n) par G=g"e (mod n), auquel cas l'équation de vérification devient xYe ≈ vc (mod n) ; Par exemple encore, on peut remplacer c par un couple d'entiers positifs ou négatifs (a,b) et y = r + se par y - ar + bs, auquel cas l'équation de vérification devient Yevb = xa (mod n).
Par exemple encore, on peut choisir plusieurs nombres secrets si, s , ... plusieurs clés publiques v1( v2, ..., plusieurs entiers ci, c2, ... et remplacer y = r + se par y = r + S1C1+S2C2 + ..., auquel cas l'équation de vérification devient
Figure imgf000021_0001
... = x(mod n) ;
Si n est compris dans la partie spécifique de la clé publique, et si les facteurs premiers de n sont connus de A, alors la première étape peut être accélérée en utilisant la technique dite des restes chinois.
La première étape peut être effectuée à l'avance. De plus les k valeurs de x peuvent faire partie de la clé publique de A, auquel cas le protocole commence directement à la deuxième étape.
Le nombre x peut être remplacé par une valeur f(x) où f est une fonction, par exemple égale à (ou incluant) une fonction de hachage cryptographique, auquel cas l'équation de vérification devient : f (Yevc(mod n)) ≈ x. On peut combiner tout ou partie des modifications précédentes.
De façon remarquable, le calcul de Y peut également être effectué par tout autre entité que A, et ce sans perte de sécurité. Dans ce cas A ne calcule que y et fournit y à cette entité. D'une part, la connaissance de y ne fournit aucune information sur s, puisque le produit se est « masqué » par le nombre aléatoire r. D'autre part, il est pratiquement impossible pour un fraudeur de fabriquer Y de toutes pièces puisque, étant donné n,e, v, x et c, il est infaisable de trouver une valeur de Y qui satisfasse l'équation de vérification de la quatrième étape, si la factorisation est un problème difficile.
Selon une deuxième option expliquée en référence à la figure 2, la clé publique est le quadruplet (n, e, g, v) et l'authentification de l'entité A par l'entité B se déroule en itérant k fois le protocole suivant. C désigne une entité quelconque autre que A. Le procédé se déroule de façon identique à celle décrite en référence à la figure 1 jusqu'à l'étape 13. En référence à la figure 2, l'étape 13 est modifiée en ce que l'entité A envoie l'image y de clé privée à une entité intermédiaire C. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée. Une réception par l'entité C de l'image y, valide une transition 14 qui active alors la quatrième étape 15.
Dans l'étape 15, c'est ici l'entité intermédiaire C qui calcule le deuxième élément de preuve Y = gy (mod n) et envoie Y à B.
Le procédé se poursuit alors de façon identique à celle décrite en référence à la figure 1 par la transition 16 et l'étape 17.
Physiquement, l'entité intermédiaire C est par exemple mise en œuvre dans une puce, non nécessairement sécurisée, contenue dans le dispositif de sécurité du prouveur tel qu'une carte à puce, dans le dispositif de sécurité du vérificateur tel qu'un terminal de paiement, ou encore dans un autre dispositif tel qu'un ordinateur. La sécurité réside dans le fait que l'entité C ne peut trouver par elle-même une valeur Y qui convienne, c'est-à-dire telle que l'équation de vérification soit satisfaite.
Selon une troisième option, décrite en référence à la figure 3, le calcul de Y est partagé entre les entités A et C. Il y a une grande variété de façons de partager ce calcul. Ici encore, le procédé se déroule de façon identique à celle décrite en référence à la figure 1 jusqu'à l'étape 13. De façon avantageuse en étape 13, l'image y est décomposée selon la formule : y ≈ y'+2u y" . Dans cette formule, u est un nombre entier positif et y' est un nombre entier inférieur à 2U. La décomposition est facile à réaliser. Dans un mot informatique qui représente l'image y, la première image partielle y' est représentée par les u bits de poids faible de ce mot. La deuxième image partielle est représentée par les bits de poids fort restants de ce mot informatique. La quatrième étape pour calculer le deuxième élément de preuve, est ici décomposée en deux sous étapes 18 et 25.
La première sous étape 18 est exécutée par l'entité A directement à la suite de l'étape 13. Dans la sous étape 18, l'entité A calcule une première composante Y' de deuxième élément de preuve selon la formule: Y' ≈ gy' (mod n)
Le calcul de la première composante Y' nécessite nettement moins de ressources que le calcul complet du deuxième élément de preuve car la première image partielle y' est de valeur nettement inférieure à l'image y en choisissant une valeur de u relativement faible, par. exemple de l'ordre de huit ou seize.
Dans la sous étape 18, l'entité A calcule aussi une deuxième composante g' de deuxième élément de preuve selon la formule:
g' ≈ g2u(mo n) Le calcul de la première composante g' nécessite peu de ressources de se faisant sur le deuxième nombre entier g puis chaque élévation au carré suivante se faisant sur le résultat de l'élévation au carré précédente modulo n. En fin de sous étape 18, l'entité A envoie à l'entité intermédiaire C les deux composantes g', Y' et la deuxième image partielle y". La sécurité est renforcée par le fait que l'image de clé privée n'est pas communiquée en totalité. La charge de calcul de l'entité A est réduite par le fait que le deuxième élément de preuve n'est pas calculé en totalité par l'entité A.
Une réception par l'entité C des deux composantes g', Y' et de la deuxième image partielle y", valide alors la transition 14 pour activer la deuxième sous étape 25 dans l'entité intermédiaire C.
Dans la sous étape 25, l'entité C calcule Y = Y'g'γ" (mod n) et envoie le deuxième élément de preuve ainsi généré Y à l'entité B.
Le procédé se poursuit alors de façon identique à celle décrite en référence à la figure 1 par la transition 16 et l'étape 17. Avantageusement, avant validation de la transition 16, l'entité B exécute une étape 19 dans laquelle est calculé un nombre z pour faciliter le calcul de V en étape 17: z ≈ vc (mod n) L'étape 19 peut aussi être introduite avant la transition 16 dans les exemples des figures 1 , 2 et 4.
On remarque là encore qu'il est aussi possible de partager le calcul de Y entre l'entité C et le vérificateur B.
Les protocoles précédemment décrits peuvent être transformés en protocoles d'authentification de messages ou en schémas de signature numérique.
La figure 4 montre des étapes de procédé qui permettent d'authentifier qu'un message M reçu par la première entité B, a été émis par le deuxième entité A.
Dans une première étape 20, l'entité A génère un premier nombre entier aléatoire r très supérieur à s et calcule x = Gr (mod n) comme dans l'étape 9. x' en appliquant au message M conjointement avec le nombre x une fonction h, par exemple égale à une fonction de hachage cryptographique ou incluant une fonction de hachage cryptographique tel que: x' = h(x, M). L'entité A envoie ensuite le message M et le premier élément de preuve x' à l'entité B.
Une réception par l'entité B du premier élément de preuve x, valide une transition 21 qui active alors une deuxième étape 11. Le procédé se poursuit ensuite de façon identique à celle décrite en référence à l'une des figures 1 à 3.
Dans l'étape 11 , l'entité B choisit au hasard un nombre entier c dans un intervalle [0,t - 1] dit de sécurité et envoie le nombre c à l'entité A. Ainsi, le nombre c, généré en association avec le premier élément de preuve par l'entité B, est commun aux entités A et B et aussi à toute autre entité s'infiltrant dans le dialogue entre les entités A et B.
Une réception par l'entité A du nombre commun c, valide une transition 12 qui active alors une troisième étape 13.
Dans l'étape 13, l'entité A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c. Sur l'exemple de la figure 4, l'entité A envoie l'image y de clé privée à une entité intermédiaire C. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée.
Une réception par l'entité C de l'image y, valide une transition 14 qui active alors la quatrième étape 15. Dans l'étape 15, c'est ici l'entité intermédiaire C qui calcule le deuxième Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 16 qui active alors une cinquième étape 22.
Dans l'étape 22, l'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule: V = Yevc(mod n) puis vérifie la concordance du deuxième élément de preuve avec le premier élément de preuve au moyen de l'équation de vérification: h(V,M) = x'. Dans la variante utilisant une fonction f, l'équation de vérification devient h(f(Yevc(mod n)), M) = x'.
A la différence de l'authentification de message, la signature de message est indépendante de l'émetteur. La signature d'un message M par l'entité A reste valable si l'entité B reçoit le message M de toute autre entité. En référence à la figure 5, dans une première étape 1 , l'entité A génère un premier nombre entier aléatoire r très supérieur à s et calcule x = Gr (mod n) comme dans l'étape 9. Le premier élément de preuve x ainsi généré n'a pas besoin d'être envoyé à l'entité B car il n'est pas nécessaire d'authentifier un dialogue entre les unités A et B pour vérifier une signature.
Dans une deuxième étape 23 directement à la suite de l'étape 1 , l'entité A génère un nombre commun c', en appliquant au message M conjointement avec le nombre x une fonction h, par exemple égale à une fonction de hachage cryptographique ou incluant une fonction de hachage cryptographique tel que: c' = h(x, M). Dans une troisième étape 24 directement à la suite de l'étape 23, l'entité
A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c'. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée. Le couple (c',y) constitue une signature du message M car ce couple intègre à la fois le message M et un élément de clé privée qui garantit que l'entité A est à l'origine de cette signature.
L'entité A envoie ensuite le message M et la signature (c',y) à l'entité B ou à toute autre entité.
Une réception par l'entité B du message M avec sa signature (c',y), en provenance de l'entité A ou de toute autre entité valide une transition 2. Une réception par l'entité C de l'image y, valide une transition 4 qui active alors une quatrième étape 5.
Dans l'étape 5, c'est ici l'entité intermédiaire C qui calcule le deuxième élément de preuve Y = gy (mod n) et envoie Y à B.
Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 7 qui active alors une cinquième étape 8.
Dans l'étape 8, l'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule:
V = Yevc'(mod n) puis vérifie la concordance du deuxième élément de preuve avec le premier élément de preuve au moyen de l'équation de vérification: h(V,M) ≈ c'. Ici, la concordance avec le premier élément de preuve, est vérifiée par cette égalité du fait que le nombre commun c' généré en étape 23, concorde lui même avec le premier élément de preuve. Dans la variante utilisant une fonction f, l'équation de vérification devient h(f(YV(mod n)), M) = x*.
La réception par l'entité C de l'image y qui valide la transition 4 peut résulter d'une réception du message M avec sa signature (c'.y) en provenance de l'entité A ou de toute autre entité. En référence à la figure 5, la réception par l'entité C de l'image y résulte d'une étape 3 activée par la transition 2. Dans l'étape 3, l'entité B extrait l'image y de la signature pour l'envoyer à l'entité C.
Dans une étape 6 exécutée avant validation de la transition 7, l'entité B extrait le nombre commun c' de la signature pour obtenir un nombre z égal à vc' qui facilite le calcul de V en étape 8.
En référence à la figure 6, les entités A, B et C décrites précédemment sont matérialisées respectivement dans un dispositif prouveur 30, un dispositif vérificateur 31 et un dispositif intermédiaire 32. Le dispositif prouveur 30 est par exemple une carte à microprocesseur telle qu'une carte de crédit, une carte d'identification d'abonné d'un téléphone mobile. Le dispositif vérificateur 31 est par exemple un terminal bancaire ou un serveur de commerce électronique, un équipement d'opérateur de télécommunication mobile. Le dispositif intermédiaire 32 est par exemple une extension de carte à microprocesseur, un terminal de lecture de carte de crédit ou une carte électronique de téléphone mobile.
Le dispositif prouveur 30 comprend des moyens de communication 34 et des moyens de calcul 37. Le dispositif prouveur 30 est protégé contre les intrusions. Les moyens de communication 34 sont agencés pour émettre le premier élément de preuve x conformément à l'étape 9 décrite en référence aux figures 1 à 3, l'image y de clé privée conformément à l'étape 13 décrite en référence aux figures 2 et 4, le deuxième élément de preuve Y conformément à l'étape 15 décrite en référence à la figure 1 , la première image partielle Y' avec les deux composantes d'image de clé privée g' et y" conformément à l'étape 18 décrite en référence à la figure 3, le message M conformément aux étapes 20 ou 24 décrites en référence aux figures 4 et 5 ou le nombre commun c conformément à l'étape 24 décrite en référence à la figure 5 selon la version du procédé à mettre en oeuvre. Les moyens de communication 34 sont aussi agencés pour recevoir le nombre commun c conformément à la transition 12 décrite en référence aux figures 1 à 4 lorsque des versions du procédé à mettre en œuvre correspondent à l'authentification. Pour une version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 34 n'ont pas besoin d'être agencés pour recevoir le nombre commun c.
Les moyens de calcul 37 sont agencés pour exécuter les étapes 9, 13 et 15 décrites en référence à la figure 1, les étapes 9 et 13 décrites en référence à la figure 2, les étapes 9, 13 et 18 décrites en référence à la figure 3, les étapes 20 et 13 décrites en référence à la figure 4 ou les étapes 1, 23 et 24 décrites en référence à la figure 5 selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 37 comprennent un microprocesseur et des microprogrammes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
Le dispositif vérificateur 31 comprend des moyens de communication 35 et des moyens de calcul 38. Les moyens de communication 35 sont agencés pour émettre un ou plusieurs nombres communs c conformément à l'étape 11 décrite en référence aux figures 1 à 4 lorsque des versions du procédé à mettre en œuvre correspondent à l'authentification. Pour une version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 35 n'ont pas besoin d'être agencés pour émettre de nombre commun c. Les moyens de communication 35 sont aussi agencés pour recevoir les deux éléments de preuve x et Y conformément aux transitions 10 et 16 décrites en référence aux figures 1 à 3, un message M avec le premier élément de preuve x' et le deuxième élément de preuve Y conformément aux transitions 21 et 16 décrites en référence à la figure 4 ou le deuxième élément de preuve et le message M avec un ou plusieurs nombre communs c' et l'image y de clé privée conformément aux transitions 2 et 8 décrites en référence à la figure 5. Eventuellement pour version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 35 sont agencés pour retransmettre l'image y de clé privée conformément à l'étape 3 décrite en référence à la figure 5.
Les moyens de calcul 38 sont agencés pour exécuter les étapes 11, 17 et 19 décrites en référence aux figures 1 à 3, les étapes 11 et 22 décrites en selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 38 comprennent un microprocesseur et des microprogrammes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
Le dispositif intermédiaire 32 comprend des moyens de communication 36 et des moyens de calcul 39. Les moyens de communication 36 sont agencés pour émettre le deuxième élément de preuve Y conformément à l'étape 15 décrite en référence aux figures 2 et 4, à l'étape 25 décrite en référence à la figure 3 ou à l'étape 5 décrite en référence à la figure 5. Les moyens de communication 36 sont aussi agencés pour recevoir l'image y de clé privée conformément à la transition 14 décrite en référence aux figures 2 et 4, l'image y de clé privée conformément à la transition 4 décrite en référence à la figure 5 ou l'image partielle y" de clé privée et les deux composantes g' et Y' de deuxième élément de preuve conformément à la transition 14 décrite en référence à la figure 3. Les moyens de calcul 39 sont agencés pour exécuter l'étape 15 décrite en référence aux figures 2 ou 4, l'étape 25 décrite en référence à la figure 3 ou l'étape 5 décrite en référence à la figure 5. selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 39 comprennent un microprocesseur et des programmes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
De façon améliorée, les moyens de calcul et de communication précédemment décrits sont agencés pour répéter k fois l'exécution des étapes précédemment décrites, chaque fois pour un premier élément de preuve et un deuxième élément de preuve distincts.

Claims

REVENDICATIONS
1. Procédé cryptographique dans lequel une première entité (A) génère au moyen d'une clé privée gardée secrète par la première entité (A), une preuve vérifiable par une deuxième entité (B) au moyen d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend une étape (5, 15) dans laquelle au moins un élément de preuve est généré au moins en partie par traitement numérique ouvert d'une donnée qui ne permet pas de retrouver ladite clé privée.
2. Procédé cryptographique selon la revendication 1, caractérisé en ce qu'il comprend".
- une première étape (1, 9, 20) dans laquelle la première entité (A) génère un premier élément de preuve au moyen d'un premier nombre aléatoire gardé secret par la première entité (A),
- une deuxième étape (11, 23) dans laquelle un ou plusieurs nombres dits communs sont générés en association avec le premier élément de preuve, de façon à ce que la première entité (A) et la deuxième entité (B) puissent avoir connaissance du ou des dits nombres communs, - une troisième étape (13, 24) dans laquelle la première entité (A), génère une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un des dits nombres communs,
- une quatrième étape (5, 15) dans laquelle est généré un deuxième élément de preuve en appliquant à l'image de ladite clé privée, un traitement numérique ouvert exécutable par une entité quelconque (C), de façon à permettre à la deuxième entité (B) de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au
3. Procédé cryptographique selon la revendication 2, caractérisé en ce que:
- dans la première étape (1, 9, 20) la première entité (A) génère le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité (A) et la première entité (A) génère le premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, - dans la troisième étape (13, 24), la première entité (A) génère l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs, - dans la quatrième étape (5, 15) le deuxième élément de preuve Y généré est égal à une puissance modulo n d'un deuxième nombre entier g compris ou non dans ladite clé publique et dont l'exposant est l'image y de clé privée, le deuxième nombre entier g étant tel que le premier nombre entier G est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris ou non dans ladite clé publique.
4. Procédé cryptographique selon la revendication 3, caractérisé en ce que dans la quatrième étape, le deuxième élément de preuve Y est envoyé à la deuxième entité (B) et en ce qu'il comprend une cinquième étape (8, 17, 22) dans laquelle la deuxième entité (B) vérifie que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et d'une puissance d'un quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
5. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape (5, 15) est exécutée par une entité quelconque (C) distincte de la première entité (A) et qui reçoit de la première entité (A), l'image y de clé privée.
6. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape (15) est exécutée par la première entité (A).
7. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape comprend:
- une première sous-étape (18) dans laquelle la première entité (A) décompose l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, dans laquelle la première entité (A) génère une première composante Y" et une deuxième composante g' de deuxième élément de preuve telles que
Y' = gy' modulo n g- = g modulo n et dans laquelle la première entité (A) envoie à une entité intermédiaire (C), la première composante Y', la deuxième composante g' et la deuxième image partielle y",
- une deuxième sous étape (25) dans laquelle l'entité intermédiaire (C) génère le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant et dans laquelle l'entité intermédiaire (C) envoie le deuxième élément de preuve Y à la première entité (B).
8. Procédé cryptographique selon l'une des revendications 2 à 7, caractérisé en ce que la deuxième étape (11 ) est exécutée par la deuxième entité (B) qui, pour le premier élément de preuve reçu de la première entité (A), choisit au moins un nombre commun dans un intervalle de sécurité et envoie ledit nombre commun à la première entité (A).
9. Procédé cryptographique selon l'une des revendications 2 à 7, caractérisé en ce que la deuxième étape (23) est exécutée par la première entité (A) qui génère au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
10. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (17), la concordance est vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
11. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (22), la concordance est vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
12. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (8), la concordance est vérifiée lorsque le nombre commun est égal à une fonction du message numérique M et du l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
13. Procédé cryptographique selon la revendication 3, caractérisé en ce que le premier élément de preuve est égal à la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
14. Procédé cryptographique selon la revendication 13, caractérisé en ce que le premier nombre entier G et le quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = ge modulo n v = G"s modulo n et en ce que l'égalité est vérifiée par la formule: x = Yevc modulo n.
15. Procédé cryptographique selon la revendication 13, caractérisé en ce que le quatrième nombre entier v de clé publique est donné par la formule: G = ge modulo n v = Gs modulo n et en ce que l'égalité est vérifiée par la formule:
Ye = vc x modulo n.
16. Procédé cryptographique selon la revendication 13, caractérisé en ce que le premier nombre entier G de clé publique et le quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v ≈ G"s modulo n et en ce que l'égalité est vérifiée par la formule:
17. Procédé cryptographique selon la revendication 13, caractérisé en ce que:
- dans la deuxième étape, deux nombres communs a et b sont générés pour le premier élément de preuve x,
- dans la troisième étape, la combinaison linéaire est donnée par la formule: y = a r + bs
- dans la cinquième étape, la concordance est vérifiée par l'égalité: Ye vb = xa modulo n.
18. Procédé cryptographique selon la revendication 13, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- dans la deuxième étape, autant de nombres communs d, c2, ... sont générés pour le premier élément de preuve x,
- dans la troisième étape, la combinaison linéaire est donnée par la formule: y ≈ r + d s1 + c2s2 + ...
- dans la cinquième étape, la concordance est vérifiée par autant de quatrièmes nombres entiers de clé publique v1, v2, ... au moyen de l'égalité: γe v1 d 2 c2 .. ≈ x modulo n.
19. Procédé cryptographique selon la revendication 3, caractérisé en ce que la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont connus de la première entité (A), la première étape est accélérée en utilisant une technique dite des restes chinois.
20. Procédé cryptographique selon la revendication 2, caractérisé en ce que la clé publique comprend au moins une valeur pré-calculée de premier
21. Procédé cryptographique selon la revendication 20, caractérisé en ce que la clé publique comprend une quantité k de valeurs pré-calculées de premier élément de preuve x et en ce qu'une exécution de la deuxième à la cinquième étape est itérée k fois, avec pour chaque itération une valeur différente de premier élément de preuve.
22. Procédé cryptographique selon la revendication 2, caractérisé en ce que le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, et en ce que la vérification de la cinquième étape est faite sur le résultat de cette fonction.
23. Dispositif prouveur (30) muni d'une clé privée gardée secrète et protégé contre toute intrusion, pour générer une preuve dont une vérification à l'aide d'une clé publique associée à ladite clé privée permet de garantir que le dispositif (30) est à l'origine de ladite preuve, caractérisé en ce qu'il comprend: - des moyens de calcul (37) agencés pour générer un premier élément de preuve à partir d'un premier nombre aléatoire gardé secret dans le dispositif (30), et pour générer une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un de plusieurs nombres dits communs associés au premier élément de preuve, de sorte qu'il est possible de générer un deuxième élément de preuve en appliquant à ladite image de clé privée, un traitement numérique ouvert permettant de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs, - des moyens de communication (34) agencés pour émettre au moins ledit
24. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que:
- les moyens de calcul (37) sont d'une part agencés pour générer le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans la clé privée gardée secrète, et pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique avec pour exposant le premier nombre aléatoire r, - les moyens de calcul (37) sont d'autre part agencés pour générer l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs.
25. Dispositif prouveur (30) selon la revendication 23 ou 24, caractérisé en ce que les moyens de communication (34) sont agencés pour recevoir le ou les dits nombres communs après avoir émis le premier élément de preuve.
26. Dispositif prouveur (30) selon l'une des revendications 23 à 25, caractérisé en ce que les moyens de communication (34) sont agencés pour émettre l'image de clé privée.
27. Dispositif prouveur (30) selon l'une des revendications 23 à 25, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer le deuxième élément de preuve.
28. Dispositif prouveur (30) selon l'une des revendications 24 à 25, caractérisé en ce que: - les moyens de calcul (37) sont agencés pour décomposer l'image y en d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, et pour générer une première composante Y' et une deuxième composante g' de deuxième élément de preuve telles que Y' = gy' modulo n
g' = g2 modulo n où g est un deuxième nombre entier tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique,
- les moyens de communication (34) sont agencés pour émettre la première composante Y', la deuxième composante g' et la deuxième image partielle y".
29. Dispositif prouveur (30) selon l'une des revendications 23 ou 24, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
30. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
31. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G ≈ ge modulo n
32. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules: G = ge modulo n v = Gs modulo n.
33. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v = G"s modulo n.
34. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer l'image y de clé privée par combinaison linéaire de deux nombres communs a et b selon la formule: y = a r + b's.
35. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si , s2, ...:
- les moyens de calcul (37) sont agencés pour générer autant de nombres communs d , c2, ... associés au premier élément de preuve x,
- les moyens de calcul (37) sont agencés pour générer l'image de clé privée par combinaison linéaire selon la formule: y = r + d s1 + c2s2 + ...
36. Dispositif prouveur (30) selon la revendication 24, caractérisé en ce que la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont gardé secrets dans le dispositif prouveur, les moyens de calcul 37) sont agencés pour calculer les élévations de puissance en utilisant une
37. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que la clé publique comprenant une quantité k de valeurs pré-calculées de premier élément de preuve x , les moyens de calcul (37) sont agencés pour itérer k fois chaque exécution avec pour chaque itération une valeur différente de premier élément de preuve.
38. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
39. Dispositif vérificateur (31), pour vérifier qu'une preuve est issue d'un dispositif prouveur muni d'une clé privée gardée secrète par le dispositif prouveur, à l'aide d'une clé publique associée à ladite clé privée caractérisé en ce qu'il comprend:
- des moyens de communication (35) agencés pour recevoir un premier élément de preuve et un deuxième élément de preuve, des moyens de calcul (38) agencés pour vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un de plusieurs nombres dits communs générés en association avec le premier élément de preuve.
40. Dispositif vérificateur (31) selon la revendication 39, caractérisé en ce que les moyens de calcul (38) sont agencés pour vérifier que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est un troisième nombre entier e et d'une puissance d'un quatrième nombre entier v dont l'exposant est ledit nombre commun c, le troisième nombre entier et le quatrième nombre entier étant compris dans ladite clé publique.
41. Dispositif vérificateur (31) selon la revendication 39 ou 40, caractérisé en ce que les moyens de calculs (38) sont agencés pour choisir au moins un nombre commun dans un intervalle de sécurité après réception du premier élément de preuve et en ce que les moyens de communication (35) sont agencés pour émettre ledit nombre commun.
42. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
43. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
44. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le nombre commun est égal à une fonction d'un message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
45. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule: x = Yevc modulo n.
46. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule: Ye = vc x modulo n.
47. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule:
Yex = vc modulo n.
48. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que la concordance est vérifiée par l'égalité:
Ye vb = xa modulo n.
49. Dispositif vérificateur (31) selon la revendication 41, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- les moyens de calcul (38) sont agencés pour choisir autant de nombres communs d, c2, ... pour le premier élément de preuve x,
- les moyens de calcul (38) sont agencés pour vérifier la concordance par autant de quatrièmes nombres entiers de clé publique v1, v2, ... au moyen de l'égalité:
Ye v1c1 v2c2 ...= x modulo n.
50. Dispositif vérificateur (31) selon la revendication 39, caractérisé en ce que les moyens de calcul (38) comprennent en mémoire au moins une valeur pré-calculée de premier élément de preuve x considéré comme partie de la clé publique.
51. Dispositif vérificateur (31) selon la revendication 50, caractérisé en ce que les moyens de calcul (38) comprennent en mémoire une quantité k de valeurs pré-calculées de premier élément de preuve x, en ce que les moyens de communications sont agencés pour recevoir k deuxièmes éléments de preuve et en ce que les moyens de calcul (38) sont agencés pour vérifier une concordance de chaque deuxième élément de preuve reçu avec une valeur différente de premier élément de preuve.
52. Dispositif vérificateur (31 ) selon la revendication 40, caractérisé en ce que le premier élément de preuve étant égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, les moyens de calcul (38) sont agencés pour exécuter la vérification sur le résultat de cette fonction.
53. Dispositif intermédiaire (32) pour être introduit en aval d'un dispositif prouveur en vue de générer une preuve basée sur une clé privée gardée secrète par le dispositif prouveur, ladite preuve étant vérifiable à l'aide d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend des moyens de calcul (39) pour générer au moins un élément de preuve par traitement numérique ouvert d'une image de ladite clé privée, ladite image de clé privée ne permettant pas de retrouver ladite clé privée.
54. Dispositif intermédiaire (32) selon la revendication 53, caractérisé en ce qu'il comprend des moyens de communication (36) agencés pour recevoir ladite image y de clé privée.
55. Dispositif intermédiaire (32) selon la revendication 54, caractérisé en ce élément de preuve Y en élevant à une puissance modulo n un deuxième nombre entier g compris dans ladite clé publique et dont l'exposant est l'image y de clé privée.
56. Dispositif intermédiaire (32) selon la revendications 53, caractérisé en ce qu'il comprend des moyens de communication (36) agencés pour recevoir une première image partielle y' de clé privée, une première composante Y' et une deuxième composante g' de deuxième élément de preuve et en ce que les moyens de calcul (39) sont agencés pour générer le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant.
57. Dispositif intermédiaire (32) selon la revendication 55 ou 56, caractérisé en ce que les moyens de communication (36) sont agencés pour émettre le deuxième élément de preuve Y à destination d'un dispositif vérificateur.
PCT/FR2002/004366 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede WO2003055134A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP02799095A EP1456998A1 (fr) 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
JP2003555732A JP2005513564A (ja) 2001-12-21 2002-12-16 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
AU2002364321A AU2002364321A1 (en) 2001-12-21 2002-12-16 Cryptographic method for distributing load among several entities and devices therefor
US10/499,563 US7382875B2 (en) 2001-12-21 2002-12-16 Cryptographic method for distributing load among several entities and devices therefor
KR1020047009924A KR100971038B1 (ko) 2001-12-21 2002-12-16 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법
CN028277910A CN1618200B (zh) 2001-12-21 2002-12-16 在若干实体与设备间分布负荷的密码法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0116789A FR2834153B1 (fr) 2001-12-21 2001-12-21 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
FR01/16789 2001-12-21

Publications (2)

Publication Number Publication Date
WO2003055134A1 true WO2003055134A1 (fr) 2003-07-03
WO2003055134A9 WO2003055134A9 (fr) 2004-07-15

Family

ID=8870936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/004366 WO2003055134A1 (fr) 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede

Country Status (8)

Country Link
US (1) US7382875B2 (fr)
EP (1) EP1456998A1 (fr)
JP (1) JP2005513564A (fr)
KR (1) KR100971038B1 (fr)
CN (1) CN1618200B (fr)
AU (1) AU2002364321A1 (fr)
FR (1) FR2834153B1 (fr)
WO (1) WO2003055134A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2925245A1 (fr) * 2007-12-12 2009-06-19 Sagem Securite Sa Controle d'une entite a controler par une entite de controle

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363492B2 (en) * 2005-02-25 2008-04-22 Motorola, Inc. Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices
JP4988448B2 (ja) * 2007-06-25 2012-08-01 株式会社日立製作所 一括検証装置、プログラム及び一括検証方法
FR2923305B1 (fr) * 2007-11-02 2011-04-29 Inside Contactless Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
FR2981531A1 (fr) * 2011-10-14 2013-04-19 France Telecom Procede de transfert du controle d'un module de securite d'une premiere entite a une deuxieme entite
FR2992509B1 (fr) * 2012-06-21 2017-05-26 Commissariat Energie Atomique Dispositif et procede pour generer une cle de session
EP3697019A1 (fr) * 2019-02-12 2020-08-19 Siemens Aktiengesellschaft Procédé de fourniture d'un élément de preuve du lieu d'origine pour un couple de clé numérique
CN110517147B (zh) * 2019-08-30 2023-04-14 深圳市迅雷网络技术有限公司 交易数据处理方法、装置、系统及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000069114A1 (fr) * 1999-05-10 2000-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Cryptographie a cle publique indirecte

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6092202A (en) * 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
JP2001209308A (ja) * 2000-01-24 2001-08-03 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 一括署名方法
AU6816101A (en) * 2000-06-05 2001-12-17 Phoenix Tech Ltd Systems, methods and software for remote password authentication using multiple servers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000069114A1 (fr) * 1999-05-10 2000-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Cryptographie a cle publique indirecte

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSUTOMU MATSUMOTO ET AL: "SPEEDING UP SECRET COMPUTATIONS WITH INSECURE AUXILIARY DEVICES", ADVANCES IN CRYPTOLOGY. SANTA BARBARA, AUG. 21 - 25, 1988, PROCEEDINGS OF THE CONFERENCE ON THE THEORY AND APPLICATION OF CRYPTOGRAPHY. (CRYPTO), BERLIN, SPRINGER, DE, 1988, pages 497 - 506, XP000345652 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2925245A1 (fr) * 2007-12-12 2009-06-19 Sagem Securite Sa Controle d'une entite a controler par une entite de controle
WO2009080992A1 (fr) * 2007-12-12 2009-07-02 Sagem Securite Controle d'une entite a controler par une entite de controle
US8638940B2 (en) 2007-12-12 2014-01-28 Morpho Control of an entity to be controlled by a control entity

Also Published As

Publication number Publication date
FR2834153A1 (fr) 2003-06-27
KR20040096509A (ko) 2004-11-16
WO2003055134A9 (fr) 2004-07-15
JP2005513564A (ja) 2005-05-12
CN1618200A (zh) 2005-05-18
CN1618200B (zh) 2010-05-12
AU2002364321A1 (en) 2003-07-09
US20050220298A1 (en) 2005-10-06
FR2834153B1 (fr) 2004-04-23
US7382875B2 (en) 2008-06-03
EP1456998A1 (fr) 2004-09-15
KR100971038B1 (ko) 2010-07-20

Similar Documents

Publication Publication Date Title
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
FR2759226A1 (fr) Protocole de verification d'une signature numerique
EP1459479A2 (fr) Systeme cryptographique de signature de groupe
FR2760583A1 (fr) Systeme de verification de cartes de donnees
EP1807967B1 (fr) Procede de delegation securisee de calcul d'une application bilineaire
EP0878934B1 (fr) Procédé d'identification à clé publique utilisant deux fonctions de hachage
EP1277307A1 (fr) Procede de cryptographie sur courbes elliptiques
EP1166496A1 (fr) Procede d'authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
EP2572470B1 (fr) Procédé d'obtention de clés de chiffrement, terminal, serveur, et produits programmes d'ordinateurs corresupondants.
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
WO2003055134A1 (fr) Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
EP0909495A1 (fr) Procede de cryptographie a cle publique
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
EP1407575B1 (fr) Procede pour effectuer une tache cryptographique au moyen d'une cle publique
EP1325584A1 (fr) Procede d'encodage de messages longs pour schemas de signature electronique a base de rsa
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas
WO2003021864A2 (fr) Procede de reduction de la taille d'une signature rsa ou rabin
WO2000064097A1 (fr) Procede de verification de signature ou d'authentification
FR3070517A1 (fr) Systeme et procede d'authentification et de signature numerique
WO2003013053A1 (fr) Procede de determination de la taille d'un alea pour un schema de signature electronique
WO2005088438A1 (fr) Procede cryptographique notamment a cle publique
FR2903258A1 (fr) Systeme et procede cryptographique a cle publique pour l'authentification d'une premiere entite par une seconde entite

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2002799095

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2002799095

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003555732

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10499563

Country of ref document: US

Ref document number: 1020047009924

Country of ref document: KR

COP Corrected version of pamphlet

Free format text: PAGES 21-23, 27, DESCRIPTION, REPLACED BY CORRECT PAGES 21-23, 27; PAGES 29, 32-38, 42, CLAIMS, REPLACED BY CORRECT PAGES 29, 32-38, 42

WWE Wipo information: entry into national phase

Ref document number: 20028277910

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2002799095

Country of ref document: EP