FR2811172A1 - Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque - Google Patents

Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque Download PDF

Info

Publication number
FR2811172A1
FR2811172A1 FR0008307A FR0008307A FR2811172A1 FR 2811172 A1 FR2811172 A1 FR 2811172A1 FR 0008307 A FR0008307 A FR 0008307A FR 0008307 A FR0008307 A FR 0008307A FR 2811172 A1 FR2811172 A1 FR 2811172A1
Authority
FR
France
Prior art keywords
ring
matrix
algebra
public key
square matrix
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
FR0008307A
Other languages
English (en)
Other versions
FR2811172B1 (fr
Inventor
Jean Francois Geneste
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.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR0008307A priority Critical patent/FR2811172B1/fr
Priority to FR0100781A priority patent/FR2811173B3/fr
Priority to AU70670/01A priority patent/AU7067001A/en
Priority to PCT/FR2001/002029 priority patent/WO2002001792A1/fr
Publication of FR2811172A1 publication Critical patent/FR2811172A1/fr
Application granted granted Critical
Publication of FR2811172B1 publication Critical patent/FR2811172B1/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/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
    • 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
    • H04L9/3221Cryptographic 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 interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

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)

Abstract

Procédé de cryptographie à clé publique applicable à des données enregistrées sous forme de bits sur un support exploitable par une ou des entités de calcul aptes à traiter des données d'entrée x pour fournir des données de sortie x', comportant au moins une étape de traitement de données, permettant, selon le mode de réalisation, de fournir un procédé de chiffrement, un procédé de preuve d'identité zero-knowledge au sens de Fiat-Shamir, un procédé de signature électronique ou un procédé réalisant une fonction à sens unique, le tout utilisant des matrices carrées. Par exemple, si un message à chiffrer est un vecteur x d'un module de dimension 3, E, on complète x pour former la base y, z}, on considère la matrice ainsi formée g-1 , et si F est une matrice 3 x 3 diagonalisable qui constitue le clé publique, le message chiffré est (g-1 Fg, xi (y, z) x i + y + z). La preuve zero-knowledge peut se faire en utilisant ce procédé mais en renvoyant au détenteur de la gâche le message déchiffré et en travaillant sur un anneau de fraction d'un anneau non commutatif. Le procédé de signature dérive directement d'une application due à Guillou et Quisquater pour transformer une preuve zero knowledge en schéma de signature. Enfin la fonction à sens unique peut s'obtenir par une complétion particulière de la base. Ce procédé, utilisant des matrices carrées se prête très facilement à la parallélisation et à la réalisation de circuits intégrés massivement parallèles comme indiqué sur la figure.

Description

