WO2002001792A1 - Public key cryptographic methods based on the difficulty of finding natural values of an endomorphism of a module on any ring or algebra - Google Patents

Public key cryptographic methods based on the difficulty of finding natural values of an endomorphism of a module on any ring or algebra Download PDF

Info

Publication number
WO2002001792A1
WO2002001792A1 PCT/FR2001/002029 FR0102029W WO0201792A1 WO 2002001792 A1 WO2002001792 A1 WO 2002001792A1 FR 0102029 W FR0102029 W FR 0102029W WO 0201792 A1 WO0201792 A1 WO 0201792A1
Authority
WO
WIPO (PCT)
Prior art keywords
ring
matrix
public key
message
vector
Prior art date
Application number
PCT/FR2001/002029
Other languages
French (fr)
Inventor
Jean-François GENESTE
Original Assignee
Geneste Jean Francois
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 claimed from FR0008307A external-priority patent/FR2811172B1/en
Application filed by Geneste Jean Francois filed Critical Geneste Jean Francois
Priority to AU70670/01A priority Critical patent/AU7067001A/en
Publication of WO2002001792A1 publication Critical patent/WO2002001792A1/en

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

Definitions

  • the present invention relates to a public key cryptography method, applicable to data recorded in the form of bits on a medium usable by a calculation entity, which method, depending on how it is used can provide an encryption method, a method proof of identity zero-knowledge within the meaning of Fiat-Shamir, an electronic signature signing process or a process performing a so-called one-way function.
  • the calculations explained here are supposed to be made on data recorded in the form of bits, and executed by calculation entities of the "computer" type or, as the case may be, specific electronic circuits.
  • the encryption will consist of processing the input data x to provide an output x ', the calculation unit performing a certain number of data processing steps, this processing using a number of functions, in particular matrix. For zero-knowledge identity proofs or electronic signatures, the same process will be used, but it will involve interactions between 2 computation entities which will process data also recorded in binary form.
  • (y, z) is a one-way function from a subset of the bits of the last 2 coordinates of y and z in A, or, as the case may be, ⁇ ⁇ ) will be a one-way function from A to A.
  • the function (y, z) could be the square elevation in A of the second coordinate of y.
  • E is a A-module of dimension 3, and it is assumed that the messages to be sent are x ⁇ for the first up to x m for the last.
  • Alice randomly draws 3 values distinct non-zero in A. Let ⁇ j, ⁇ 2 and ⁇ 3 be these values. Alice then forms the matrix
  • g.-Î be the matrix formed of the coordinates of these vectors in column. It is obviously reversible.
  • the difficulty of breaking the previous system comes from the difficulty of finding the eigenvalues of a matrix with coefficients in any ring.
  • n ⁇ q is the product of 2 large prime numbers as in the RSA
  • the previous algorithm is as hard to break as it is difficult to factorize the number n .
  • an interesting function for ⁇ is the elevation squared of the 2 coordinate lè of y modulo n.
  • R a non-commutative ring.
  • the ring R admits a ring of fractions, i.e. elements of the type a / b where ae R and be S where S is a part of R on which we can construct a equivalence relation.
  • the inverse of a / b is written b / a.
  • the construction of such a fraction ring is unique once we have chosen S. This construction will therefore not be described here.
  • the protocol proceeds as follows: Bob encrypts a message drawn at random in the module on the ring A of the fractions of R with C ⁇ and sends it to Alice. On reception, Alice checks that it is of the form (f, v) where f is a 3x3 matrix with coefficients in A and v is a vector of dimension 3 on A. If this is not the case, then Alice stops the protocol. Otherwise Alice decrypts with D ⁇ . It is easy to show that the message obtained is x 1 if Bob's message is x and that each coordinate of x 'is in the same equivalence class as that corresponding to x. The two vectors are therefore equivalent and, from a theoretical point of view, the message has been deciphered.
  • Ci In the Ci method, instead of sending to Alice (f, ⁇ (, z) x + y + z), Bob sends directly (f, x + y + z). It is shown that no security is provided by such a method if it is on a commutative ring. On the other hand, as soon as the ring is non-commutative, security is ensured (via a conjecture which is outside the scope of this text). Thus the encryption and decryption are simplified all the more for a non-commutative ring. Likewise, this variant can be extended to the zero-knowledge proof of paragraph 4 and to the signature of paragraph 5.
  • Bob On reception, Bob, who knows the basis of eigenvectors (x, y ⁇ finds a and ⁇ and calculates ⁇ ( ⁇ ) to see the correspondence with the second element of the couple Alice sent her. If that is the case, Bob accepts, otherwise Bob refuses.
  • Variants 3 and 4 of course give rise to interactive signature systems of the Guillou-Quisquater type.
  • Alice calculates the eigenvalues of f ⁇ (only for the first message, which by the way can be public to make things even easier), and searches for a proper base of fi. It then breaks down ⁇ iy t , Zi) x t + ⁇ + z ⁇ on this basis, obtains y t and z ; therefore ⁇ (x t , yi) and consequently x, -.
  • n is the dimension of E
  • F ( 1 j or R is a non-diagonal matrix as in paragraph 2 but of size (nl) ⁇ (nl) and which has eigenvalues ⁇ , ..., ⁇ resort.
  • the deciphering is then obvious taking into account what precedes.
  • the operations are assumed to be wired into hardware. We then have several hardware bricks to carry out the operations. The goal is to minimize the number of series multiplications that we will have to do.
  • the basic operations which are wired are multiplication, addition, subtraction and addition in ring A. They are represented schematically in Figures 1 to 4.
  • We can then define the parallel multiplication of 2 matrices. Take the example in dimension 3. If P ( / ) and if is valid whether the ring is commutative or not.
  • the multiplication formula of the matrices will be indicated according to the diagram in figure 5 and the detail carried out is according to figure 6.
  • each "box” is a microprocessor for which one can program an operation in the ring of his choice, and that in an advanced language of the Mathematica type.

Landscapes

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

Abstract

The invention concerns a public key cryptographic method applicable to data recorded in the form of bits on a medium operable by one or more calculating entities adapted to processing input data x to supply output data x', comprising at least a data processing step, enabling, in accordance with the form of embodiment, to supply an encryption procedure, a Fiat-Shamir zero-knowledge identity proof procedure, an electronic signature procedure or a procedure performing a one-way function, while using square matrices. If a message to be encrypted is a vector x of a module with dimension 3, E, x is completed to form the base {x, y, z}, the resulting matrix g<-1> is then taken into consideration, and if F is a matrix 3x3 capable of diagonalization which constitutes the public key, the encrypted message is (g<-1>Fg, xi (y,z)<i>xi</i> + y + z). The zero-knowledge proof can be produced by using said method but in returning to the strike holder the decrypted message and by operating on a fraction ring of a non-commutative ring. The signature procedure is derived directly from Guillou and Quisquater application to transform a zero-knowledge proof into a signature schema.

Description

Procédés cryptographiques à clé publique basés sur la difficulté de trouver les valeurs propres d'un endomorphisme d'un module sur un anneau ou une algèbre quelconquePublic key cryptographic procedures based on the difficulty of finding the eigenvalues of an endomorphism of a module on an arbitrary ring or algebra
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.The present invention relates to a public key cryptography method, applicable to data recorded in the form of bits on a medium usable by a calculation entity, which method, depending on how it is used can provide an encryption method, a method proof of identity zero-knowledge within the meaning of Fiat-Shamir, an electronic signature signing process or a process performing a so-called one-way function.
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 système 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 hyper-elliptiques. 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 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çon à, le cas échéant, continuer à écouter, sans être soupçonné, le monde entier ?Since the mid-1970s, numerous public key cryptography systems have appeared, notably the RSA of Rivest Shamir and Adelman as well as the so-called Diffie-Hellmann public key exchange system. Other systems were proposed, the vast majority based on the problem of factorization. Few are based on other problems, but I will cite here those based on elliptical or hyper-elliptic curves. However, in all cases, the systems suggested have little to do with factorization and their robustness seems to depend more on the fact that we know little or nothing about the domain concerned (eg elliptical curves) than on the fact that the problem is really difficult to solve. We are thus in the presence of a worrying phenomenon. Either we use a public key cryptographic system based on factorization, or we use one based on a little known problem but can be not very difficult. So why not use those based on factorization? In fact, would someone who has found a deterministic polynomial time algorithm to factorize large numbers have an interest in publishing their discovery? A country like the USA which seeks to listen to all the communications of the earth via the NSA (National Security Agency) would not it be interesting to let believe that the problem of factorization is difficult so as, if necessary, to continue to listen, without being suspected, to the whole world?
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. 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 à 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é de ce type à l'heure actuelle.In what follows, I will present a cryptographic process with public key which is, in general, much more complicated to "break" than to solve the problem of factorization. However, in certain identified cases, the problem in question will be equivalent to factorization. The user will only have to choose what he wants. I will then show that depending on how we use it we can obtain a zero-knowledge interactive proof process at indistinguishable result, an electronic signature process and a one-way function construction process. Finally, the processes presented here being parallelizable, I will show how to realize parallel integrated circuits which realize them and make it possible to do public key encryption in real time, which no other process of this type can do at the moment. current.
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', l'unité de calcul effectuant un certain nombre d'étapes de traitement 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.The calculations explained here are supposed to be made on data recorded in the form of bits, and executed by calculation entities of the "computer" type or, as the case may be, specific electronic circuits. The encryption will consist of processing the input data x to provide an output x ', the calculation unit performing a certain number of data processing steps, this processing using a number of functions, in particular matrix. For zero-knowledge identity proofs or electronic signatures, the same process will be used, but it will involve interactions between 2 computation entities which will process data also recorded in binary form.
m 1. Notations - Rappelsm 1. Ratings - Reminders
Soit A un anneau quelconque et E un A-module de type fini. Soit f un endomorphisme de E. On dira qu'un vecteur x e E* est un vecteur propre de f si 3λeA / f x)=λx. Pour plus de simplicité on ne considérera ici que les modules à gauche, mais les résultats décrits sont les mêmes et sont aussi valables pour les modules à droite. De même, λ est une valeur propre de l'endomorphisme f si 3x e E*l f(x)=Ax. Dans le cas où A est un anneau commutatif, une façon de calculer les valeurs propres de f est de résoudre son polynôme caractéristique.Let A be an arbitrary ring and E an A-module of finite type. Let f be an endomorphism of E. We will say that a vector x e E * is an eigenvector of f if 3λeA / f x) = λx. For simplicity, we will only consider here the modules on the left, but the results described are the same and are also valid for the modules on the right. Similarly, λ is an eigenvalue of the endomorphism f if 3x e E * l f (x) = Ax. In the case where A is a commutative ring, one way to calculate the eigenvalues of f is to solve its characteristic polynomial.
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 bien, selon le cas, ξ{ά) sera une fonction à sens unique de A dans A. Par exemple, dans certains cas, la fonction (y,z) pourra être l'élévation au carré dans A de la deuxième coordonnée de y.When a draw is made at random it will mean that it is made with the uniform distribution on the considered set. The eigenvalues will, in general, be drawn in the center of the ring. If y and z are two vectors of E, then (y, z) is a one-way function from a subset of the bits of the last 2 coordinates of y and z in A, or, as the case may be, ξ {ά ) will be a one-way function from A to A. For example, in some cases, the function (y, z) could be the square elevation in A of the second coordinate of 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 compréhension.In the following, when we say "Bob" or "Alice", we will hear the machine of Bob or Alice. This personalization of the computation entities seems to us to allow a better understanding.
m 2. Description en dimension 3m 2. Description in 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 x\ pour le premier jusqu'à xm pour le dernier. Pour fabriquer sa clé publique Alice tire au hasard 3 valeurs distinctes non nulles dans A. Soient λj, λ2 et λ3 ces valeurs. Alice forme alors la matriceWe place ourselves in a context where Bob wants to send a message to Alice. E is a A-module of dimension 3, and it is assumed that the messages to be sent are x \ for the first up to x m for the last. To make her public key Alice randomly draws 3 values distinct non-zero in A. Let λj, λ 2 and λ 3 be these values. Alice then forms the matrix
F0 qui
Figure imgf000004_0001
soit inversible. Elle forme alors la matrice F=A l FQ h qui est la clé publique. Dans la suite cette matrice sera écrite
F 0 which
Figure imgf000004_0001
is invertible. It then forms the matrix F = A l FQ h which is the public key. In the following this matrix will be written
F= Cette clé publique est enregistrée dans un annuaire électronique
Figure imgf000004_0002
"hardware" consultable et "importable" depuis l'extérieur par une connexion, par exemple, du type Internet.
F = This public key is stored in an electronic directory
Figure imgf000004_0002
"hardware" searchable and "importable" from the outside via a connection, for example, of the Internet type.
Algorithme de chiffrement du iè & message XiEncryption algorithm of i è & message Xi
Etant donné xt Bob tire au hasard 2 vecteurs yt et ∑t tels que {#,-, y z,} forme une base de E.Given x t Bob randomly draws 2 vectors y t and ∑ t such that {#, -, yz,} forms a base of E.
Soit alors g .-î la matrice
Figure imgf000004_0003
formée des coordonnées de ces vecteurs en colonne. Elle est évidemment inversible. Bob calcule alors / = g--1 Fg et ξiy zt)Xi + yt +^<- Bob envoie alors à Alice le couple (f, ξ( ι, zι)xι + yι +zt).
Let g.-Î be the matrix
Figure imgf000004_0003
formed of the coordinates of these vectors in column. It is obviously reversible. Bob then calculates / = g- -1 Fg and ξiy z t ) Xi + y t + ^ < - Bob then sends Alice the couple (f, ξ (ι, zι) xι + yι + z t ).
Algorithme de déchiffrement du ι— messageΙ— message decryption algorithm
Comme Alice connaît les valeurs propres de f, Alice cherche 3 vecteurs propres de f associés à chacune des valeurs λj. Si on considère leAs Alice knows the eigenvalues of f, Alice searches for 3 eigenvectors of f associated with each of the values λj. If we consider the
exemple, alors ce dernier est proportionnel
Figure imgf000004_0004
example then the latter is proportional
Figure imgf000004_0004
Figure imgf000004_0005
Figure imgf000004_0005
De même si v, = est le vecteur propre associé à λ3, on a alors v,- qui est proportionnel
Figure imgf000004_0006
a On obtient alors le système suivant :
Figure imgf000005_0001
Similarly if v, = is the eigenvector associated with λ 3 , we then have v, - which is proportional
Figure imgf000004_0006
a We then obtain the following system:
Figure imgf000005_0001
. On peut alors écrire ces équations sous la forme suivante.
Figure imgf000005_0002
. We can then write these equations in the following form.
Figure imgf000005_0002
(gi2, gι, = (k«ι, k'vj) a Q ) , (g22, g2,s) = (kw2, k'v2) ( JJ ) et (g32, g3,3)(gi2, gι, = (k "ι, k'vj) a Q ), (g22, g2, s) = (kw 2 , k'v 2 ) (JJ) and (g 32 , g3, 3 )
-1-1
(kw3, kV3) ( ^ ) - Rappelons que y =
Figure imgf000005_0005
(kw 3 , kV 3 ) (^) - Recall that y =
Figure imgf000005_0005
\ ω φ I \ ψ '\ ω φ I \ ψ '
nos équations peuvent alors être écrites sous la forme
Figure imgf000005_0003
. Ce qui
our equations can then be written in the form
Figure imgf000005_0003
. What
Zi = ψ-' U + φ 1 k ' i prouve que y, et zt sont dans le plan engendré par les valeurs propres λ2 et λ3 . Le texte chiffré est composé de la matrice f et d'un vecteur aléatoire U= ^, z )xt + yt +zt . Ecrivons alors que
Figure imgf000005_0004
est colinéaire à n'importe quel vecteur propre non nul associé à λi . Appelons ce dernier vecteur μ. On
Zi = ψ- 'U + φ 1 k' i proves that y, and z t are in the plane generated by the eigenvalues λ 2 and λ 3 . The ciphertext is composed of the matrix f and a random vector U = ^, z) x t + y t + z t . Then write that
Figure imgf000005_0004
is collinear with any nonzero eigenvector associated with λi. Let us call this last vector μ. We
' Ui - (£> ' + ψ' ) kuϋ - (ω ' + φ ' ) ' vu = Wi obtient alors TJ2 - (ρ' + Ψ' ) kui2 - (ω' + <p ' ) k' 2 = ημ2 où les inconnues sont'Ui - (£>' + ψ ') kuϋ - (ω' + φ ')' vu = Wi then obtains TJ2 - (ρ '+ Ψ') kui2 - (ω '+ <p') k ' 2 = ημ 2 where the unknowns are
, ϋ3 - (e' + Ψ' ) kui3 - (ω » + (p ' ) kτ vi3 = ημ3 k, k' et η. Ce système se résoud aisément et a une solution unique qui va donner k et k' et donc va permettre de retrouver cr. Le reste du déchiffrement est alors trivial., ϋ 3 - (e '+ Ψ') ku i3 - (ω » + (p ') k τ v i3 = ημ 3 k, k' and η. This system is easily solved and has a unique solution which will give k and k 'and therefore will allow to find cr. The rest of the decryption is then trivial.
m 3. Difficulté de casser le systèmem 3. Difficulty breaking the system
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=ρq est le produit de 2 grands nombres premiers comme 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 ξ est l'élévation au carré de la 2lèmβ coordonnée de y modulo n.The difficulty of breaking the previous system comes from the difficulty of finding the eigenvalues of a matrix with coefficients in any ring. We can in particular demonstrate that when the ring is Z / nZ where n = ρq is the product of 2 large prime numbers as in the RSA, the previous algorithm is as hard to break as it is difficult to factorize the number n . In this particular case, an interesting function for ξ is the elevation squared of the 2 coordinate of y modulo n.
m 4. Preuve zero-knowledgem 4. Zero-knowledge proof
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 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 d'équivalence et non sur des objets numériques directement. Appelons alors Ci le procédé de chiffrement du paragraphe 2 et >ι le procédé de déchiffrement du paragraphe 2. Dans le scénario 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 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 C\ 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 D\ . On montre facilement que le message obtenu est x1 si le message de Bob est x et que chaque coordonnée de x' est dans la même 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 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 d'identifier Alice, sinon Bob accepte.Consider R a non-commutative ring. Suppose that R satisfies the so-called Ore condition on the right. That is, V a, be R, 3 a ', b' e R / aa '= bb'. We then demonstrate that under this condition, the ring R admits a ring of fractions, i.e. elements of the type a / b where ae R and be S where S is a part of R on which we can construct a equivalence relation. In this framework, as long as ae S, the inverse of a / b is written b / a. The construction of such a fraction ring is unique once we have chosen S. This construction will therefore not be described here. On the other hand, the same construction exists for a condition called Ore on the left with the same result, but another ring structure. The result presented here is therefore valid for both cases. What is important is that we work on equivalence classes and not on digital objects directly. Then call Ci the encryption method in paragraph 2 and> ι the decryption method in paragraph 2. In the present scenario, Alice wants to prove her identity to Bob. As in conventional zero-knowledge protocols, it will show that it knows information known only to itself, without giving more information than the fact that it knows this information. Clearly, Alice will show that she knows the eigenvalues of F. The protocol proceeds as follows: Bob encrypts a message drawn at random in the module on the ring A of the fractions of R with C \ and sends it to Alice. On reception, Alice checks that it is of the form (f, v) where f is a 3x3 matrix with coefficients in A and v is a vector of dimension 3 on A. If this is not the case, then Alice stops the protocol. Otherwise Alice decrypts with D \ . It is easy to show that the message obtained is x 1 if Bob's message is x and that each coordinate of x 'is in the same equivalence class as that corresponding to x. The two vectors are therefore equivalent and, from a theoretical point of view, the message has been deciphered. Nevertheless, from a practical point of view, we have, numerically, 2 potentially different equivalent vectors. There is no theoretical or practical reason to favor one form over another. On the other hand, only the holder of the eigenvalues can find an equivalent of x. On reception of x 'Bob checks the equivalence of the 2 vectors. If not, Bob refuses to identify Alice, otherwise Bob accepts.
On démontre qu'un tel protocole est un protocole de preuve interactive Zero-knowledge au sens de Fiat-Shamir à résultat inconditionnelement indistingable.We show that such a protocol is a Zero-knowledge interactive proof protocol in the sense of Fiat-Shamir with an unconditionally indistinguishable result.
m 5. Signaturem 5. Signature
Nous allons nous inspirer ici d'une technique due à Jean- Jacques 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é i, 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 ûjn) et le décompose sur la base {x, y, z}. Elle a ainsi f(m)=*ι + 1 + 13. Alice tire alors au hasard 3 valeurs a, β et y et envoie à Bob le couple ( t\ + βt2 + 7 ξ(a)). Bob décompose f(m) sur la base (x, y, z}, obtient les tt , décompose t\ + βtχ + τ 3sur la base des th ce qui lui donne , β 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.We will be inspired here by a technique due to Jean-Jacques Quisquater and Louis Guillou which allows, from an interactive zero-knowledge proof system, to deduce an interactive signature system. As in paragraph 2, Alice builds her public matrix F. We assume here that the message to sign is me E. As in process i, Bob randomly draws 3 vectors such that {x, y, z} forms a base of E and we call g ~ l the matrix formed of these vectors in column, as well as f = g _1 Fg. f is sent to Alice. On reception, Alice calculates as in paragraph 2, x, y and z as well as ûjn) and breaks it down on the basis {x, y, z}. It thus has f (m) = * ι + 1 + 1 3 . Alice then randomly draws 3 values a, β and y and sends Bob the couple (t \ + βt 2 + 7 ξ (a)). Bob breaks down f (m) on the basis (x, y, z}, obtains the t t , breaks down t \ + βtχ + τ 3 on the basis of the t h which gives him, β and y and calculates ξ (ά) to check that the second part of the couple matches well. Note that this algorithm works regardless of the ring considered, commutative or not, ring of fractions or not.
m 6. Le choix de l'anneaum 6. The choice of the ring
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 D\ 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=On 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-1 R. Les algorithmes précédents marchent dans un tel anneau.In the previous sections we have described processes that work in almost all types of rings. However, here we can give some sound advice and provide clarification. First of all, the processes Ci and D \ work in any ring. When the ring is commutative, it is necessary to check that the problem of finding the eigenvalues is a difficult problem. A priori, but not exhaustive, a local ring can work. One way to construct such a ring is to choose in a ring R a prime ideal P. Let S = R - P. Then A = S "1 R is a local ring. For zero-knowledge proofs and signatures, the quotient ring of a non-commutative ring can be chosen. Again, even if the construction is a little different, we can choose a local ring. Finally, we don't have to be actually in a ring. indeed, the associativity of multiplication is not a necessary condition, so a suitable ring could be the following: Let R = O n be the set of modulo n octonions where n = pq is the product of 2 prime numbers. S the set of elements of R of which none of the components is divisible by p. Let us then consider the non-associative ring of the fractions A = S -1 R. The previous algorithms work in such a ring.
Tout cela n'est donné qu'à titre d'exemple, les procédés décrits marchant dans quasiment toutes les structures à 2 opérations.All this is given only by way of example, the processes described working in almost all structures with 2 operations.
7. Description en dimension 47. Description in dimension 4
Les procédés de la dimension 3 peuvent être adaptés à la dimension 4. NousThe processes of dimension 3 can be adapted to dimension 4. We
reprenons les mêmes notations que précédemment. Soit FQ
Figure imgf000007_0001
d'Alice où les λj sont choisies au hasard non nulles et toutes distinctes. Alice tire alors au hasard une
let's use the same notations as before. Let FQ
Figure imgf000007_0001
of Alice where the λj are chosen at random non-zero and all distinct. Alice then randomly draws a
matrice h l ≈ et publie la matrice F = h~l F0 h. Un message est toujours un
Figure imgf000007_0002
vecteur u e E, E qui est cette fois-ci de
matrix h l ≈ and publishes the matrix F = h ~ l F 0 h. A message is always a
Figure imgf000007_0002
vector ue E, E which is this time of
dimension 4 sur A. Chiffrement d'un messagedimension 4 on A. Message encryption
Bob veut envoyer u. Il tire alors au hasard x et pose y - u - x. Il complète en choisissant au hasard z et t tels que {x, y, z, t} forme une base de E. Appelons g~l = (gjj ) la matrice formée des colonnes de ces vecteurs. Bob envoie alors à Alice f=g_1 Fg suivie d'un vecteur du type (z,t)(x + y) + z + t ou ι(z, t)x + ξ2 z, t)y + z + t.Bob wants to send u. He then randomly draws x and poses y - u - x. It completes by randomly choosing z and t such that {x, y, z, t} forms a base of E. Let us call g ~ l = (gj j ) the matrix formed from the columns of these vectors. Bob then sends Alice f = g _1 Fg followed by a vector of the type (z, t) (x + y) + z + t or ι (z, t) x + ξ 2 z, t) y + z + t.
Déchiffrement du messageMessage decryption
On raisonne comme au paragraphe 2 pour retrouver les vecteurs z et t en écrivant que le vecteur propre associé à λ3 est proportionnelWe reason as in paragraph 2 to find the vectors z and t by writing that the eigenvector associated with λ 3 is proportional
ag~ En résolvant les
Figure imgf000008_0001
systèmes d'équations on obtient z et t et donc ξ(z, t) ou les ξι(z, t) et donc u de manière évidente.
ag ~ By solving the
Figure imgf000008_0001
systems of equations we obtain z and t and therefore ξ (z, t) or the ξι (z, t) and therefore u in an obvious way.
Propriété particulièreSpecial property
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.From dimension 4 we can demonstrate that the system resists an adaptive attack with a chosen number, whereas in the case of dimension 3 the attack does not have to be adaptive.
Généralisationsgeneralizations
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'impossibilité de la résolution par radicaux du polynôme caractéristique.Such a scheme or that in dimension 3 can be easily generalized to dimensions greater than 4. This being immediate, we will not go further in the description of such systems. However, we will cite for the record the case of dimensions greater than or equal to 5 for which, in addition to the traditional difficulty of finding eigenvalues is added, in the case of a commutative ring in particular, the impossibility of the resolution by radicals of the characteristic polynomial.
m 8. Variantesm 8. Variants
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.We present here, in a non-exhaustive manner, some variants of the preceding methods so as to prove the power of the system. These variants are all in dimensions 3 or 4 but are generalized to other dimensions very easily. We will only give partial descriptions here, the rest being identical to the previous paragraphs. In addition, unless otherwise stated, we will mainly focus on the encryption aspects.
Variante numéro 1Variant number 1
Dans le procédé Ci, au lieu d'envoyer à Alice (f, ξ( , 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 déchiffrement sont simplifiés d'autant pour un anneau non commutatif. De même, cette variante peut être étendue à la preuve zero-knowledge du paragraphe 4 et à la signature du paragraphe 5.In the Ci method, instead of sending to Alice (f, ξ (, z) x + y + z), Bob sends directly (f, x + y + z). It is shown that no security is provided by such a method if it is on a commutative ring. On the other hand, as soon as the ring is non-commutative, security is ensured (via a conjecture which is outside the scope of this text). Thus the encryption and decryption are simplified all the more for a non-commutative ring. Likewise, this variant can be extended to the zero-knowledge proof of paragraph 4 and to the signature of paragraph 5.
Variante numéro 2Variant number 2
On se place ici en dimension 4 et strictement dans le cas d'un anneau non commutatif. Sous la condition que certains éléments de la matrice 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 4>ι = g^ ≈ g 3 = gι,4 = 1, alors il suffit à Bob d'envoyer la matrice f. En suivant le même type de raisonnement que pour D\ 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.We place ourselves here in dimension 4 and strictly in the case of a non-commutative ring. Under the condition that certain elements of the matrix g ~ l are known and for example equal to 1, we can then modify the encryption as follows. Suppose that the equivalent of a line of g is known, for example 4> ι = g ^ ≈ g 3 = gι, 4 = 1, then it is enough for Bob to send the matrix f. Following the same type of reasoning as for D \ Alice finds the vectors x, y, z and t and can therefore calculate x + y and z + t which then forms the message in clear.
Variante numéro 3Variant number 3
Nous allons donner ici un système de preuve interactive zero-knowledge en dimensionWe are going to give here a zero-knowledge interactive proof system in dimension
2 ; il nous faut pour cela une hypothèse supplémentaire, celle selon laquelle Alice sait trouver2; for this we need an additional hypothesis, that Alice can find
( λι 0 \ le valeurs propres d'une matrice 2 <2 en temps polynomial déterministe. Soit o = tirée au hasard par Bob. Ce dernier tire alors au hasard 2 vecteurs x et y formant une base de E et soit g-1 la matrice formée de ces vecteurs en colonne. Soit F=g_1 Fo g. Bob envoie alors à 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 β, puis envoie à Bob (αx+ y, ξ(μ)). A la réception, Bob, qui connaît la base de vecteurs propres (x, y} retrouve a et β et calcule ξ(ά) 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.(λι 0 \ the eigenvalues of a matrix 2 <2 in deterministic polynomial time. Let o = randomly drawn by Bob. The latter then randomly draws 2 vectors x and y forming a base of E and let g -1 be matrix formed of these vectors in column. Let F = g _1 Fo g. Bob then sends Alice the couple (F, x + y). Alice, who knows how to find the eigenvalues can then find x and y and she draws at random a and β, then sends to Bob (αx + y, ξ (μ)). On reception, Bob, who knows the basis of eigenvectors (x, y} finds a and β and calculates ξ (ά) to see the correspondence with the second element of the couple Alice sent her. If that is the case, Bob accepts, otherwise Bob refuses.
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 ξ{a) = a2 mod n.Such an algorithm is particularly well suited to the case where A≈Z / nZ and n = pq as in the RSA. Indeed, knowing the factorization of n, Alice can easily solve the characteristic polynomial using, among other things, the Chinese theorem of the remainders and in this case one can for example choose ξ {a) = a 2 mod n.
Variante numéro 4Variant number 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 Ci . Alice le déchiffre et obtient donc x, y et z. Elle renvoie donc à Bob (ax+βy+γz,ξ(a)) et Bob vérifie alors comme dans la variante numéro 3. Des schémas similaires marchent dans toutes les dimensions.We give here, in dimension 3, an interactive zero-knowledge proof version which works in a commutative ring. As in paragraph 2, Bob encrypts a random message, x, using Ci. Alice decrypts it and therefore obtains x, y and z. It therefore refers to Bob (ax + βy + γz, ξ (a)) and Bob then checks as in variant number 3. Similar diagrams work in all dimensions.
NotaNote
Les variantes 3 et 4 donnent bien sûr naissance aux systèmes de signature interactifs du type Guillou-Quisquater.Variants 3 and 4 of course give rise to interactive signature systems of the Guillou-Quisquater type.
Variante numéro 5Variant number 5
Voici un système de chiffrement basé 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 où seule Alice connaît la factorisation de n. Bob, lorsqu'il veut s'adresser à Alice, tire au hasard une matrice et la garde sans modification tant qu'il correspond avec Alice.
Figure imgf000010_0001
Le ième message est un vecteur Xj e E et Bob tire au hasard yι et Zj pour que les 3 vecteurs forment une base de E. Soit alors ] la matrice formée de ces vecteurs en colonne. Bob envoie à Alice (fi ≈ g l Fg;, ξ(yt, z;)x, + yi + zi). Pour déchiffrer, Alice calcule les valeurs propres de f\ (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 ξiyt, Zi)xt + ι + z{ sur cette base, obtient yt et z; donc ξ(xt, yi) et par voie de conséquence x,-.
Here is an encryption system based on the difficulty of finding the eigenvalues of an endomorphism when Alice knows information that allows her to calculate them. This is the typical case where we work in the set of integers modulo n and where only Alice knows the factorization of n. Bob, when he wants to speak to Alice, randomly draws a matrix and keeps it without modification as long as he corresponds with Alice.
Figure imgf000010_0001
The i th message is a vector Xj e E and Bob randomly draws yι and Zj so that the 3 vectors form a base of E. Let then be ] the matrix formed of these vectors in column. Bob sends to Alice (fi ≈ g l Fg ;, ξ (y t , z;) x, + yi + zi). To decipher, Alice calculates the eigenvalues of f \ (only for the first message, which by the way can be public to make things even easier), and searches for a proper base of fi. It then breaks down ξiy t , Zi) x t + ι + z { on this basis, obtains y t and z ; therefore ξ (x t , yi) and consequently x, -.
Variante numéro 6Variant number 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= ( 1 j ou R est une matrice non diagonale comme dans le paragraphe 2 mais de taille (n-l)χ(n-l) et qui a pour valeurs propres λ , ..., λ„. Le message est toujours un vecteur de E et Bob envoie à Alice le message chiffré (f=g_1 Fg, ξ( , z, t, ...)x+y+z+t+...). Le déchiffrement est alors évident compte tenu de ce qui précède.We present here a direct generalization of the algorithm presented in paragraph 2. If n is the dimension of E, we consider a matrix nxn, Alice's public key and of the form F = ( 1 j or R is a non-diagonal matrix as in paragraph 2 but of size (nl) χ (nl) and which has eigenvalues λ, ..., λ „. The message is always a vector of E and Bob sends Alice the encrypted message (f = g _1 Fg, ξ (, z, t, ...) x + y + z + t + ...). The deciphering is then obvious taking into account what precedes.
m 9. La parallélisationm 9. Parallelization
Dans ce paragraphe, nous allons voir deux types de parallélisation.In this paragraph, we will see two types of parallelization.
" 9.1. Parallélisation brute"9.1. Gross parallelization
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, l'addition, la soustraction et l'addition dans l'anneau A. Elle sont représentées schématiquement sur les figures 1 à 4. On peut alors définir la multiplication parallèle de 2 matrices. Prenons l'exemple en dimension 3. Si P=( / ) et si
Figure imgf000010_0002
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 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 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 Ci 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 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 D\, 7 multiplications série sont nécessaires.
Here, the operations are assumed to be wired into hardware. We then have several hardware bricks to carry out the operations. The goal is to minimize the number of series multiplications that we will have to do. The basic operations which are wired are multiplication, addition, subtraction and addition in ring A. They are represented schematically in Figures 1 to 4. We can then define the parallel multiplication of 2 matrices. Take the example in dimension 3. If P = ( / ) and if
Figure imgf000010_0002
is valid whether the ring is commutative or not. The multiplication formula of the matrices will be indicated according to the diagram in figure 5 and the detail carried out is according to figure 6. On this last figure we can see that the multiplication of 2 matrices between them can be done in the time of a series multiplication, since for i and j fixed we can perform the 3 multiplications in parallel. In accordance with custom, the time for calculating additions and subtractions is neglected. We could continue in this way and detail each operation necessary for the execution of each process described above. The thing being obvious, we will not go further, but it is easy to design an electronic circuit specific to each process which performs in parallel the maximum possible of operations so as to minimize the calculation time seen by the user. Thus, in a commutative ring, the time necessary, with such a circuit, to calculate Ci is the time of 5 series multiplications. For this evaluation, we considered that the time of a division is equivalent to that of a multiplication, which is common but can be optimistic. Conversely, in a fraction ring, the time of a division is negligible. Regarding D \ , 7 series multiplications are necessary.
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 temps d'une division est négligeable, on arrive là encore, à d'excellentes performances.In the rings of non-commutative fractions, these times may vary somewhat depending on the inversion algorithm chosen for a matrix inversion. However, as the time of a division is negligible, we arrive there again, with excellent performances.
« 9.2. Parallélisaton par microprocesseurs"9.2. Parallelization by microprocessors
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. 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 où 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 (cf. 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.The preceding parallelization has the advantage of providing the best possible bit rates. However, it has the disadvantage of not using all the power of the methods presented here. Indeed, in paragraph 9.1., Once the ring has been chosen, it can no longer be changed. As we said above, in the introduction, for the RSA for example, the day the factorization problem is solved, if possible, all the integrated circuits which perform this algorithm are good to throw in the trash . Worse, if we doubt (see what has been said on the NSA) we are trapped in the system and there is hardly any alternative. We therefore propose here a parallelization of a new type.
Le lecteur est invité à reprendre les figure 1 à 4 précédentes, et à considérer que chaque "boîte" 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.The reader is invited to repeat figures 1 to 4 above, and to consider that each "box" is a microprocessor for which one can program an operation in the ring of his choice, and that in an advanced language of the Mathematica type. We can then create macro microprocessors like that of figure 5 by paralleling the use of the first in a structure of the type of that of figure 6. It is only the compiler which will insert in each adequate part the "piece" of suitable algorithm. Continuing in this way, always with the concern of parallelization, the encryption and decryption processes are constructed like sorts of superprocessors.
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. H 10. Une nouvelle fonction à sens uniqueThe advantage of this technique is that if you have a doubt about a ring, you can change it immediately. The problem is then based on the very general case of the search for the eigenvalues of an endomorphism on a module on any ring, or even, as we said for the octonions, on any algebra which may not be associative . This problem, which includes that of factorization, is very broad and much more complex than the latter. H 10. A new one-way function
Les fonctions à sens unique sont d'une importance capitale en tant que primitives cryptographiques. Dans ce cadre, il est toujours intéressant d'en avoir de nouvelles à disposition, puisque certains protocoles formels existent et sont bâtis sur la conjecture selon laquelle de telles fonctions existent.One-way functions are of utmost importance as cryptographic primitives. In this context, it is always interesting to have new ones available, since certain formal protocols exist and are built on the conjecture according to which such functions exist.
Nous reprenons donc le procédé i mais dans un anneau de fractions non commutatif, 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é, Ci , 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).We therefore resume the process i but in a non-commutative fraction ring, where all the elements of g are drawn at random and the eigenvalues chosen with the uniform distribution over the entire ring and are distinct. Such a method, Ci, is then a one-way function which at x associates an image. The difficulty of finding x lies in the fact that in such a ring, in general, the search for an eigenvector is very difficult (e.g. the set of eigenvectors may not be a sub-module of module E).
Bien entendu, cette fonction à sens unique peut se généraliser à n'importe quelle dimension. Of course, this one-way function can be generalized to any dimension.

Claims

m Revendications m Claims
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 commes 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 parmi les trois ou les trois à la fois, les coefficients restant toujours sur les mêmes anneaux ou algèbres.1. A method of public key cryptography of data recorded in the form of bits on a medium usable by one or more calculation units capable of processing input data x to provide output data x ', comprising at least one step of data processing, characterized by the fact that the calculation unit or units manipulate square matrices with coefficients in a ring or an algebra, commutative or not, associative or not, the input data being considered as vectors belonging to modules on these rings or algebras, the binary manipulation possibly bringing in output a square matrix or a vector or a scalar or two options among the three or the three at the same time, the coefficients always remaining on the same rings or algebras.
2. Procédé cryptographique selon la revendication 1 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 à coefficients dans l'algèbre sur laquelle on travaille, avec la distribution uniforme, et en ce que cette matrice doit être inversible.2. Cryptographic method according to claim 1 characterized in that the matrix F constituting the public key is square and diagonalizable, in that the manufacture of the public key is done by drawing a matrix with coefficients in the algebra on which one is working, with the uniform distribution, and in that this matrix must be invertible.
3. Procédé cryptographique selon les revendications 1 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.3. Cryptographic method according to claims 1 and 2 characterized in that in one embodiment, the encryption of the vector which represents the clear text constitutes in the completion of uniform distribution (on a subset of the module) of this vector in base in the work module, this completion being "archived" in the calculation unit in the form of a square matrix, each column of this matrix being made up of one of the vectors of the base, the first being the message in clear, the continuation of the encryption being done by changing the matrix constituting the public key via a base change linked to the completion matrix mentioned above, the result being accompanied by the vector "message in clear" multiplied, possibly, by the result the application of a one-way function on the coordinates of the vectors completing the base, plus these completion vectors.
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.4. Cryptographic method according to any one of the preceding claims, allowing proof of identity zero-knowledge, characterized in that when using a ring or a non-commutative fraction algebra, in the mode of Realization of claim 3, the prover provides the verifier with the result of its decryption as proof of knowledge, namely a vector equal to the clear message which will have previously been drawn at random with the uniform distribution, the equality being established in the 'ring or the algebra of noncommutative fractions concerned, but in fact potentially a vector numerically different but equivalent to the message in clear, equivalence in the sense of that defined by the condition of 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=g_1 Fg 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 unique de l'un des coefficients de la combinaison linéaire.5. Cryptographic method according to claims 1, 2 and 3, allowing the electronic signature, characterized in that once the matrix f = g _1 Fg having been sent to the "manufacturer" of the public key F, the latter calculates the change base performed on F, decomposes the message to be signed on the basis of the module thus obtained and sends a linear combination of this decomposition accompanied by the image by a sense function one of the coefficients of the linear combination.
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. 6. cryptographic method according to any one of the preceding claims, characterized in that an embodiment implements a parallelization of the calculations in a specific circuit, this circuit being programmable or not and therefore, as the case may be, allowing the choice or not, respectively, of the ring or algebra structure, retained to work.
PCT/FR2001/002029 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 WO2002001792A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR0008307A FR2811172B1 (en) 2000-06-28 2000-06-28 PUBLIC KEY CRYPTOGRAPHIC METHODS BASED ON THE DIFFICULTY OF FINDING THE PROPER VALUES OF A MODULE ENDOMORPHISM ON ANY RING OR ALGEBRA
FR00/08307 2000-06-28
FR01/00781 2001-01-22
FR0100781A FR2811173B3 (en) 2000-06-28 2001-01-22 PUBLIC KEY CRYPTOGRAPHIC METHODS BASED ON THE DIFFICULTY OF FINDING THE PROPER VALUES OF A MODULE ENDOMORPHISM ON ANY RING OR ALGEBRA

Publications (1)

Publication Number Publication Date
WO2002001792A1 true WO2002001792A1 (en) 2002-01-03

Family

ID=26212497

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/002029 WO2002001792A1 (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

Country Status (3)

Country Link
AU (1) AU7067001A (en)
FR (1) FR2811173B3 (en)
WO (1) WO2002001792A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130297A1 (en) * 2014-02-28 2015-09-03 Empire Technology Development Llc Homomorphic encryption scheme

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015130297A1 (en) * 2014-02-28 2015-09-03 Empire Technology Development Llc Homomorphic encryption scheme
US10171230B2 (en) 2014-02-28 2019-01-01 Empire Technology Development Llc Homomorphic encryption scheme

Also Published As

Publication number Publication date
FR2811173A1 (en) 2002-01-04
FR2811173B3 (en) 2002-08-23
AU7067001A (en) 2002-01-08

Similar Documents

Publication Publication Date Title
US8520854B2 (en) Sharing a secret using polynomials over polynomials
FR2807898A1 (en) Cryptographic method based on elliptic curves, use simultaneous generation of random variable and scalar multiplication process to speed encryption and decryption
FR2788650A1 (en) PUBLIC AND PRIVATE KEY CRYPTOGRAPHIC PROCESS
WO2018124869A1 (en) Quaternion-based, efficient fully-homomorphic cryptosystem
EP2707989A1 (en) Device and method for generating keys with enhanced security for fully homomorphic encryption algorithm
WO1997027688A1 (en) Asymmetrical cryptographic communication method and portable object therefor
EP1904921A1 (en) Cryptographic method for securely implementing an exponentiation and related component
EP1419610A1 (en) Method of producing a cryptographic unit for an asymmetric cryptographic system using a discrete logarithm function
EP0963638B1 (en) Digital signature method
CN107463849B (en) Privacy information restoration methods based on single server
EP1224765A1 (en) Countermeasure method in an electronic component which uses an rsa-type public key cryptographic algorithm
WO2002001792A1 (en) Public key cryptographic methods based on the difficulty of finding natural values of an endomorphism of a module on any ring or algebra
EP1438804B1 (en) Public key cryptographic method based on braid groups
WO2018084691A2 (en) Quaternion-based, efficient fully-homomorphic cryptosystem
EP3840282A1 (en) Cryptographic processing method, associated electronic device and computer program
FR2811172A1 (en) Public key encryption process having square matrix manipulation ring/algebra/switching/not with words vectors considered providing square matrix sector/scalar with options same ring staying
WO1998051038A1 (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
FR2842052A1 (en) CRYPTOGRAPHIC METHOD AND DEVICES FOR REDUCING CALCULATION DURING TRANSACTIONS
WO2024018158A1 (en) Method for exchanging a secret which can withstand quantum computer attacks, and associated computer system and computer program
FR2865086A1 (en) Ciphered message converting device for use in cryptographic system, has message establishing unit producing deciphered message from auxiliary message, and difference between ciphered message and result of conversion of auxiliary message
WO2009122095A2 (en) White-box protection for cryptographic algorithms including calculation of a quadratic form
FR3010562A1 (en) DATA PROCESSING METHOD AND ASSOCIATED DEVICE
FR2892251A1 (en) CRYPTOGRAPHIC METHOD IMPLEMENTING AN IDENTITY-BASED ENCRYPTION SYSTEM
Qian Lossy trapdoor primitives, zero-knowledge proofs and applications
FR3038473A1 (en) METHOD FOR CRYPTOGRAPHIC DATA PROCESSING AND ASSOCIATED COMPUTER PROGRAM

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP