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 PDF

Info

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
Application number
FR0116789A
Other languages
English (en)
Other versions
FR2834153B1 (fr
Inventor
Marc Girault
Jean Jacques Quisquater
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MATH RISZK
Orange SA
Original Assignee
MATH RISZK
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to FR0116789A priority Critical patent/FR2834153B1/fr
Application filed by MATH RISZK, France Telecom SA filed Critical MATH RISZK
Priority to PCT/FR2002/004366 priority patent/WO2003055134A1/fr
Priority to EP02799095A priority patent/EP1456998A1/fr
Priority to JP2003555732A priority patent/JP2005513564A/ja
Priority to AU2002364321A priority patent/AU2002364321A1/en
Priority to US10/499,563 priority patent/US7382875B2/en
Priority to KR1020047009924A priority patent/KR100971038B1/ko
Priority to CN028277910A priority patent/CN1618200B/zh
Publication of FR2834153A1 publication Critical patent/FR2834153A1/fr
Application granted granted Critical
Publication of FR2834153B1 publication Critical patent/FR2834153B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

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é.
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
Figure img00070001

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.
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>
Figure img00110001

g, g2 modula n
Figure img00110002

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 :
Figure img00110003

G = ge modulo n v = G-'module n.
Figure img00110004
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 :
Figure img00110005

G = ge modulo n v = G moduto n.
Figure img00110006

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 :
Figure img00110007

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 :
Figure img00120001
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 :
Figure img00120002
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.
Figure img00140001
L'égalité est vérifiée dans le dispositif vérificateur par la formule :
Figure img00140002

x = YV modulo n.
Figure img00140003

ou par la formule :
Figure img00140004

ye = vc x modulo n.
Figure img00140005

ou par la formule :
Figure img00140006

yex = vc modulo n.
Figure img00140007

ou encore la concordance est vérifiée par l'égalité :
Figure img00140008

Yv =xX a modulon.
Figure img00140009

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
Figure img00140010

nombres entiers de clé publique v1, v2,... au moyen de l'égalité :
Figure img00140011

Yv1v2... =xmodu) on.
Figure img00140012

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
Figure img00160001

entiers positifs e, g, G, s, v, positifs inférieurs à n tels que :
Figure img00160002

G=ge (mod n) et v=G' (mod n)
Figure img00160003

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 :
Figure img00180001

y = gr+sc (mod n)
Figure img00180002

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 :
Figure img00180003

ye = g (r+sc) e = G (mod n).
Figure img00180004
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 :
Figure img00180005

vc = G' (mod n).
Figure img00180006

Ainsi, sans que r ne soit communiqué a aucun moment, l'égalité :
Figure img00180007

Ye v-Gr = x (mod n)
Figure img00180008

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
Figure img00190001

accélérée en calculant à l'avance, à la fin de l'étape 11 ou même avant :
Figure img00190002

z=v (modn).
Figure img00190003

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 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.
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
Figure img00210001

avantageuse en étape 13, l'image y est décomposée selon la formule :
Figure img00210002

y = y'+2u y".
Figure img00210003

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
Figure img00210004

composante Y'de deuxième élément de preuve selon la formule :
Figure img00210005

Y'= gY' (mod n)
Figure img00210006

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
Figure img00210007

composante g'de deuxième élément de preuve selon la formule :
Figure img00210008

g, = g2u (mod n)
Figure img00210009

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 :
Figure img00220001

z = vC (mod n)
Figure img00220002

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 :
Figure img00230001
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 :
Figure img00240001

V =YV (mod n)
Figure img00240002
Figure img00240003

h (V, M) = x'.
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 :
Figure img00240004
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 :
Figure img00250001