La présente invention concerne un procédé de cryptographie à clé publique,
applicable à des données enregistrées sous forme de bits sur un support exploitable par une entité de calcul, lequel procédé, selon la façon dont il est utilisé peut fournir un procédé de chiffrement, un procédé de preuve d'identité zero-knowledge au sens de Fiat-Shamir, un procédé de
signature de signature électronique ou un procédé réalisant une fonction dite à sens unique.
Depuis le milieu des années 1970 de nombreux systèmes de cryptographie à clé publique sont apparus, notamment le RSA de Rivest Shamir et Adelman ainsi que le systeme d'échange publique de clé dit de Diffie-Hellmann. D'autres systèmes furent proposés, la grande majorité basée sur le problème de la factorisation. Peu sont basés sur d'autres problèmes mais je citerai ici ceux qui sont basés sur les courbes elliptiques ou hyperelliptiques. Néanmoins, dans tous les cas, les systèmes suggérés n'ont que peu à voir avec la factorisation et leur solidité semble dépendre davantage du fait que l'on ne connaît pas ou peu le domaine concerné (e.g. les courbes elliptiques) que du fait que le problème est réellement difficile à résoudre. On est ainsi en présence d'un phénomène préoccupant. Soit on utilise un système cryptographique à clé publique basé sur la factorisation, soit on en utilise un basé sur un problème peu connu mais peut être pas très difficile. Alors pourquoi ne pas utiliser ceux basés sur la factorisation ? En fait, une personne qui aurait trouvé un algorithme en temps polynômial déterministe pour factoriser les grands nombres aurait-elle intérêt à publier sa découverte? Un pays comme les USA qui cherche à écouter toutes les t communications de la terre via la NSA (National Security Agency) n'aurait-il pas intérêt à laisser croire que le problème de la factorisation est difficile de façcon à, le cas échéant, continuer à écouter, sans être soupcçonné, le monde entier ? Dans ce qui suit, je vais présenter un procédé cryptographique à clé publique qui est,
en général, bien plus compliqué à "casser" que de résoudre le problème de la factorisation.
t - Cependant, dans certains cas, identifiés, le problème en question sera équivalent à la factorisation. L'utilisateur n'aura qu'à choisir ce qu'il veut. Je montrerai ensuite que selon comment on s'en sert on peut obtenir un procédé de preuve interactive zero-knowledge à
2 2811172
résultat indistingable, un procédé de signature électronique et un procédé de construction d'une fonction à sens unique. Enfin, les procédés présentés ici étant parallélisables, je montrerai comment réaliser des circuits intégrés parallèles qui les réalisent et permettent de faire du chiffrement à clé publique en temps réel, ce que n'arrive à faire aucun autre procédé
S de ce type à l'heure actuelle.
Les calculs explicités ici sont censés être faits sur des données enregistrées sous la forme de bits, et exécutés par des entités de calcul du type "ordinateur" ou selon le cas, des circuits électroniques spécifiques. Le chiffrement consistera à traiter les données d'entrée x pour fournir une sortie x', li'unité de calcul effectuant un certain nombre d'étapes de traitement
/15 de données, ce traitement utilisant un certain nombre de fonctions, notamment matricielles.
Pour les preuves d'identité zero-knowledge ou les signatures électroniques, le même procédé sera utilisé, mais il fera intervenir des interactions entre 2 entités de calcul qui traiteront des
données enregistrées elles aussi sous forme binaire.
* 1. Notations - Rappels d 5,qSoit A un anneau quelconque et E un Amodule de type fini. Soit fun endomorphisme de E. On dira qu'un vecteur x E E* est un vecteur propre de f si 3AsA / f(x)=Rx. Pour plus de simplicité on ne considérera ici que les modules à gauche, mais les résultats décrits sont les mnmes et sont aussi valables pour les modules à droite. De même, A est une valeur propre de l'endomorphisme f si 3x e E/ f(x)=Ax. Dans le cas o A est un anneau commutatif, une façon
t de calculer les valeurs propres de f est de résoudre son polynôme caractéristique.
Lorsqu'un tirage sera fait au hasard cela voudra dire qu'il est fait avec la distribution uniforme sur l'ensemble considéré. Les valeurs propres seront, en général, tirées dans le centre de l'anneau. Si y et z sont deux vecteurs de E, alors "(y,z) est une fonction à sens unique depuis un sous-ensemble des bits des 2 dernières coordonnées de y et z dans A, ou t 5 bien, selon le cas,:(a) sera une fonction à sens unique de A dans A. Par exemple, dans certains cas, la fonction e(y,z) pourra être l'élévation au carré dans A de la deuxième
coordonnée de y.
Dans la suite, lorsque l'on dira "Bob" ou "Alice", il faudra entendre la machine de Bob ou Alice. Cette personnalisation des entités de calcul nous paraît permettre une meilleure
3 ocompréhension.
* 2. Description en dimension 3
On se place dans un contexte o Bob veut envoyer un message à Alice. E est un A-module de dimension 3, et on suppose que les messages à envoyer sont xl pour le premier jusqu'à xm, pour le dernier. Pour fabriquer sa clé publique Alice tire au hasard 3 valeurs
3 2811172
distinctes non nulles dans A. Soient AI, A2 et;3 ces valeurs. Alice forme alors la matrice
AI 0 0 1 0 0
Fo = 0 A2 0,puiselletireauhasardunematricedelaformeh-l= 0 P w qui 0 0 A3 0 w w soit inversible. Elle forme alors la matrice F=h-l F0 h qui est la clé publique. Dans la suite f1 0 0 cette matrice sera écrite F= 0 ct /3. Cette clé publique est enregistrée dans un annuaire O y 6 électronique "hardware" consultable et "importable" depuis l'extérieur par une connexion, par
exemple, du type Internet.
Algorithme de chiffrement du AP- message x Etant donné xri Bob tire au hasard 2 vecteurs yt et zi tels que {xi, yt, zt} forme une base de E o la première coordonnée de yi et zi est fixée et connue et vaut, par exemple, 1 dans g1ll 1 1 l'anneau A. Soit alors g-l = g2l g22 g23 la matrice formée des coordonnées de ces g31 g32 g33 vecteurs en colonne. Elle est évidemment inversible. Bob calcule alors f = g- l Fg et "yi,
zi)xi + yt +z1. Bob envoie alors à Alice le couple (f. "(Yt, zt)xî + yt + z1).
Algorithme de déchiffrement du pmc message Comme Alice connaît les valeurs propres de f, Alice cherche 3 vecteurs propres de f associés à chacune des valeurs Ai. Si on considère le vecteur propre ut = ui2 associé à A2 par Ui3 exemple, alors ce dernier est proportionnel à g- [P. On a donc le système d'équations p + (I = kuil
Pg22 + wJg23 = kui2.
Pg32 + wg33 = kui3 Vil Comme Alice connaît p, w et uil elle peut déterminer k. De même si vi = vi2 est le vecteur vi3 propre associé à A3, on a alors v1 qui est proportionnel à g-1 (. On obtient alors le système W + = k' ui1 suivant:] g22 + Ug23 = k' Ui2. De même que précédemment, Alice connaît e0 et et qg32 + g33 = k' ui3 peut donc déterminer k'. I1 reste alors 2 systèmes de 2 équations à 2 inconnues permettant de
4 2811172
retrouver g22, g23, g32 et g33. A ce stade Alice connaît donc y; et zi elle retranche alors à "(yi, z,)x, + y, +z, le vecteur yi + zi. En divisant le résultat par "(yi, zi) elle obtient enfin xi, * 3. Difficulté de casser le système La difficulté de casser le système précédent vient de la difficulté de trouver les valeurs propres d'une matrice à coefficients dans un anneau quelconque. On peut en particulier démontrer que lorque l'anneau est Z/nZ o n=pq est le produit de 2 grands nombres premiers cornmme dans le RSA, l'algorithme précédent est aussi dur à casser qu'il est difficile de factoriser le nombre n. Dans ce cas particulier, une fonction intéressante pour se est l'élévation
au carré de la 2'me coordonnée de y modulo n.
4 * 4. Preuve zero-knowledge Considérons R un anneau non commutatif Supposons que R vérifie la condition dite de Ore à droite. C'est à dire que V a, b E R, 3 a', b' e R / aa' = bb'. On démontre alors que sous cette condition, l'anneau R admet un anneau de fractions, c'est à dire des éléments du type a/b o a E R et b E S o S est une partie de R sur laquelle on peut construire une 4" relation d'équivalence. Dans ce cadre, pour peu que a E S, l'inverse de a/b s'écrit b/a. La construction d'un tel anneau de fraction est unique dès qu'on a choisi S. Cette construction ne sera donc pas décrite ici. Par contre, une même construction existe pour une condition dite de Ore à gauche avec le même résultat, mais une autre structure d'anneau. Le résultat présenté ici est donc valable pour les 2 cas. Ce qui est important, c'est que l'on travaille sur des classes se O d'équivalence et non sur des objets numériques directement. Appelons alors CI le procédé de chiffrement du paragraphe 2 et Di le procédé de déchiffri-ement du paragraphe 2. Dans le scenario présent, Alice veut prouver son identité à Bob. De même que dans les protocoles zero-knowledge classiques, elle va montrer qu'elle connaît une information connue d'elle seule, sans donner davantage d'information que le fait qu'elle connaît cette information. En 2 ' clair, Alice va montrer qu'elle connaît les valeurs propres de F. Le protocole se déroule comme suit: Bob chiffre un message tiré au hasard dans le module sur l'anneau A des fractions de R avec Cl et l'envoie à Alice. A la réception, Alice vérifie qu'il est de la forme (f v) o f est une matrice 3x3 à coefficients dans A et v un vecteur de dimension 3 sur A. Si tel n'est pas le cas, alors Alice arrête le protocole. Sinon Alice déchiffre avec D1. On montre 0 facilement que le message obtenu est x' si le message de Bob est x et que chaque coordonnée de x' est dans la memrne classe d'équivalence que celle correspondante de x. Les deux vecteurs sont donc équivalents et, d'un point de vue théorique on a déchiffré le message. Néanmoins, d'un point de vue pratique, on a, numériquement, 2 vecteurs équivalents potentiellement différents. Il n'y a aucune raison théorique ou pratique pour favoriser une forme plutôt qu'une 3' 5' autre. Par contre, seul le détenteur des valeurs propres peut trouver un équivalent de x. A la réception de x' Bob vérifie l'équivalence des 2 vecteurs. Si tel n'est pas le cas, Bob refuse
2811172
d'identifier Alice, sinon Bob accepte.
On démontre qu'un tel protocole est un protocole de preuve interactive
Zero-knowledge au sens de Fiat-Shamir à résultat inconditionnelement indistingable.
* 5. Signature Nous allons nous inspirer ici d'une technique due à JeanJacques Quisquater et Louis Guillou qui permet, à partir d'un système interactif de preuve zero-knowledge, de déduire un système de signature interactif Comme dans le paragraphe 2, Alice construit sa matrice publique F. On suppose ici que le message à signer est m E E. Comme dans le procédé Cl, Bob tire au hasard 3 vecteurs tels que {x, y, z} forme une base de E et on appelle g-l la matrice formée de ces vecteurs en colonne, ainsi que f=--g-1 Fg. f est envoyée à Alice. A la réception, Alice calcule comme dans le paragraphe 2, x, y et z ainsi que f(m) et le décompose sur la base {x, y, z}. Elle a ainsi f(m)=tl + t2 + t3. Alice tire alors au hasard 3 valeurs a, / et y et envoie à Bob le couple (atl +, it2 + yt3, (a)). Bob décompose f(m) sur la base {x, y, z}, obtient les ti, décompose atl +,/3t2 + yt3sur la base des ti, ce qui lui donne
a,/3 et y et calcule "-() pour vérifier que la deuxième partie du couple correspond bien.
On remarquera que cet algorithme marche quelque soit l'anneau considéré,
commutatif ou non, anneau des fractions ou non.
* 6. Le choix de l'anneau Dans les sections précédentes nous avons décrit des procédés qui marchent dans quasiment tous les types d'anneaux. Cependant, on peut ici donner quelques conseils judicieux et apporter des précisions. Tout d'abord, les procédés CI et Dl marchent dans tout anneau. Lorsque l'anneau est commutatif, il faut vérifier que le problème de trouver les valeurs propres est un problème difficile. A priori, mais de manière non exhaustive, un anneau local pourra marcher. Une façon de construire un tel anneau est de choisir dans un anneau R un idéal premier P. Soit S = R - P. Alors A = S-1 R est un anneau local. Pour le cas des preuves zero-knowledge et des signatures, l'anneau quotient d'un anneau non commutatif peut être choisi. Là encore, même si la construction est un peu différente, on pourra choisir un anneau local. Enfin, on n'est pas obligé d'être réellement dans un anneau. En effet, l'associativité de la multiplication n'est pas une condition nécessaire. Ainsi un anneau convenable pourrait être le suivant. Soit R=O, l'ensemble des octonions modulo n o n---pq est le produit de 2 nombres premiers. Soit S l'ensemble des éléments de R dont aucune des composantes n'est divisible par p. Considérons alors l'anneau non associatif des fractions
A = S-' R. Les algorithmes précédents marchent dans un tel anneau.
6 2811172
Tout cela n'est donné qu'à titre d'exemple, les procédés décrits marchant dans
quasiment toutes les structures à 2 opérations.
* 7. Description en dimension 4
Les procédés de la dimension 3 peuvent être adaptés à la dimension 4. Nous
A1 00 0 0
reprenons les mêmes notations que précedemment. Soit Fo = 0 0 la clé secrète
0 X 0 0À4
d'Alice o les Ai sont choisies au hasard non nulles et toutes distinctes. Alice tire alors au (î cr 0 0'j hasardune matrice h-l = et publie la matrice F = h-l F0 h. Un message est o0 pC 0 w & toujours un vecteur u E E, E qui est cette fois-ci de dimension 4 sur A. Chiffrement d'un message Bob veut envoyer u. Il tire alors au hasard x et pose y = u - x. I complète en choisissant au hasard z et t tels que {x, y, z, t} forme une base de E. Appelons g-1 = (gi j) la matrice formée des colonnes de ces vecteurs. Pour que les systèmes d'équations non linéaires puissent être résolus par la suite, il faut que certaines valeurs soient fixées connues, par exemple égales à 1. A titre d'exemple prenons gL,3 = gL,4 = 1. Bob envoie alors à Alice f=g-' Fg suivie d'un
vecteur du type "(z,tXx + y) + z + t.
Déchiffrement du message On raisonne comme au paragraphe 2 pour retrouver les vecteurs z et t en écrivant que le vecteur propre associé à À3 est proportionnel à g-1 0 eten écrivant que celui associé à È A4 est proportionnel à g-1 0. En résolvant les systèmes d'équations on obtient z et t et
t O donc ((z, t) et donc u de manière évidente.
Propriété particulière A partir de la dimension 4 on peut démontrer que le système résiste à une attaque adaptative à chiffré choisi, alors que dans le cas de la dimension 3 l'attaque ne doit pas être adaptative.
7 2811172
Généralisations Un tel schéma ou celui en dimension 3 peuvent être facilement généralisés à des
dimensions supérieures à 4. Cela étant immédiat, nous n'irons pas plus loin dans la description
de tels systèmes. Cependant, nous citerons pour mémoire le cas des dimensions supérieures ou égales à 5 pour lesquelles, en plus de la difficulté traditionnelle de trouver des valeurs propres vient s'ajouter, dans le cas d'un anneau commutatif en particulier, l'impossibilite de la
résolution par radicaux du polynôme caractéristique.
* 8. Variantes Nous présentons ici, de manière non exhaustive, quelques variantes des procédés précédents de façon à prouver la puissance du système. Ces variantes sont toutes en dimension 3 ou 4 mais se généralisent à d'autres dimensions très facilement. Nous ne
donnerons ici que des descriptions partielles, le reste étant identique aux paragraphes
précédents. De plus, sauf mention du contraire, nous nous intéresserons principalement aux
aspects de chiffrement.
4 5 Variante numéro I Dans le procédé C1, au lieu d'envoyer à Alice (ú, ((y, z)x + y + z), Bob envoie directement (f. x+y+z). On démontre qu'aucune sécurité n'est apportée par un tel procédé s'il est sur un anneau commutatif Par contre, dès que l'anneau est non commutatif, la sécurité est assurée (via une conjecture qui est hors du cadre de ce texte). Ainsi le chiffrement et t O déchiffrement sont simplifiés d'autant pour un anneau non commuatif De même, cette variante peut être étendue à la preuve zero-knowledge du paragraphe 4 et à la signature du
paragraphe 5.
Variante numéro 2 On se place ici en dimension 4. Sous la condition que certains éléments de la matrice t 5 g-l soient connus et par exemple égaux à 1, on peut alors modifier le chiffrement comme suit. Supposons que l'équivalent d'une ligne de g soit connu, par exemple g4,1 = g4,2 = gl,3 = gl,4 = 1, alors il suffit à Bob d'envoyer la matrice f En suivant le même type de raisonnement que pour Dl Alice retrouve les vecteurs x, y, z et t et peut donc
calculer x+y et z+t qui forme alors le message en clair.
o Variante numéro 3 Nous allons donner ici un système de preuve interactive zero-knowledge en dimension 2; il nous faut pour cela une hypothèse supplémentaire, celle selon laquelle Alice sait trouver le valeurs propres d'une matrice 2x2 en temps polynomial déterministe. Soit F0 = (I 0) 0,k2 tirée au hasard par Bob. Ce dernier tire alors au hasard 2 vecteurs x et y formant une base de 3 5 E et soit g-l la matrice formée de ces vecteurs en colonne. Soit F=g-l F0 g. Bob envoie alors
8 2811172
à Alice le couple (F, x+y). Alice, qui sait retrouver les valeurs propres peut alors retrouver x et y et elle tire au hasard a et,/3, puis envoie à Bob (ax+,/3y,:(a)). A la réception, Bob, qui connaît la base de vecteurs propres {x, y} retrouve a et,/3 et calcule s(a) pour voir la correspondance avec le deuxième élément du couple qu'Alice lui a envoyé. Si tel est le cas,
Bob accepte, sinon Bob refuse.
Un tel algorithme est particulièrement bien adapté au cas o A=Z/nZ et n=pq comme dans le RSA. En effet, connaissant la factorisation de n, Alice peut facilement résoudre le polynôme caractéristique en utilisant, entre autre, le théorème chinois des restes et dans ce
cas on peut par exemple choisir e(a) = ae2 mod n.
Variante numéro 4 Nous donnons ici, en dimension 3 une version de preuve interactive zero-knowledge qui marche dans un anneau commutatif De même que dans le paragraphe 2, Bob chiffre un message tiré au hasard, x, à l'aide de Cl. Alice le déchiffre et obtient donc x, y et z. Elle
renvoie donc à Bob (ax+,l3y+yz,"a()) et Bob vérifie alors comme dans la variante numéro 3.
Des schémas similaires marchent dans toutes les dimensions.
Nota Les variantes 3 et 4 donnent bien sûr naissance aux systèmes de signature interactifs
du type Guillou-Quisquater.
Variante numéro 5 Voici un système de chiffrement base sur la difficulté de trouver les valeurs propres
d'un endomorphisme lorsqu'Alice connaît une information qui lui permet elle, de les calculer.
C'est le cas typique o on travaille dans l'ensemble des entiers modulo n et ou seule Alice connaît la factorisation de n. Bob, lorsqu'il veut s'adresser à Alice, tire au hasard une matrice
À1 0 0
diagonale F= O A2 0 et la garde sans modification tant qu'il correspond avec Alice.
0 0 À.3
Le /me message est un vecteur xi E E et Bob tire au hasard yi et zi pour que les 3 vecteurs forment une base de E. Soit alors gjl la matrice formée de ces vecteurs en colonne. Bob envoie à Alice (fi = gi-1 Fg1, "Yi, zi)xi + Yi + zi). Pour déchiffrer, Alice calcule les valeurs propres de fi (seulement pour le premier message, qui au passage peut être public pour faciliter encore les choses), et cherche une base propre de fi. Elle décompose ensuite
(,yi, zi)x + Yi + zi sur cette base, obtient yi et zi donc "xi, y1) et par voie de conséquence xi.
Variante numéro 6 Nous présentons ici une généralisation directe de l'algorithme présenté au paragraphe 2. Si n est la dimension de E, on considère une matrice nxn, clé publique d'Alice et de la forme F=( À 0) ou R est une matrice non diagonale comme dans le paragraphe 2 mais de taille (n-1)x(n-l) et qui a pour valeurs propres A2..., Àn. Le message est toujours un vecteur
9 2811172
de E et Bob envoie a Alice le message chiffré (f--g-1 Fg, (y, z, t,...)x+ y+z+t+...). Le
déchiffrement est alors évident compte tenu de ce qui précède.
a 9. La parallélisation
Dans ce paragraphe, nous allons voir deux types de parallélisation.
* 9.1. Parallélisation brute Ici, les opérations sont supposées câblées dans du hardware. Nous avons alors plusieurs briques de hardware pour réaliser les opérations. Le but est de diminuer au maximum le nombre de multiplications série que l'on va avoir à faire. Les opérations de base qui sont câblées sont la multiplication, I'addition, la soustraction et l'addition dans l'anneau A_ 81O Elle sont représentées schématiquement sur les figures I à 4. On peut alors définir la multiplication parallèle de 2 matrices. Prenons l'exemple en dimension 3. Si P=(Pij,) et si M=(Mij) alors on a PM = (aj) o u = 3=l MIkj Pi,.k. On remarquera que cette formule est valable que l'anneau soit commutatif ou non. La formule de multiplication des matrices sera indiquée selon le schéma figure 5 et le détail effectué est selon la figure 6. Sur cette A. dernière figure on peut constater que la multiplication de 2 matrices entre elles peut se faire en le temps d'une multiplication série, puisque pour i et j fixés on peut effectuer les 3 multiplications en parallèle. Conformément à la coutume, on néglige le temps de calcul des additions et soustractions. On pourrait continuer ainsi et détailler chaque opération nécessaire à l'exécution de chaque procédé décrit ci-dessus. La chose étant évidente, nous n'irons pas t O plus loin, mais il est aisé de concevoir un circuit électronique spécifique à chaque procédé qui effectue en parallèle le maximum possible d'opérations de façon à diminuer au maximum le temps de calcul vu par l'utilisateur. Ainsi, dans un anneau commutatif, le temps nécessaire, avec un tel circuit, pour calculer Cl est le temps de 5 multiplications séries. Pour cette évaluation, nous avons considéré que le temps d'une division est équivalent à celui d'une 2 5 multiplication, ce qui est courant mais peut être optimiste. A l'inverse, dans un anneau de fraction, le temps d'une division est négligeable. En ce qui concerne Dl, 7 multiplications
série sont nécessaires.
Dans les anneaux de fractions non commutatifs, ces temps peuvent varier quelque peu selon l'algorithme d'inversion choisi pour une inversion de matrice. Cependant, comme le
o O temps d'une division est négligeable, on arrive la encore, à d'excellentes performances.
* 9.2. Parallélisaton par microprocesseurs
La parallélisation précédente a l'avantage de procurer les meilleurs débits possibles.
Elle a cependant l'inconvénient de ne pas utiliser toute la puissance des procédés présentés ici.
2811172
En effet, dans le paragraphe 9.1., une fois l'anneau choisi, on ne peut plus en changer.
Comme nous l'avons dit plus haut, en introduction, pour le RSA par exemple, le jour ou le problème de la factorisation est résolu, si c'est possible, tous les circuits intégrés qui effectuent cet algorithme sont bons à jeter à la poubelle. Pire, si l'on doute (c.f ce qui a été dit sur la NSA) on est prisonnier du système et il n'y a guère d'alternative. Nous proposons
donc ici une parallélisation d'un type nouveau.
Le lecteur est invité à reprendre les figure 1 à 4 précédentes, et à considérer que chaque "boîlte" est un microprocesseur pour lequel on peut programmer une opération dans l'anneau de son choix, et cela dans un langage évolué du type Mathematica. On peut alors créer des macro microprocesseurs comme celui de la figure 5 en parallélisant l'utilisation des premiers dans une structure du type de celui de la figure 6. C'est uniquement le compilateur qui insérera dans chaque partie adéquate le "morceau" d'algorithme convenable. En continuant ainsi, toujours avec le souci de la parallélisation, les procédés de chiffrement et
déchiffrement se construisent comme des sortes de superprocesseurs.
L'avantage de cette technique réside dans le fait que si on a un doute sur un anneau, on peut en changer immédiatement. Le problème est alors basé sur le cas très général de la recherche des valeurs propres d'un endomorphisme sur un module sur un anneau quelconque, voire, comme nous l'avons dit pour les octonions, sur une algèbre quelconque qui peut ne pas être associative. Ce problème, qui englobe celui de la factorisation, est très large et bien plus
complexe que cette dernière.
* 10. Une nouvelle fonction à sens unique Les fonctions à sens unique sont d'une importance capitale en tant que primitives cryptographiques. Dans ce cadre, il est toujours interessant d'en avoir de nouvelles à disposition, puisque certains protocoles formels existent et sont bâtis sur la conjecture selon
laquelle de telles fonctions existent.
Nous reprenons donc le procédé C1 mais dans un anneau de fractions non conmmnutatif o tous les éléments de g sont tirés au hasard et les valeurs propres choisies avec la distribution uniforme sur tout l'anneau et sont distinctes. Un tel procédé, Cil, est alors une fonction à sens unique qui à x associe une image. La difficulté de retrouver x réside dans le fait que dans un tel anneau, en général, la recherche d'un vecteur propre est très difficile (e.g.
l'ensemble des vecteurs propres peut ne pas être un sous-module du module E).
Bien entendu, cette fonction à sens unique peut se généraliser à n'importe quelle dimension

Claims (6)

Revendications
1. Procédé de cryptographie à clé publique de données enregistrées sous forme de bits sur un support exploitable par une ou plusieurs unités de calcul aptes à traiter des données d'entrée x pour fournir des données de sortie x', comportant au moins une étape de traitement de données, caractérisé par le fait que la ou les unités de calcul manipulent des matrices carrées à coefficients dans un anneau ou une algèbre, commutatifs ou non, associatifs ou non, les données d'entrée étant considérées commrnres des vecteurs appartenant à des modules sur ces anneaux ou algèbres, la manipulation binaire amenant en sortie éventuellement une matrice carrée ou un vecteur ou un scalaire ou deux options parmni les trois ou les trois à la
fois, les coefficients restant toujours sur les mêmes anneaux ou algèbres.
2. Procédé cryptographique selon la revendication I caractérisé en ce que la matrice F constituant la clé publique est carrée et diagonalisable, en ce que la fabrication de la clé publique se fait en tirant une matrice à coéfficients dans l'algèbre sur laquelle on travaille,
avec la distribution uniforme, et en ce que cette matrice doit être inversible.
3. Procédé cryptographique selon les revendications I et 2 caractérisé en ce que dans
un mode de réalisation, le chiffrement du vecteur qui représente le message en clair constitue en la complétion de distribution uniforme (sur un sous-ensemble du module) de ce vecteur en base dans le module de travail, cette complétion étant "archivée" dans l'unité de calcul sous la forme d'une matrice carrée, chaque colonne de cette matrice étant constituée d'un des vecteurs de la base, le premier étant le message en clair, la continuation du chiffrement se faisant en changeant la matrice constituant la clé publique via un changement de base lié à la matrice de complétion ci-dessus évoquée, le résultat étant accompagné du vecteur "message en clair" multiplié, éventuellement, par le résultat de l'application d'une fonction à sens unique sur les coordonnées des vecteurs complétant la base, additionné de ces vecteurs de complétion.
4. Procédé cryptographique selon l'une quelconque des revendications précédentes,
permettant la preuve d'identité zero-knowledge, caractérisé en ce que lors de l'utilisation d'un anneau ou d'une algèbre de fractions non commutative, dans le mode de réalisation de la revendication 3, le prouveur fournit au vérifieur le résultat de son déchiffrement comme preuve de connaissance, à savoir un vecteur égal au message en clair qui aura au préalable été tiré au hasard avec la distribution uniforme, l'égalité étant établie dans l'anneau ou l'algèbre de fractions non commutative concernée, mais en fait potentiellement un vecteur numériquement différent mais équivalent au message en clair, équivalence au sens de celle définie par la
condition de Ore.
5. Procédé cryptographique selon les revendication 1, 2 et 3, permettant la signature électronique, caractérisé en ce qu'une fois la matrice f--gFg ayant été envoyée au "fabricant" de la clé publique F, ce dernier calcule le changement de base effectué sur F, décompose le message à signer sur la base du module ainsi obtenue et envoie une combinaison linaire de cette décomposition accompagnée de l'image par une fonction à sens i e2 2811172
unique de l'un des coefficients de la combinaison linéaire.
6. procédé cryptographique selon l'une quelconque des revendications précédentes,
caractérisé en ce qu'un mode de réalisation met en oeuvre une parallélisation des calculs dans un circuit spécifique, ce circuit étant programmable ou non et donc, selon le cas, permettant
le choix ou non, respectivement, de la structure d'anneau ou d'algèbre, retenue pour travailler.
X
FR0008307A 2000-06-28 2000-06-28 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque Expired - Fee Related FR2811172B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR0008307A FR2811172B1 (fr) 2000-06-28 2000-06-28 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque
FR0100781A FR2811173B3 (fr) 2000-06-28 2001-01-22 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque
AU70670/01A AU7067001A (en) 2000-06-28 2001-06-27 Public key cryptographic methods based on the difficulty of finding natural values of an endomorphism of a module on any ring or algebra
PCT/FR2001/002029 WO2002001792A1 (fr) 2000-06-28 2001-06-27 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0008307A FR2811172B1 (fr) 2000-06-28 2000-06-28 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque

Publications (2)

Publication Number Publication Date
FR2811172A1 true FR2811172A1 (fr) 2002-01-04
FR2811172B1 FR2811172B1 (fr) 2003-01-03

Family

ID=8851791

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0008307A Expired - Fee Related FR2811172B1 (fr) 2000-06-28 2000-06-28 Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque

Country Status (1)

Country Link
FR (1) FR2811172B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849973A1 (fr) * 2003-01-10 2004-07-16 Jean Francois Geneste Procede permettant de faire des transactions securisees a l'aide d'un dispositif a memoire passive seulement

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VAN TILBURG J: "ON THE MCELIECE PUBLIC-KEY CRYPTOSYSTEM", SANTA BARBARA, AUG. 21 - 25, 1988,BERLIN, SPRINGER,DE, 1988, pages 119 - 131, XP000090653 *
WU C -K ET AL: "GENERALISED INVERSES IN PUBLIC KEY CRYPTOSYSTEM DESIGN", IEE PROCEEDINGS: COMPUTERS AND DIGITAL TECHNIQUES,IEE,GB, vol. 145, no. 5, September 1998 (1998-09-01), pages 321 - 326, XP000851729, ISSN: 1350-2387 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849973A1 (fr) * 2003-01-10 2004-07-16 Jean Francois Geneste Procede permettant de faire des transactions securisees a l'aide d'un dispositif a memoire passive seulement

Also Published As

Publication number Publication date
FR2811172B1 (fr) 2003-01-03

Similar Documents

Publication Publication Date Title
WO2013088066A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
CA2712180A1 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
EP2707989A1 (fr) Dispositif et procede de generation de cles a securite renforcee pour algorithme de chiffrement pleinement homomorphique
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
CN107463849B (zh) 基于单服务器的隐私信息恢复方法
CA2360953C (fr) Procede d'authentification ou de signature a nombre de calculs reduit
Kaleel Rahuman et al. Reconfigurable architecture for elliptic curve cryptography using fpga
FR2773027A1 (fr) Procede de signature numerique
FR2811172A1 (fr) Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque
EP1829279A2 (fr) Procede et dispositif d'execution d'un calcul cryptographique
FR2811173A1 (fr) Procedes cryptographiques a cle publique bases sur la difficulte de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algebre quelconque
Guillevic Arithmetic of pairings on algebraic curves for cryptography
FR2818765A1 (fr) Multiplicateur modulaire et processeur de cryptage/decryptage utilisant le multiplicateur modulaire
FR2831738A1 (fr) Procede cryptographique a cle publique base sur les groupes de tresses
CA2288767A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas
Magsino et al. Enhancing security of El Gamal encryption scheme using RSA and chaos algorithm for E-commerce application
FR3105684A1 (fr) Procede de traitement cryptographique, dispositif electronique et programme d'ordinateur associes
JP5964759B2 (ja) 計算システム
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR2865086A1 (fr) Dispositif et procede pour convertir un premier message en un deuxieme message
WO2023244903A1 (fr) Procédés et systèmes d'échange et de chiffrement de clé
FR3038473A1 (fr) Procede de traitement cryptographique de donnees et programme d'ordinateur associe
de Dormale Destructive and constructive aspects of efficient algorithms and implementation of cryptographic hardware.
de Meulenaer " Understanding power in cryptography

Legal Events

Date Code Title Description
ST Notification of lapse