FR 2744309 A1 19970801 FR 9600958 A 19960126 PROCEDE DE COMMUNICATION CRYPTOGRAPHIQUE ASYMETRIQUE, ET OBJET PORTATIF ASSOCIE 1. - INTRODUCTION L'invention concerne un procédé de communication cryptographique asymétrique pour traiter des messages et sécuriser des communications entre des interlocuteurs. II peut être utilisé pour chiffrer des messages de façon asymétrique, ou pour les signer de façon asymétrique également. II peut aussi être utilisé en authentification asymétrique. Ce procédé utilise deux nouvelles familles d'algorithmes que nous avons appelées "Dragon" et "Chaînes". Ces deux familles peuvent d'ailleurs être combinées. Ce qui rend ces nouveaux algorithmes particulièrement intéressants est que certains de ses membres sont: 1. facilement mis en oeuvre dans des cartes à puces de puissance modeste; 2. des bijections "TRAPDOOR ONE WAY", c'est-à-dire des bijections qui sont des fonctions de chiffrement à clé publique; 3. de plus, des bijections sur des variables très courtes (de 64 ou 128 bits par exemple). Ces algorithmes "Dragon" et "Chaînes" peuvent être vus comme une "réparation" subtile et efficace d'un algorithme inventé en 1988 par MATSUMOTO et IMAI (Tsutomu Matsumoto and Hideki Imai, "Public quadratic polynomial-tuples for efficient signature-verification and message-encryption", Advances In Cryptology, Eurocrypt'88 (Christoph G. Gunther, ed), Lecture Notes in Computer Science, vol 330, Springer-Verlag, 1988, pp. 419-453). Cet algorithme a été cassé en 1995 par Jacques PATARIN (I'attaque est publiée au congrès CRYPTO'95 Springer-Verlag, pp 248-261). L'invention concerne à cet effet un procédé de communication cryptographique asymétrique établissant une correspondance entre une première valeur (x) représentée par n éléments (x1,. ..,xn) d'un anneau (A) et une seconde valeur (y) représentée par m éléments (Y1,...,Ym) de cet anneau, n et m étant des entiers supérieurs ou égaux à 2, caractérisé en ce que: -ladite correspondance est définie par des polynômes publics multivariables (Pi) de An+m+k oA, de degré total petit, tels que l'on ait des équations du type (Pi(x1,....,xn ; y1,....,ym ; z1,.....,zk) = 0 où (z1,.....,zl) sont d'éventuelles variables intermédiaires et k est un entier; -au moins la plupart des polynômes (Pi) ne sont pas de la forme Ti(Y1, ,ym) = Si(xî ,xn) ,où les Si seraient des polynômes de degré total 2 et les Ti seraient des polynômes de degré total 1. L'invention concerne aussi un objet portatif associé, notamment un objet portatif ne stockant pas les polynômes publics multivariables (Pi). La notion de "valeur x" à transformer selon le procédé de l'invention désigne selon les cas soit un message (par exemple dans l'utilisation du procédé en chiffrement), soit plus généralement une grandeur à partir de laquelle on souhaite effectuer une vérification (par exemple dans l'utilisation du procédé en vérification de signature ou en authentification). La notion de "petit degré" mentionnée dans la suite doit être comprise comme désignant un degré inférieur ou égal à 6, de préférence inférieur ou égal à 4, mais dans le même temps supérieur ou égal à 2. D'autres détails et avantages de l'invention apparaîtront au cours de la description suivante de quelques formes de réalisation préférées mais non limitatives, en regard des dessins annexés, sur lesquels: La figure 1 est un schéma illustrant l'enchaînement des transformations utilisées pour traiter un message, selon une première variante du procédé de l'invention, uitlisé en chiffrement; et La figure 2 illustre un exemple de système de chiffrement / déchiffrement utilisant le procédé de communication cryptographique selon l'invention. 2. - ALGORITHME "DRAGON" 2.1. - L'idée fondamentale des "Drapons". Nous avons appelé "Dragons" une première famille d'algorithmes basés sur l'invention. Présentons dès maintenant l'idée fondamentale qui distingue les deux familles d'algorithmes "Dragon" et "Matsumoto - Imai". Puis, dans les paragraphes suivants, nous verrons quelques exemples particulièrement intéressants de "Dragons". Enfin, nous décrirons une autre famille d'algorithmes basés sur l'invention, et que nous avons appelée "Chaînes". Pour MATSUMOTO - IMAI La forme publique se présente sous la forme de n polynômes multivariables sur un corps fini K, donnant une valeur image y constituée d'une pluralité de valeurs image élémentaires y1, ..., yn en fonction d'une valeur x constituée d'une pluralité de valeurs élémentaires x1 ..., xn sous la forme: y1 = P1(x1, ..., xn) Y2 = P2(x1, ..., xn) yn = Pn(x1, ..., xn) où P1, P2,...Pn sont des polynômes de K[X1, ..,Xn j, c'est-à-dire des polynômes de Kn # K, ces polynômes étant de degré total 2. Pour les Drapons La forme publique se présente sous la forme de # polynômes multivariables sur un corps K (ou un anneau), faisant intervenir les variables y1, y2 , . ym et x1, x2,..., xn de K sous la forme: P1(x1, x2,..., xn, y1, y2, ..., ym) = 0 P2(x1, x2,..., xn, y1, y2, . ., ym) = 0 P#(x1, x2,..., xn, y1, y2, ..., ym)=0 où P1, P2,....P# sont des polynômes de K n x K m # K, de degré total petit (par exemple 2). Ainsi, la différence fondamentale entre les Dragons et les algorithmes de MATSUMOTO-IMAI réside dans le fait que, dans la forme publique, on a "mélangé" les variables xi et yj. 2.2. - Premier exemple: le petit dragon" Ici, # = m = n, et K est un petit corps fini (par exemple, K = F2 , le corps à deux éléments). On note q = IKI le nombre d'éléments de K. Si x =( x1,..., Xn ), est une valeur constituée dans cet exemple par un message clair, et y = (y1,..., yn), le message chiffré correspondant, le passage de x1,..., xn à y1,..., yn peut être calculé comme représenté sur la figure 1 1) On applique à x = ( x1,..., xn) une première transformation affine bijective secrète s, obtenant ainsi une image a = s (x) = (a1 an). 2) On applique à (a) une transformation f, publique ou secrète, donnant une immage b = f(a) = aq# + q# - 1, où # et # sont des entiers publics ou secrets tels que h = q# + q(P - 1 soit premier avec qn - 1 et où l'on se place, pour effectuer l'élévation à la puissance h, dans un représentant du corps (noté en général Fqn) à qn éléments. 3) On transforme enfin b = (b1,..., bn) en y = (y1,..., Yn) en appliquant à b une seconde transformation secrète affine bijective t telle que y = t(b). Toutes ces opérations étant inversibles, on peut donc aussi calculer (x1,..., xn) à partir de (y1, , yn) si l'on connaît les secrets t et s. Par exemple, b = ah sera inversé par a=bh', où h' est un entier tel que h.h' = 1 modulo qn-1. De plus, comme b = aq# + q#-1, on en déduit que b.a. = aq# + q#, donc que dans une base où a = (a1,....,an) et b = (b1, ..., bn), il existe n équations de la forme: ##&gamma;ij.bi.aj = ###ij.ai.aj (1) Donc, en exprimant les bi en fonction des yi , et les a en fonction des x, on constate qu'il existe n équations de la forme: ## ijyi.xj= ###ijxi.xj + #ssiyi + #&alpha;ixi + #0 (2) c'est-à-dire n équations de la forme: Pi (x1,...,xn, y1,...yn) = 0, i = 1...n, où Pi est un polynôme de K2n # K, de degré total 2. Ces n équations Pi sont rendues publiques. Elles constituent la clé publique. En effet, grâce à elles, quiconque va pouvoir chiffrer un message, c'est-à-dire calculer y1,....,yn à partir de x1,..., xn sans connaître de secrets, de la façon suivante. En remplaçant x1,..., Xn par leurs valeurs et en reportant ces valeurs dans les équations (2),on obtient n équations de degré 1 en les yi. Par réduction de GAUSS, on obtient alors facilement toutes les solutions de ces n équations. Or, Si a # 0 (ce qui est toujours le cas sauf pour un x exceptionnel), on n'a qu'une seule solution en b de b. a = a se + q (p, donc on aura une seule solution après réduction de GAUSS : ce sera le message chiffré ( Y1,.... yn) à envoyer. Le petit Draaon en signature. II est facile d'utiliser l'algorithme du Petit Dragon en signature : par exemple, si y1,..., y, est, soit le message à signer, soit un "hash" du message à signer (c'est-àdire le résultat d'une fonction de hachage appliquée au message), soit une fonction publique du message à signer, alors X1,..., xn sera la signature. Et on vérifiera la signature en vérifiant que l'on a: #i, 1#i#n, Pi(x1,..., xn, y1,..., yn) = 0 c'est-à-dire en vérifiant que toutes les équations publiques (2) sont satisfaites. 2.3. - Deuxième exemple: quelques variantes du petit dragon". Variante 1. Si, au lieu de prendre b = aq# + q#-1, on prend b = aq# + q# +q# - 1, où #, #, et # sont trois entiers, le procédé fonctionne de la même façon mais les formes publiques sont plus grosses: elles sont de degré total 3 au lieu de 2. Variante 2: On peut aussi ne pas rendre publics tous les polynômes Pi, et introduire éventuellement d'autres polynômes Qi aléatoires en les xi et les yj. Variante 3: Si, au lieu de prendre b = a q + q'P 1, on prend b qa + qss - 1 = a q + q(P 1, alors les formes publiques sont de degré total 3, et l'algorithme marche de la même façon en signature (mais plus en chiffrement). 2. 4.- Troisième exemple : fractions rationnelles. Au lieu de prendre b = a q + q(2 -1, on peut prendre b = 1 ( ax + ), (c'est-à-dire 1 divisé par ( a# + p ), où p est une constante, et X un entier qui soit la somme d'un petit nombre de puissances de q moins un autre petit nombre de puissances de q. Les formes publiques sont aussi un peu plus grandes que pour le petit Dragon, mais tout fonctionne essentiellement de la même façon. 2.5. - Quatrième exemple: autres fonctions entre b et a. Dans tous les exemples que nous avons donnés jusqu'à présent, le passage de b à a peut s'exprimer au moyen d'un polynôme en a et b. Plus généralement, on souhaite seulement que le passage de a = (a1, . ...,an) à b = (b1, .., bm) soit tel qu'il existe: 1) des relations polynomiales de la forme Pi (a1, .,an, b1, , bm ) = 0, avec Pi de degré total petit. 2) qu'il existe aussi un algorithme permettant, pour de très nombreux b, de calculer le (ou un des) a correspondant (s). 2.6.. - Cinquième exemple: avec m # n. Présentons un exemple, utilisable en signature, avec m # n. Notons comme d'habitude y = (y1,.y2,.., ym) un hash du message à signer, (ou le message à signer). Soient Q1,...,Qn et.. Q1',...,Qn' , 2n polynômes multivariables secrets de degré total 2 de Kn # K. Soit b = t (y), où t est une bijection affine secrète de Km # Km; b = (b1,b2,.., bm). Notons B l'élément de Kn dont les composantes sont: B = (Q1(b1, b2,....,bm), Q2 (b1, b2,....,bm),...., Qn (b1, b2,....,bm)). Et notions B' I'élémentde Kn dont les composantes sont: B' = (Q1'(b1, b2,....,bm), Q2' (b1, b2,....,bn),...., Qn' (b1, b2,....,bm)). On peut considérer que B et B' représentent (dans une base) deux éléments du corps Fqn. Dans ce corps, soit a l'élément tel que: B . a qB + q# = B' aq#' + q# (3) a est représenté dans une base par a = (a1,.. , an). Sois enfin x = s (a), où s est une bijection affine secrète de Kn s Kn. x = (x 1, ....,xn) dans une base. En écrivant l'équation (3) dans une base, et en écrivant les équations en les variables xi et yj , on obtient n équations, de degré total 4, en les variables X1,..., xn, y1,..., Ces n équations seront publiques et (x1,..., xn) sera une signature valide de (y1, , Ym) si et seulement si toutes ces n équations sont vérifiées. Pour calculer une signature avec les secrets, il suffit de calculer b, puis B et B', puis a à partir de (3), et enfin x par x = s(a). 3. - ALGORITHME "CHAINES". 3.1. - L'idée fondamentale des "chaînes". L'idée fondamentale des "'chaînes" par rapport à MATSUMOTO-IMAI, est d'introduire des variables intermédiaires zi, 1 # i # k, c'est-à-dire d'avoir des polynômes publics Pi qui dépendent non seulement des variables habituelles xi et yi (où les xi représentent le message à chiffrer et les yi le message chiffré en chiffrement, ou bien les xi représentent la signature des yi en signature) mais aussi des variables intermédiaires zi. 3.2. -Premier exemple: chaînes sans Dralon. Par exemple, soient a, b, c, d quatre éléments du corps à qn éléments et soient quatre entiers #, #, &alpha;, et ss tels que: c = a1+q# (1) d = a1+q# (2) et b = cq&alpha; x dqss (3) alors b = ah où h = q&alpha; + q&alpha; + # + qss + qss+#. Nous supposerons que #, #, &alpha;, et ss ont été choisis de telle sorte que h soit premier avec qn-1. Maintenant, supposons que x = s(a) et y = t(b), où s et t sont des fonctions bijectives affines secrètes. Et notons z = u(c), et z' = v(d), où u et v sont des fonctions affines secrètes. De (1), on déduit qu'il existe n relations de la forme: zi = ##&gamma;ij.xi.xj + #&alpha;i.xi + #0 (1') De (2), on déduit de même l'existence de n relations de la forme: zi' = ##&gamma;ij'.xi.xj + #&alpha;i'.xi + #0' (2') De même de (3) on déduit l'existence de n relations de la forme: yi = ##&gamma;ij".zi.zj' + #&alpha;i".zi + #ssi".zi' + #0" (3') Supposons maintenant que les 3 x n équations (1'), (2') et (3') sont publiques. Alors, si x est le message à chiffrer, de (1') on va obtenir les zi, de (2') on va obtenir les z'i, puis de (3') on va obtenir les yi.Donc il est possible de calculer le chiffré y à partir de x et des polynômes publics. Par contre, si y est connu mais que x est inconnu, il semble qu'il ne soit pas toujours possible de remonter à x à partir de y. En effet, de (3'), on ne remonte qu'à n équations pour 2 x n variables zi et z'j et donc les zi et zi' restent inconnues. Par contre, si les clés secrètes s et t sont connues, on peut calculer b = t -1(y) à partir de y , puis a = bh', où h' est l'inverse de h modulo q n-1, puis enfin x = s(a). Ainsi, avec la clé secrète, on peut déchiffrer les messages. 3.3.-Deuxième exemple: chaînes avec Dragon. Gardons les mêmes notations qu'au paragraphe 9, mais supposons maintenant que: c = aq#+q#-1 (1) d = aq#'+q#'-1 (2), et cq&alpha; x b = dqss x bq&gamma; (3) Où 0, #, 0', #', a, ss et y sont des entiers.Alors, de même, b = pour un particulier et on choisira #, #, &alpha;, #', #', &alpha;, ss et &gamma; de telle sorte que soit le premier avec #n-1. L'algorithme marchera alors exactement de la même façon, mais cette fois les équations publiques (1') sont de la forme: ##&gamma;ij.zi.xj + ##&gamma;ij'.xi.xj + #&alpha;i.xi + #ssi.zi +#0 = 0 (1') et les équations publiques (2') sont de la forme:: ## ij.zi'.xj + ## ij'.xi.xj + #&alpha;i'.xi + #ssi'.zi' +#'0 = 0 (2') Si x est le message à chiffrer, de (1') on va obtenir par réduction de GAUSS les zi, de (2') on va obtenir par réduction de GAUSS les z'i, et de (3') on va obtenir es yi. 3.4. - Exemple de chaînes mixtes. En gardant les mêmes notations qu'au paragraphe 3.2, on peut aussi avoir: c = a1+q# (1) d = a1+q# (2), et c xb = dqss x bq&gamma; (3) Alors les équations (3') seraient cette fois de la forme: ## ij.zi.yj + ###ij.zi'.yj + ##izi + ##izi' + ##iyj + #i = 0 (3') et de même, les équations publiques (1') et (2') permettent de calculer les variables zi et z'i, puis les équations (3') permettent alors de calculer les variables yi du chiffré. Notons qu'ici (1) et (2) sont des équations du type usuel, et (3) du type Dragon. 3.5. - Utilisation des chaînes en signature. Les exemples des paragraphes 3.2, 3.3 et 3.4., donnés en chiffrement sont aussi utilisables en signature. x représente alors la signature associée à y. Et la vérification de signature consiste à vérifier qu'il existe bien des variables zi et zi' satisfaisant (1'), (2') et (3'). 3.6. - Chaînes plus générales En clé publique, dans les exemples des paragraphes 3.2., 3.3 et 3.4., on obtenait, à partir de x ,les variables intermédiaires z et z', puis de z et z' on obtenait y. On peut imaginer des chaînes plus longues. Par exemple, à partir des xi ,on pourra obtenir des variables zi. Puis, à partir des variables xj et zi, on pourra obtenir des variables z'j Puis, à partir des variables xil zj, et Z'i on obtiendra des variables z"i Puis, finalement, à partir des variables xj, zi, z'j et z"i,..., on obtiendra y. 4. - UNE METHODE POUR REDUIRE LA TAILLE DES CLES PUBLIQUES. Les fonctions affines secrètes s et t qui interviennent dans les algorithmes Dragon et Chaînes ont des coefficients à valeur dans le même anneau A que les variables qui interviennent. Cependant, il est parfois intéressant de se restreindre à des coefficients dans un sous-anneau A' de A, car alors les polynômes publics pourront avoir des coefficients eux-mêmes dans un sous-anneau A" de A, ce qui permet de réduire le nombre de bits nécessaires à la description de ces polynômes publics. Cette technique est particulièrement appropriée aux exemples donnés cidessus. 5. - UN MOYEN DE NE PAS STOCKER LES POLYNOMES Pj Dans une carte à puce capable de calculer les valeurs (y) à partir de (x), et éventuellement (x) à partir de (y), il n'est pas toujours obligatoire que la carte stocke tous les polynômes publics Pi. En effet, ces polynômes étant de degré total petit, la carte pourra fournir des valeurs (x), et (y) correspondant à (x), à partir desquelles il est possible de recalculer les polynômes publics Pi à l'extérieur. Plus généralement, elle pourra fournir des valeurs qui permettent de recalculer les polynômes publics Pi, ces valeurs étant éventuellement signées, ou les polynômes publics à trouver étant signés, et cette signature (et non tous les polynômes publics) étant stockée dans la carte. 6. - SYSTEME DE CHIFFREMENT / DECHIFFREMENT UTILISANT LE PROCEDE DE L'INVENTION La figure 2 illustre de façon schématique un exemple de système de chiffrement / déchiffrement connu en soi et utilisant le procédé de communication cryptographique décrit cidessus. Soient deux individus A et B appartenant à un même réseau de communication, chacun possédant un dispositif respectif 1,2 d'émissionlréception de messages. Ce dispositif inclut des moyens de calcul, par exemple un ordinateur, agencés pour effectuer un chiffrement / déchiffrement des messages, et des moyens de mémorisation. Au moins une partie de ces moyens de calcul ou de mémorisation peut se trouver dans un objet portatif incorporant un microprocesseur ou des circuits logiques microcablés définissant des zones dont l'accès est contrôlé et peuvent donc renfermer des informations secrètes telles que des clés cryptographiques (voir par exemple l'objet portatif décrit dans le brevet américain N"4.211.919). Chaque dispositif incorpore un algorithme F tel que décrit précédemment, notamment sous la forme d'un programme, ainsi que l'algorithme inverse F-1 Les deux dispositifs sont reliés entre eux au moyen d'une ligne de communication 3. Les deux individus A et B possèdent respectivement un couple de clés: une clé publique C et CpB et une clé secrète CsA et CsB corrélée à la clé publique correspondante C ou CpB. L'individu A envoie à B sa clé publique C et éventuellement une signature de cette clé publique, et, B envoie à A sa clé publique CpB et éventuellement, une signature de cette clé publique. Une fois que A a reçu la clé publique CpB, il va l'utiliser pour chiffrer, à l'aide de l'algorithme cryptographique F, un message M qu'il désire envoyer à B, en un message M'. Ce message, une fois reçu par B, est déchiffré à l'aide de l'algorithme cryptographique F-1 et de la clé secrète CsB. REVENDICATIONS 1. Procédé de communication cryptographique asymétrique établissant une correspondance entre une première valeur (x) représentée par n éléments (x1 ,xn) d'un anneau (A) et une seconde valeur (y) représentée par m éléments (y1,....,ym) de cet anneau, n et m étant des entiers supérieurs ou égaux à 2, caractérisé en ce que: -ladite correspondance est définie par des polynômes publics multivariables (Pi) de An+m+k oA, de degré total inférieur ou égal à 6, tels que l'on ait des équations du type Pi(x1,....,xn) ; y1,....,ym ; zi,.....,zk) = 0 où (z1,.....,zk) sont d'éventuelles variables intermédiaires et k est un entier; -certains polynômes (Pi) ne sont pas de la forme Ti(y1,....,ym)= Si(x1,....,xn) ,où les Si seraient des polynômes de degré total 2 et les Ti seraient des polynômes de degré total 1. 2. Procédé selon la revendication 1, dans lequel certains polynômes (Pi) ne sont pas de la forme Ti(y1,....,ym) = Six1,...,xn) où les Si seraient des polynômes de degré total inférieur ou égal à 6 et les Ti seraient des polynômes de degré total 1. 3. Procédé selon la revendication 1, dans lequel les polynômes publics multivariables (Pi) sont de la forme Pi(x1,....,xn ; y1,....,ym) = 0 , certains polynômes (Pi) étant tels qu'il existe un entier j, compris entre 1 et n, et un entier p , compris entre 1 et m, tels que lesdit polynômes (Pi) contiennent au moins un monôme non nul en xj.yp. 4. Procédé selon la revendication 3, dans lequel ladite correspondance entre la première valeur (x) et la seconde valeur (y) est définie comme suit: 1) - au moyen de la connaissance de deux transformations affines s et t secrètes, s étant une transformation affine de AnoAn, c'est-à-dire déterminée par n polynômes de degré total 1 en n variables, et t étant une transformation affine de Am#Am, c'est-à-dire déterminée par m polynômes de degré total 1 en m variables,on calcule une fonction y = F(x) de la façon suivante: 1.1) on applique la transformation affine s à x , obtenant une image: a = s (x) 1.2) on applique à l'image (a) une transformation f donnant une image b telle que : b = f(a), avec: 1.2.1) - Si a = (a1, a21 ..,au,.., an) et b = (b1, b2, ..bj,..,bm), (les ai et bj étant des éléments de A), il existe une correspondance définie par des polynômes publics multivariables (Vi) de An+m oA, non nuls et de degré total petit, satisfaisant chacun à une équation de type: Vi(a1, a2, ..,aj,.., an ; b1, b2, ..bj,...,bm) = 0 (I) certains polynômes (Vi) étant tels qu'il existe un entier j compris entre 1 et n, et un entier p , compris entre 1 et m, tels que lesdit polynômes (Vi) contiennent au moins un monôme non nul en aj.bp.; 1.2.2) - la transformation f est de plus choisie telle qu'il existe un algorithme permettant, pour de nombreuses images b, de calculer au moins une image (a) telle que : f(a) = b. 1.3) on applique la transformation affine t à l'image b, obtenant t(b) = y; 2) de l'existence des équations (I), par changement de variable, on déduit l'existence d'équations (II) définissant lesdits polynômes multivariables (Pi) Pi(x1, x2,....,xn ; y1, y2,....,ym) = 0 (II) certains de ces polynômes étant publics. 5. Procédé selon la revendication 1, dans lequel les polynômes publics multivariables (Pi) comprennent des polynômes (Qj) définis de An+k # A et de la forme Qj(x1,....,xn ; z1,.....,zk) = 0 , et des polynômes (Rp) définis de Am+k' # A et de la forme Rj(y1,....,ym ; z'1,.....,z'k' ) = 0 , où (z1,.....,zk) et (z'1,.....z'k') sont des variables intermédiaires effectivement présentes, et j,p,k et k' des entiers. 6. Procédé selon la revendication 1, pour calculer une signature de message, dans lequel la seconde valeur y = (y1,....,ym) représente le message à signer ou une fonction du message à signer et où la première valeur x = (x1,....,xn) représente la signature du message, consistant à vérifier la signature de message en vérifiant que lesdites équations sur les polynômes (Pi) sont bien satisfaites, étant entendu que, si des variables z1,....,zk interviennent dans ces équations, il s'agit de vérifier qu'il existe bien de telles variables (z1,....,zk ) qui satisferont toutes ces équations. 7. Procédé selon la revendication 1, pour chiffrer un message, dans lequel la première valeur x = (x1 ,xn) représente le message à chiffrer et où la seconde valeur y = (y1, ,ym) représente le message chiffré, procédé consistant à appliquer ladite correspondance à la première valeur x pour obtenait, pour certaines ou toutes les valeurs x, une seconde valeur y, grâce à un ensemble de données publiques incluant lesdits polynômes publics multivariables (Pi). 8. Procédé selon la revendication 1, pour effectuer une authentification asymétrique, par une première personne appelée vérifieur, d'une autre personne appelée prouveur, caractérisé en ce que: -le vérifieur envoie au prouveur une valeur constituée par la seconde valeur (y); -le prouveur renvoie au vérifieur une valeur constituée par la première valeur (x) -le vérifieur vérifie que lesdites équations sur les polynômes (Pi) sont bien compatibles avec les première (x) et seconde (y) valeurs, étant entendu que, si des variables zî zk interviennent dans ces équations, il s'agit de vérifier qu'il existe bien de telles variables (z1,....,zk ) qui satisferont toutes ces équations. 9. Procédé selon la revendication 1, dans lequel: -la correspondance inclut au moins une transformation affine et secrète s définie par une matrice composée de coefficients à valeur dans ledit anneau (A); -lesdits coefficients de la matrice sont à valeur dans un sous-anneau (A') de (A) de façon que lesdits polynômes publics multivariables (Pi) aient des coefficients à valeur dans un sous-anneau (A") de (A). 10. Procédé selon la revendication 1, dans lequel chaque monôme desdits polynômes publics multivariables (Pi) contient au plus une seule variable yj, c'est-à-dire que le degré total en les variables yj des polynômes (Pi) est 0 ou 1. 11. Procédé selon la revendication 1, dans lequel: - A est un corps fini K ayant un petit nombre d'éléments noté q = |K| ; - m=n; - a et b représentent deux valeurs de deux éléments du corps Fq" à qn éléments - la transformation f est une bijection de la forme f(a) = b = ah, où h est un entier public ou secret et premier avec qn - 1 ; et - h est de la forme qo + q(P - q#, , où 0, q > et # sont des entiers publics ou secrets. 12. Objet portatif comprenant des moyens de traitement de l'information et des moyens de mémorisation, agencé pour mettre en oeuvre une communication cryptographique asymétrique établissant une correspondance entre une première valeur (x) représentée par n éléments (x1,....,xn) d'un anneau (A) et une seconde valeur (y) représentée par m éléments y1, ,..,yj..,ym) de cet anneau, n et m étant des entiers supérieurs ou égaux à 2, caractérisé en ce que: -ladite correspondance est définie par des polynômes publics multivariables (Pi) de An+m+k # A, de degré total inférieur ou égal à 6, tels que Pi(x1,....,xn ; y1,....,ym ; z1,.....,zk) = 0 où (zi,......,zk) sont d'éventuelles variables intermédiaires et k est un entier: -certains polynômes (Pi) ne sont pas de la forme Tj(y1l .Ym) = Si(x1,....,xn ,où les Si seraient des polynômes de degré total 2 et les Ti seraient des polynômes de degré total 1. -lesdits moyens de mémorisation ne stockent pas les polynômes publics multivariables (Pi); -en ce qui concerne le calcul des polynômes publics multivariables (Pi), I'objet portatif est agencé pour fournir seulement des données permettant de calculer, à l'extérieur de l'objet portatif, les polynômes publics multivariables (Pi) grâce auxquels la seconde valeur (y) peut être calculée à partir de la première valeur (x).