V = YV (mod n)
Figure img00250002

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 :
Figure img00250003
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)

    REVENDICATIONS 1. Procédé cryptographique dans lequel une première entité (A) génère au moyen d'une clé privée gardée secrète par la première entité (A), une preuve vérifiable par une deuxième entité (B) au moyen d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend une étape (5,15) dans laquelle au moins un élément de preuve est généré au moins en partie par traitement numérique ouvert d'une donnée qui ne permet pas de retrouver ladite clé privée.
  1. 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>
  2. 3. Procédé cryptographique selon la revendication 2, caractérisé en ce que : - dans la première étape (1,9, 20) la première entité (A) génère le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité (A) et la première entité (A) génère le premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, - dans la troisième étape (13,24), la première entité (A) génère l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs, - dans la quatrième étape (5,15) le deuxième élément de preuve Y généré est égal à une puissance modulo n d'un deuxième nombre entier g compris ou non dans ladite clé publique et dont l'exposant est l'image y de clé privée, le deuxième nombre entier g étant tel que le premier nombre entier
    G est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris ou non dans ladite clé publique.
  3. 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>
  4. 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.
  5. 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).
  6. 7. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape comprend : - une première sous-étape (18) dans laquelle la première entité (A) décompose l'image y en une première image partielle y'représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y"représentée par les bits de poids fort restants du dit mot informatique, dans laquelle la première entité (A) génère une première composante Y'et une deuxième composante g'de
    Figure img00310001
    deuxième élément de preuve telles que
    Figure img00310002
    Y'= 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>
  7. 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).
  8. 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.
  9. 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.
  10. 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.
  11. 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>
    Figure img00330001
    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. 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.
  13. 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 :
    Figure img00330002
    G = ge modulo n v = G-s modulo n
    Figure img00330003
    et en ce que l'égalité est vérifiée par la formule :
    Figure img00330004
    x = Yevc modulo n.
    Figure img00330005
  14. 15. Procédé cryptographique selon la revendication 13, caractérisé en ce que le quatrième nombre entier v de clé publique est donné par la formule :
    Figure img00330006
    G = ge modulo n v = Gus module n
    Figure img00330007
    et en ce que l'égalité est vérifiée par la formule :
    Figure img00330008
    Ye = vc x modulo n.
    Figure img00330009
  15. 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 :
    Figure img00330010
    G = g moduto n v = G-s modulo n
    Figure img00330011
    et en ce que l'égalité est vérifiée par la formule :
    Figure img00330012
    yex = vc modulo n.
    <Desc/Clms Page number 34>
  16. 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 :
    Figure img00340001
    Figure img00340002
    - dans la cinquième étape, la concordance est vérifiée par l'égalité :
    Figure img00340003
    Yv =x modulo n.
    Figure img00340004
    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 :
    Figure img00340005
    - 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é :
    Figure img00340006
    Yv1v2... =x modulo n.
    Figure img00340007
    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.
  17. 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>
  18. 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.
  19. 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.
  20. 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>
  21. 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.
  22. 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.
  23. 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.
  24. 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.
  25. 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 une
    Figure img00370001
    deuxième composante g'de deuxième élément de preuve telles que
    Figure img00370002
    Y'= g modu) o n g'= g2u modulo n
    Figure img00370003
    où g est un deuxième nombre entier tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique, - les moyens de communication (34) sont agencés pour émettre la première composante Y', la deuxième composante g'et la deuxième image partielle y".
  26. 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.
  27. 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.
  28. 31. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules :
    Figure img00370004
    G = ge modulo n v = G-s modulo n.
    <Desc/Clms Page number 38>
  29. 32. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de
    Figure img00380001
    clé publique sont respectivement donnés par les formules :
    Figure img00380002
    G = ge modulo n v = Gs modulo n.
    Figure img00380003
  30. 33. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules :
    Figure img00380004
    G = g-e modulo n v = G-s modulo n.
    Figure img00380005
  31. 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 :
    Figure img00380006
    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 :
    Figure img00380007
  32. 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>
  33. 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.
  34. 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.
  35. 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.
  36. 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.
  37. 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.
  38. 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.
  39. 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.
  40. 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.
  41. 45. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule :
    Figure img00410001
    x = Yen modula n.
    Figure img00410002
  42. 46. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule :
    Figure img00410003
    Y= vxmodulo n.
    Figure img00410004
  43. 47. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule :
    Figure img00410005
    yex = vc modulo n.
    Figure img00410006
  44. 48. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que la concordance est vérifiée par l'égalité :
    Figure img00410007
    ye vb =xa modulo n.
    Figure img00410008
    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é :
    Figure img00410009
    Yv1v2... =xmodu) on.
    Figure img00410010
  45. 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.
  46. 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.
  47. 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.
  48. 53. Dispositif intermédiaire (32) pour être introduit en aval d'un dispositif prouveur en vue de générer une preuve basée sur une clé privée gardée secrète par le dispositif prouveur, ladite preuve étant vérifiable à l'aide d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend des moyens de calcul (39) pour générer au moins un élément de preuve par traitement numérique ouvert d'une image de ladite clé privée, ladite image de
    Figure img00420001
    clé 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.
  49. 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.
  50. 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.
  51. 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.
FR0116789A 2001-12-21 2001-12-21 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede Expired - Fee Related FR2834153B1 (fr)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363492B2 (en) * 2005-02-25 2008-04-22 Motorola, Inc. Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices
JP4988448B2 (ja) * 2007-06-25 2012-08-01 株式会社日立製作所 一括検証装置、プログラム及び一括検証方法
FR2923305B1 (fr) * 2007-11-02 2011-04-29 Inside Contactless Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
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)

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

Family Cites Families (4)

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

Patent Citations (1)

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

Non-Patent Citations (1)

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

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&#39;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&#39;une application bilineaire
EP1166496A1 (fr) Procede d&#39;authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
EP2572470B1 (fr) Procédé d&#39;obtention de clés de chiffrement, terminal, serveur, et produits programmes d&#39;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&#39;alleger les calculs au cours de transactions
EP1407575B1 (fr) Procede pour effectuer une tache cryptographique au moyen d&#39;une cle publique
EP1325584A1 (fr) Procede d&#39;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&#39;aleas
EP1325585A1 (fr) Procede de transmission accelere de signature electronique
WO2003021864A2 (fr) Procede de reduction de la taille d&#39;une signature rsa ou rabin
EP1090479A1 (fr) Procede de verification de signature ou d&#39;authentification
FR3070517A1 (fr) Systeme et procede d&#39;authentification et de signature numerique
WO2003013053A1 (fr) Procede de determination de la taille d&#39;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