FR2834153A1 - 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 PDFInfo
- Publication number
- FR2834153A1 FR2834153A1 FR0116789A FR0116789A FR2834153A1 FR 2834153 A1 FR2834153 A1 FR 2834153A1 FR 0116789 A FR0116789 A FR 0116789A FR 0116789 A FR0116789 A FR 0116789A FR 2834153 A1 FR2834153 A1 FR 2834153A1
- Authority
- FR
- France
- Prior art keywords
- evidence
- piece
- entity
- public key
- integer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
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
<Desc/Clms Page number 1>
PROCÉDÉ CRYPTOGRAPHIQUE PERMETTANT DE REPARTIR LA
CHARGE ENTRE PLUSIEURS ENTITÉS ET DISPOSITIFS POUR METTRE
EN OEUVRE 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é.
CHARGE ENTRE PLUSIEURS ENTITÉS ET DISPOSITIFS POUR METTRE
EN OEUVRE 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 oeuvre 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, Adleman) 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
<Desc/Clms Page number 2>
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 ElGamal, 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.
<Desc/Clms Page number 3>
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
<Desc/Clms Page number 4>
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
<Desc/Clms Page number 5>
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, de 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
<Desc/Clms Page number 6>
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
<Desc/Clms Page number 7>
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 Y'et une deuxième composante g'de deuxième élément de preuve telles que
Y'= g 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'
Y'= g 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'
<Desc/Clms Page number 8>
par une puissance de la deuxième composante g'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 y'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 g'. 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.
<Desc/Clms Page number 9>
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 oeuvre 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,
<Desc/Clms Page number 10>
- 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.
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
<Desc/Clms Page number 11>
g, g2 modula 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-'module n.
G = ge modulo n v = G-'module 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 = ge modulo n v = G moduto 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.
G = ge modulo n v = G moduto 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.
<Desc/Clms Page number 12>
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 :
Selon une cinquième variante, la clé privée comprenant plusieurs nombres secrets s1, s2,... : - les moyens de calcul sont agencés pour générer autant de nombres communs c1, 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 :
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
<Desc/Clms Page number 13>
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
<Desc/Clms Page number 14>
é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 = YV modulo n.
ou par la formule :
ye = vc x modulo n.
ou par la formule :
yex = vc modulo n.
ou encore la concordance est vérifiée par l'égalité :
Yv =xX a modulon.
Lorsque que la clé privée comprend plusieurs nombres secrets s1, s2, ..., les moyens de calcul (38) sont agencés pour choisir autant de nombres communs c1, 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é :
Yv1v2... =xmodu) on.
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.
x = YV modulo n.
ou par la formule :
ye = vc x modulo n.
ou par la formule :
yex = vc modulo n.
ou encore la concordance est vérifiée par l'égalité :
Yv =xX a modulon.
Lorsque que la clé privée comprend plusieurs nombres secrets s1, s2, ..., les moyens de calcul (38) sont agencés pour choisir autant de nombres communs c1, 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é :
Yv1v2... =xmodu) on.
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.
<Desc/Clms Page number 15>
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 oeuvre 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,
<Desc/Clms Page number 16>
- 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' (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.
entiers positifs e, g, G, s, v, positifs inférieurs à n tels que :
G=ge (mod n) et v=G' (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.
<Desc/Clms Page number 17>
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 [O, 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 + sc. 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
<Desc/Clms Page number 18>
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 sc 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, t'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 : vevc = 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 :
ye = g (r+sc) e = G (mod n).
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 :
ye = g (r+sc) e = G (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 :
vc = G' (mod n).
Ainsi, sans que r ne soit communiqué a aucun moment, l'égalité :
Ye v-Gr = x (mod n)
certifie que l'entité A qui seule connaît s, a connaissance de c.
vc = G' (mod n).
Ainsi, sans que r ne soit communiqué a aucun moment, l'égalité :
Ye v-Gr = x (mod 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
<Desc/Clms Page number 19>
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 et t=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=v (modn).
Ainsi dans la quatrième étape, B n'a plus qu'à vérifier : yez = x (mod n).
accélérée en calculant à l'avance, à la fin de l'étape 11 ou même avant :
z=v (modn).
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-6 (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 + sc par y = ar + bs, auquel cas l'équation de vérification devient yevb = xa (mod n).
Par exemple encore, on peut remplacer G=ge (mod n) par G=g-6 (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 + sc 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, S2, ... plusieurs clés publiques V1, Vus,..., plusieurs entiers C1, C2,'" et remplacer y = r + sc par y = r + S1C1+S2C2 +..., auquel cas l'équation de vérification devient Yev1c1V2... = 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.
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
<Desc/Clms Page number 20>
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 sc 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 oeuvre 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
<Desc/Clms Page number 21>
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 à 2". 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.
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 à 2". 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, t'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.
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 (mod n)
Le calcul de la première composante g'nécessite peu de ressources de calcul car il suffit de faire u élévations au carré, la première élévation au carré
composante g'de deuxième élément de preuve selon la formule :
g, = g2u (mod n)
Le calcul de la première composante g'nécessite peu de ressources de calcul car il suffit de faire u élévations au carré, la première élévation au carré
<Desc/Clms Page number 22>
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, t'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, t'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.
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, t'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.
Au lieu d'envoyer x à l'entité B, l'entité A génère un premier élément de preuve
<Desc/Clms Page number 23>
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 :
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 [O, 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 + sc. 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 sc 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 élément de preuve Y = gY (mod n) et envoie Y à B.
<Desc/Clms Page number 24>
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, t'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule :
V =YV (mod n)
V =YV (mod n)
Dans la variante utilisant une fonction f, l'équation de vérification devient h (f (YV (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, t'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 :
Dans une troisième étape 24 directement à la suite de l'étape 23, l'entité A calcule y = r + sc. 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 sc 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
<Desc/Clms Page number 25>
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, t'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule :
V = YV (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 :
V = YV (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 :
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.
<Desc/Clms Page number 26>
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 à Vd 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 oeuvre correspondent à l'authentification. Pour une version de procédé à mettre en oeuvre correspondant à une signature, les
<Desc/Clms Page number 27>
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 oeuvre. 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 oeuvre correspondent à l'authentification. Pour une version de procédé à mettre en oeuvre 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 oeuvre 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 référence à la figure 4 ou les étapes 6 et 8 décrites en référence à la figure 5.
<Desc/Clms Page number 28>
selon la version de procédé à mettre en oeuvre. 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 oeuvre. 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 (51)
- 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 moins l'un des dits nombres communs.<Desc/Clms Page number 30>
- 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 entierG 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.<Desc/Clms Page number 31>
- 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'dedeuxième élément de preuve telles queY'= gY modulo n g'= = g2u 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).<Desc/Clms Page number 32>
- 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 produit modulo n de la puissance du deuxième élément de preuve Y dont<Desc/Clms Page number 33>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 net en ce que l'égalité est vérifiée par la formule :x = Yevc 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 moduto n v = G-s modulo net en ce que l'égalité est vérifiée par la formule :yex = vc modulo n.<Desc/Clms Page number 34>
- 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 :- dans la cinquième étape, la concordance est vérifiée par l'égalité :Yv =x modulo n.18. Procédé cryptographique selon la revendication 13, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets s1, s2,... : - dans la deuxième étape, autant de nombres communs c1, 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 :- 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é :Yv1v2... =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 élément de preuve x de sorte à démarrer le procédé à la deuxième étape.<Desc/Clms Page number 35>
- 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 premier élément de preuve.<Desc/Clms Page number 36>
- 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 : 1 - les moyens de calcul (37) 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<Desc/Clms Page number 37>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 unedeuxième composante g'de deuxième élément de preuve telles queY'= g modu) o n g'= g2u modulo noù 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.
- 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 :35. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets s1, s2,... : - les moyens de calcul (37) sont agencés pour générer autant de nombres communs c1, 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 :
- 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 technique dite des restes chinois.<Desc/Clms Page number 39>
- 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<Desc/Clms Page number 40>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<Desc/Clms Page number 41>du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
- 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 s1, s2,... : - les moyens de calcul (38) sont agencés pour choisir autant de nombres communs c1, 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é :Yv1v2... =xmodu) on.
- 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<Desc/Clms Page number 42>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 declé privée ne permettant pas de retrouver ladite clé privée.1 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 que les moyens de calcul (39) sont agencés pour générer le deuxième<Desc/Clms Page number 43>é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.
Priority Applications (8)
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 |
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 |
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 |
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 (1)
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2834153A1 true FR2834153A1 (fr) | 2003-06-27 |
FR2834153B1 FR2834153B1 (fr) | 2004-04-23 |
Family
ID=8870936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0116789A Expired - Fee Related 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 |
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) |
Families Citing this family (8)
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 |
FR2925245B1 (fr) * | 2007-12-12 | 2010-06-11 | Sagem Securite | Controle d'une entite a controler par une entite de controle |
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)
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)
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 |
-
2001
- 2001-12-21 FR FR0116789A patent/FR2834153B1/fr not_active Expired - Fee Related
-
2002
- 2002-12-16 CN CN028277910A patent/CN1618200B/zh not_active Expired - Fee Related
- 2002-12-16 JP JP2003555732A patent/JP2005513564A/ja active Pending
- 2002-12-16 KR KR1020047009924A patent/KR100971038B1/ko not_active IP Right Cessation
- 2002-12-16 AU AU2002364321A patent/AU2002364321A1/en not_active Abandoned
- 2002-12-16 WO PCT/FR2002/004366 patent/WO2003055134A1/fr active Application Filing
- 2002-12-16 EP EP02799095A patent/EP1456998A1/fr not_active Withdrawn
- 2002-12-16 US US10/499,563 patent/US7382875B2/en not_active Expired - Fee Related
Patent Citations (1)
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)
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 * |
Also Published As
Publication number | Publication date |
---|---|
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 |
WO2003055134A1 (fr) | 2003-07-03 |
KR100971038B1 (ko) | 2010-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2345202B1 (fr) | Procédé de signature numérique en deux étapes | |
EP1459479A2 (fr) | Systeme cryptographique de signature de groupe | |
FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
FR2760583A1 (fr) | Systeme de verification de cartes de donnees | |
FR2822002A1 (fr) | Authentification cryptographique par modules ephemeres | |
EP1807967B1 (fr) | Procede de delegation securisee de calcul d'une application bilineaire | |
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 | |
FR2834153A1 (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 | |
WO1998051038A1 (fr) | Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas | |
EP1325585A1 (fr) | Procede de transmission accelere de signature electronique | |
WO2003021864A2 (fr) | Procede de reduction de la taille d'une signature rsa ou rabin | |
EP1090479A1 (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 | |
FR3014582A1 (fr) | Procede de test de la condition mov et dispositif associe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 15 |
|
ST | Notification of lapse |
Effective date: 20170831 |