Brevet FR2865590A1 — publié le 20050729

Procédé et système pour établir, à partir d'un jeu de grands nombres premiers, un jeu de clés destiné à prouver l'authenticité d'une entité ou l'intégrité d'un message. Préambule de la description Domaine concerné La présente invention concerne un procédé et un système pour établir, à partir d'un jeu de grands nombres premiers, un jeu de clés destiné à prouver l'authenticité d'une entité ou l'intégrité d'un message. Exposé du problème Inventée en 1977, la technologie RSA offre des services de confidentialité et d'intégrité. Mais ce caractère universel a un prix en termes de performances. Inventée en 1999, la technologie GQ2 n'offre pas de service de confidentialité. Elle est dédiée aux services d'intégrité. En authentification et en signature, le mécanisme GQ2, flexible et ajustable par paramètres, est bien plus performant que le mécanisme RSA, par trop rigide. Depuis l'invention de la technologie RSA, le problème de la factorisation des nombres entiers a fait l'objet d'intenses recherches. Le problème résiste toujours malgré de notables progrès résultant davantage de l'évolution de la puissance des ordinateurs que de l'évolution des algorithmes de factorisation. C'est à juste titre que les utilisateurs font confiance à la technologie RSA et donc, au problème de la factorisation. Chaque instance RSA repose sur le problème de la factorisation d'un module, dénoté n', produit de deux grands facteurs premiers distincts, dénotés pi et p2. n' = Pl x P2 avec pi n" = Pi x... pf avec Pi S P2... 1 et un ou plusieurs nombres de base gl à gm > 1 5 dont le produit est inférieur aux grands facteurs premiers. Chaque instance de la technologie GQ2 met en oeuvre une ou plusieurs paires de nombres, à savoir un nombre public G, déduit du nombre de base g, et un nombre privé Q par paire, satisfaisant les deux critères suivants. Critère de validité d'un nombre de base GQ2 Par définition, pour le paramètre de sécurité k > 1, un nombre g > 1 est valide comme nombre de base lorsque dans l'anneau des entiers mod n, le nombre public G admet des racines 2k-ièmes. Le nombre privé Q correspondant est l'une de ces racines 2k-ièmes ou son inverse mod n. La paire de nombres GQ2 Q et G vérifie une équation, directe ou inverse, régie par l'exposant v = 2k et le module n. G - modn ou G x Q"a- 1 mod n Critère d'équivalence d'un jeu de clés GQ2 avec le problème de la factorisation du module n Par définition, un jeu de clés GQ2 est sûr au sens cryptographique lorsque la connaissance d'un ou plusieurs nombres privés de Qi à Q. induit la connaissance d'une décomposition non-triviale du module n. Alors, prouver la connaissance de la clé privée GQ2 sans la révéler revient à prouver la connaissance d'une décomposition non-triviale du module n sans la révéler. L'équivalence d'un jeu de clés GQ2 avec le problème de la factorisation du 25 module n établit une preuve de la sécurité du protocole d'authentification GQ2. Les clés GQ2 et leur gestion sont compatibles avec les clés RSA. Le même module n peut sans problème de sécurité être utilisé en RSA et en GQ2. Cette compatibilité tend à consolider la position hégémonique de la 2865590 3 technologie RSA en évitant le recours à des problèmes autres que celui de la factorisation lorsque les performances du mécanisme RSA laissent à désirer, par exemple, des dispositifs à capacité de calcul limitée comme une carte à puce, et des dispositifs saturés comme un serveur calculant un nombre élevé de signatures. Ainsi en cas de saturation d'un serveur, deux stratégies sont possibles sans changer de jeu de clés RSA, c'est-à-dire, avec le même module n, produit de deux facteurs premiers pi et p2 donnés. Ou bien, multiplier le nombre de serveurs en conservant le mécanisme RSA de signature. Ou bien, diviser la charge de travail en changeant de mécanisme, en passant de RSA en GQ2. En version classique de GQ2, chaque nombre de base g; fixe un nombre public G; = g 2. Lorsque pl -1 et p2 -1 sont divisibles par deux mais pas par quatre, soit environ un quart des modules RSA, la version classique de GQ2 assure systématiquement le critère de validité du nombre de base, c'est-à-dire, quel que soit le paramètre de sécurité k, le nombre de base g; peut prendre toute valeur > 1. Mais plus la puissance de deux divisant pl -1 et / ou p2 -1 grandit, c'est-à- dire, plus pi et / ou p2 se ramifient, plus il devient difficile de trouver des nombres de base en version classique de GQ2. La présente invention défmit alors autrement les nombres publics Gl à G. en fonction des nombres de base gl à g.. Art antérieur Elever au carré dans le corps des entiers mod p Chaque grand nombre premier p est impair, c'est-à-dire, congru à 1 ou à 3 mod 4, avec autant en moyenne dans chaque catégorie. Chaque grand nombre premier congru à 1 mod 4 est congru à 1 ou à 5 mod 8, avec autant en moyenne dans chaque catégorie. Chaque grand nombre premier congru 2865590 4 à 1 mod 8 est congru à 1 ou à 9 mod 16, avec autant en moyenne dans chaque catégorie, et ainsi de suite. En moyenne, un grand nombre premier sur 2b est congru à 2b+1 mod 2b+1; alors l'expression (p 1)/2b est un nombre impair. Considérons un nombre a positif et une suite définie par: {xi =amodp;pour i>0,xi+1=a+ xi mod p} Aucun des nombres suivants n'est nul: x1 = a mod p, x2 = 2 x a mod p, ... xp 1 = (p 1) x a mod p. Tous différents, ils forment une permutation des nombres de 1 à p 1. Le produit {1 x 2 x 3 x... (p l)} = {(p 1) !} est donc égal au produit {(a mod p) x (2 x a mod p) x (3 x a mod p) x... ((p 1) x a mod p)}, c'est-à-dire, le nombre premier p divise le nombre {(a11 1) x (p 1) !1. Or p ne divise pas le nombre {(p 1) ! } . Donc p divise a' 1 1. C'est le petit théorème de Fermat qui s'énonce comme suit: Soit p un nombre premier et a un entier non divisible par p, p divise 0--1 1. Considérons un nombre a positif, inférieur à p, et une suite définie par; {x1 = a; pour i > 0, xi+1= a x xi mod p} Par définition, le rang de a par rapport à p est la période de la suite (le plus petit nombre n positif tel que xn+1 = a). Selon le petit théorème de Fermat, le rang est égal à ou divise p 1. Dans le corps des entiers mod p, si p est congru à 2b+1 mod 2b+1, il y a (p 1)/2b éléments de rang impair et (2b 1)x(p l)/2b éléments de rang pair. Tout élément de rang p 1, dénoté w, est primitif car la suite de ses puissances modulaires successives, c'est-à-dire, {pour i de 1 à p 1, w mod p}, comprend tous les éléments non-nuls du corps. Dans le corps des entiers mod p, la fonction élever au carré divise par deux le rang des éléments de rang pair et ne modifie pas le rang des éléments de rang impair. Elle se représente par un graphe orienté formé de cycles et de branches. La figure 1 illustre les quatre cas les plus simples et les plus fréquents: 1) b = 1, c'est-à-dire, p = 3 (mod 4), 2) b = 2, c'est-à- 2865590 5 dire, p 5 (mod 8), 3) b = 3, c'est-à-dire, p - 9 (mod 16), 4) b = 4, c'est-à-dire, p =17 (mod 32), Tout élément de rang impair (les carrés 18 de la figure 1) est dans un cycle. Chaque cycle est constitué de tous les éléments de même rang impair. Pour chaque nombre x égal à ou divisant (p l)/2b, il y a un cycle de cp(x) éléments de rang x où (p(x) est le nombre de nombres positifs, inférieurs à x et premiers avec x. La fonction élever à la puissance s = (p 1+2b)/2b+i convertit tout élément d'un cycle, c'est-à-dire, de rang impair, en sa racine carrée dans le cycle, c'est-à-dire, de même rang. En effet, 2 x s -1 = (p l)/2b. Par définition, par rapport à un nombre premier p, on dit qu'un nombre a, non-multiple de p, est un résidu quadratique ou un non-résidu quadratique selon que l'équation x2 - a mod p a des solutions ou pas. Dans le corps des entiers mod p, (p l)/2 éléments sont des non-résidus quadratiques, à savoir les éléments primitifs définis précédemment, et (p 1)/2 éléments sont des résidus quadratiques. Tout élément de rang pair est dans une branche. Une branche est attachée à chaque élément de rang impair (les carrés 18 de la figure 1). Il y a (p l)/2b branches, toutes semblables. Chaque noeud (les carrés 20 de la figure 1) est un résidu quadratique de rang pair. Chaque feuille (les ronds 22 de la figure 1) est un élément primitif (non-résidu quadratique). Chaque branche comprend 2b 1 éléments dont 21-1 feuilles, soit une longueur b. La fonction élever à la puissance (p 1)/2b convertit n'importe quel élément primitif w en un élément co dont les puissances successives sont les 2b racines en x de l'équation x Y - 1 mod p avec y = 2b. L'ensemble de ces 2b racines, c'est-à-dire, {pour i de 1 à 2b, col mod p}, forme un groupe multiplicatif connu sous le nom de "groupe de Sylow". Dans le graphe, c'est le point fixe 1 et la branche qui y est rattachée. Dans le corps des entiers mod p, n'importe quel élément non-nul s'écrit de manière unique comme le produit (et le quotient) d'une des 2b racines en x de l'équation x3r = 1 mod p avec y = 2b par un élément de rang impair. La fonction élever à la puissance (p 1)/2b convertit tout élément non-nul, dénoté a, en la racine, dénotée a, qui lui est ainsi associée de manière unique. Symboles de Legendre et de Jacobi Par définition, le symbole de Legendre d'un nombre a positif par rapport à un nombre p premier est égal à a(P-- '2 mod p. Sa valeur est 0 pour les multiples de p. Pour les non-multiples de p, sa valeur est +1 ou -1 selon que l'équation x2::-- a mod p a des solutions ou pas, c'est-à-dire, selon que le nombre a, nonmultiple de p, est un résidu quadratique ou un non-résidu quadratique par rapport à p: Par définition, le symbole de Jacobi par rapport à un nombre composé n est le produit des symboles de Legendre par rapport à chaque facteur premier de n, en répétant les symboles de Legendre pour les facteurs premiers qui se répètent. Si le symbole de Jacobi du nombre a par rapport au nombre n vaut -1, alors l'équation x2 - a mod n n'a pas de solution. L'inverse n'est pas vrai. Chacun de ces symboles peut se calculer efficacement sans exponentielle et sans les facteurs premiers, en utilisant la loi de réciprocité quadratique . Rappels sur la technologie RSA Chaque instance de la technologie RSA utilise un module n, produit de deux grands facteurs premiers distincts pi et p2. Un nombre e est valide comme exposant RSA lorsqu'il est premier avec pl -1 et p2 -1. C'est le critère de validité de l'exposant RSA . La technologie RSA est asymétrique en ce sens qu'elle met en oeuvre une paire de clés . Une clé RSA publique comprend un exposant et un module, couramment dénotés (e, n). Une clé RSA privée comprend un exposant et un module, couramment dénotés (d, n). 2865590 7 Lorsque l'exposant e est premier avec pi -1, la fonction élever à la puissance e mod p. ne change pas le rang des éléments. Les éléments (de rang impair) de chaque cycle de la fonction élever au carré mod pi se retrouvent permutés dans un cycle de la fonction élever à la puissance e mod pi . Chaque élément (de rang pair) de n'importe quelle branche attachée à un cycle de la fonction élever au carré se retrouve dans un cycle de la fonction élever à la puissance e , déduit du cycle des éléments de rang impair par multiplication par l'une des 2bi 1 racines de rang pair en x de l'équation x'' = 1 mod pj avec y = 2b'. En particulier, la branche de la fonction élever au carré attachée à l'unité se transforme en 2b' 1 points fixes de la fonction élever à la puissance e . Pour tout nombre di tel que pi -1 divise e x di -1, la fonction élever à la puissance di mod pi inverse la fonction élever à la puissance e mod pi . L'anneau des entiers mod n est le produit du corps des entiers mod pi par le corps des entiers mod p2. La fonction élever à la puissance e mod n permute l'anneau des entiers mod n. C'est la permutation RSA. La permutation RSA s'inverse par une autre fonction puissance, la fonction élever à la puissance d mod n . Les nombres e et d sont liés. En effet, d est le plus petit nombre positif tel que pl -1 et p2 -1 divisent e x d 1, c'est- à-dire, e x d -1 est un multiple du plus petit commun multiple de pi -1 et p2 -1. e x d = 1 mod ppcm(p1 -1, p2 -1) Une clé RSA privée se représente encore par cinq nombres, à savoir des facteurs premiers pl et P2, des exposants dl et d2 (di est le nombre positif inférieur à pi tel que pi -1 divise e x di -1) et un reste chinois Cr (Cr est le nombre positif inférieur à pl tel que pi ( La représentation chinoise est la plus couramment utilisée. Pour inverser la permutation RSA, on calcule une composante Xi dans chaque corps en élevant à la puissance di mod pi . Puis, on convertit les 2865590 8 composantes Xi et X2 en un résultat X dans l'anneau des entiers mod n en faisant appel au reste chinois. z=Crx (Xi X2)modpi X = z x p2+X2 La technologie RSA offre des services d'intégrité et de confidentialité. L'exposant privé d est, selon le service, utilisé pour signer ou pour déchiffrer. L'exposant public e est, selon le service, utilisé pour vérifier ou pour chiffrer. Rappels sur la version classique de la technologie GQ2 Outre un module n, produit de f grands facteurs premiers pi à pf dont deux au moins sont distincts, chaque instance de la technologie GQ2 utilise un paramètre de sécurité k > 1 et un ou plusieurs nombres de base gi à g,,. Le paramètre de sécurité k fixe un exposant v = 2k. Chaque nombre de base g; > 1 fixe un nombre public G; = gi2. Chaque paire de nombres GQ2, à savoir un nombre public G; et un nombre privé Qi, vérifie une équation, directe ou inverse, régie par l'exposant v et le module n. GQ;"modn ou G,x Q; 1 mod n La technologie GQ2 est également asymétrique . Elle met en uvre une paire de clés . Une clé GQ2 publique classique comprend un paramètre de sécurité k, un ou plusieurs nombres de base gi à g,,, et un module n. Une clé GQ2 privée classique comprend un paramètre de sécurité k, un ou plusieurs nombres privés Qi à Qm, et un module n. Outre un paramètre de sécurité k, une clé GQ2 privée classique se représente encore par f x (m+2) -1 nombres, à savoir des facteurs premiers pi à pf, des restes chinois Cri à Crf i, et des composantes privées Qi,i à Qm,f (telles que Q;,j = Q, mod pi). Cette représentation chinoise est la plus couramment utilisée. Protocole GQ2 classique Un défi d comporte k 1 bits par nombre de base. Il se représente par m 2865590 9 nombres notés dl à dm. Chaque nombre d; comporte k 1 bits, du bit de poids fort d;,1 au bit de poids faible d;,k. Appelée témoin GQ2 , une première structure de calcul utilise une clé GQ2 privée et la protège. A chaque mise en oeuvre, le témoin tire au hasard un aléa ri par facteur premier pi. Pour chaque facteur premier pi, le témoin effectue essentiellement k carrés successifs pour convertir chaque aléa ri en une composante d'engagement Tj. Ti = r k mod pi (1) Puis, par. composition chinoise, le témoin convertit les composantes Tl à Tf en engagement T. Pour chaque facteur premier pi, le témoin entrelace k 1 opérations multiplicatives avec k 2 carrés à partir de 1 comme nombre de départ. Pour ii de 1 à k 1, la ii-ième opération multiplicative consiste, pour i de 1 à m, à multiplier ou pas le nombre courant par Q,,j mod n selon que le bit d;,;; vaut 1 ou 0. Enfin, par une ultime multiplication par l'aléa le témoin obtient la composante de réponse Di. Puis, il efface l'aléa ri. Le témoin effectue en tout k 2 carrés et en moyenne (k 1) x m / 2 multiplications. m Di =ri xHQd modpl (2) Puis, par composition chinoise, le témoin convertit les composantes DI à Df en réponse D. Appelée contrôleur GQ2 , une autre structure de calcul dispose d'une clé GQ2 publique. Le contrôleur rétablit un engagement T' à partir de n'importe quelle réponse D et de n'importe quel défi d. Il entrelace k carrés avec k 1 opérations élémentaires. Pour ii de 1 à k 1, la ii-ième opération élémentaire suit le iiième carré; elle consiste, pour i de 1 à m, à multiplier ou pas mod n le résultat courant par g; selon que le bit d;,;; vaut 1 ou O. T'= D" x HGd' mod n i=1 (3) Un triplet GQ2 comprend un engagement (un nombre T positif et inférieur à n), un défi (une chaîne d de (k 1) x m bits) et une réponse (un nombre D positif et inférieur à n), notés {T, d, D} . Il y a deux modes de production de triplets GQ2. En mode privé , le témoin GQ2 produit des triplets GQ2 au hasard à partir de n'importe quel aléa positif et inférieur à n. Il calcule d'abord un engagement T selon une formule d'engagement (1), puis, une réponse D à n'importe quel défi d selon une formule de réponse (2). En mode public , le contrôleur GQ2 transforme n'importe quelle réponse D et n'importe quel défi d en un engagement T selon une formule de contrôle (3). N'importe qui peut ainsi produire des triplets GQ2 au hasard. Etant donné un ensemble de triplets produits au hasard, on ne sait pas en distinguer le mode de production, public ou privé, avec une probabilité sensiblement différente de une chance sur deux. Si les aléas et les réponses sont de rang impair, alors l'ensemble des triplets GQ2 forme une famille de d permutations (le défi d indice les permutations) de l'ensemble des éléments de rang impair de l'anneau des entiers mod n. Flexible et ajustable aux besoins de l'application, le protocole peut se répéter en parallèle ou en série. Un paramètre de répétition t complète le paramètre de sécurité k et le paramètre de multiplicité m. Le produit (k 1) x m x t prend une valeur typique de 1 à 40 pour authentifier et de 80 ou plus pour signer. Pour authentifier un message M, on émet le code de hachage h(T II M) au 25 lieu de l'engagement T. Pour signer un message M, au lieu de tirer le défi d au hasard, on utilise h(T Il M). Exemple de construction d'un jeu classique de clés GQ2 à équivalence évidente Voici une construction de jeu de clés GQ2 classique. Les m nombres de base sont les m premiers nombres premiers, c'est-à-dire, g1= 2, g2 = 3, g3 = 5, g4 = 7, g5 = 11, g6 = 13, g, = 17, g8 = 19, et ainsi de suite. Les deux grands facteurs premiers sont congrus à 3 mod 4, et tels qu'il y a au moins un nombre de base gi dont les symboles de Legendre par rapport à pi et p2 sont différents, c'est-à-dire, (gi I pl) = (gi I p2). Au moins une des m premières conditions suivantes est remplie. 1) Un facteur premier est congru à 3 mod 8 et l'autre à 7 mod 8. 2) Un facteur premier est congru à 1 mod 3 et l'autre à 2 mod 3. 3) Un facteur premier est congru à 1 mod 5 et l'autre à 2 mod 5. 4) Un facteur premier est congru à {1, 2, 4} mod 7 et l'autre à {3, 5, 6} mod 7. 5) Un facteur premier est congru à { 1, 3, 4, 5, 9} mod I l et l'autre à {2, 6, 7, 8, 10) mod 11. 6) Un facteur premier est congru à { 1, 3, 41 mod 13 et l'autre à { 2, 5, 6) mod 13. Et ainsi de suite. Comme pi et p2 sont congrus à 3 mod 4, chaque nombre public Gi = g12 est sur un cycle pour pl et sur un cycle pour p2, c'est-à-dire que Gi est de rang impair dans les deux corps dont le produit forme l'anneau des entiers mod n. Alors, le critère de validité du nombre de base GQ2 est satisfait systématiquement. Quelles que soient les valeurs du paramètre de sécurité k et du nombre de base gi, il existe un nombre privé Qi. Une séquence de k 1 carrés modulaires convertit le nombre Qi en un nombre yi. Dans l'anneau des entiers mod n, le nombre yi est un carré et le nombre Fi = yi / gi ou yi x gi (selon que l'équation GQ2 est directe ou inverse) est une racine carrée de l'unité, c'est-à-dire, n divise rit 1. Il y a au moins un nombre de base g pour lequel les symboles de Legendre par rapport à pi et p2 diffèrent, c'est-à-dire, (g 1 pl) = (g { p2). Les symboles de Jacobi par rapport au module n sont ( g I n) = -1; ni g ni g ne sont des carrés dans l'anneau des entiers mod n. Le nombre F vaut -1 mod l'un des facteurs premiers et +1 mod l'autre. Alors qu'il divise F2 1, le 2865590 12 module n ne divise ni F+1, ni F-1. Le nombre F est différent de 1. C'est une racine carrée non-triviale de l'unité dans l'anneau. Le jeu de clés GQ2 est équivalent à la factorisation du module n parce que la connaissance du nombre privé Q induit la connaissance d'une décomposition non-triviale du module n, à savoir n = pgcd(F+l, n) x pgcd(I'-1, n). Si le module n est congru à 1 mod 4 et si le symbole de Jacobi d'au moins un nombre de base g, par rapport à n vaut -1, c'est-à-dire, (g; 1 n) _ -1, alors l'équivalence du jeu de clés GQ2 avec le problème de la factorisation du module n est évidente . Au moins une des m premières conditions suivantes est remplie. 1) Le module est congru à 5 mod 8. 2) Le module est congru à 1 mod 4 et à 2 mod 3. 3) Le module est congru à 1 mod 4 et à 2 mod 5. 4) Le module est congru à 1 mod 4 et à {3, 5, 6} mod 7. 5) Le module est congru à 1 mod 4 et à {2, 6, 7, 8, 10} mod 11. 6) Le module est congru à 1 mod 4 et à { 2, 5, 6} mod 13. 7) Le module est congru à 1 mod 4 et à { 3, 5, 6, 7} mod 17. 8) Le module est congru à 1 mod 4 et à {2, 3, 8, 10, 12, 13, 14, 15, 18} mod 19. Et ainsi de suite. Si l'authentification GQ2 réussit, il y a deux interprétations. Ou bien avec une probabilité limitée à une chance sur le nombre total de défis possibles, le contrôleur a affaire à une entité qui a deviné le défi. Ou bien avec la probabilité complémentaire, le contrôleur a affaire à un témoin qui connaît les nombres privés ce qui revient à connaître une décomposition non-triviale du module n. Un observateur ne sait pas distinguer les deux situations suivantes, d'une part, un protocole honnête se déroulant entre un contrôleur et un témoin, et d'autre part, une interaction entre deux entités qui ont convenu à l'avance d'un défi ou d'une séquence de défis. L'interaction simulée ne révèle rien sur la factorisation du module n qui est le secret sous-jacent. Par conséquent, le protocole honnête ne révèle rien non plus. 2865590 13 Solution Procédé L'invention concerne un procédé pour établir un jeu de clés se présentant sous la forme de m couples de valeurs privées Qi, Q2, ... Q,, et publiques Gl, G2, ... Gm ou de paramètre dérivés de composantes privées Q;,; des valeurs privées Q. Le jeu de clés est établi à partir: - de f grands facteurs premiers pi, P2, ... pf de plusieurs centaines de bits, f est supérieur ou égal à 2, et/ou - de m nombres de base entiers gi, g2, ... gm. Le jeu de clés est utilisé dans un protocole destiné à prouver à une entité contrôleur, - l'authenticité d'une entité, et/ou - l'intégrité d'un message M associé à cette entité. Le protocole met en oeuvre un module public n constitué par le produit des f facteurs premiers pi, P2, ... pf et/ou les f facteurs premiers. Le module n et les valeurs privées et publiques sont liés par des relations du type: G;xQ,"=1modnouGiQ;"modn v désignant un exposant public de la forme: v=2k où k est un paramètre de sécurité plus grand que 1. Chaque valeur publique G; s'exprime sous la forme du a; ième carré du nombre de base g; , où a, désigne un paramètre d'ajustement du nombre de base g; par rapport au module n respectant la condition selon laquelle au moins un des paramètres d'ajustement a; est supérieur à 1. Le procédé comprend les étapes suivantes: - l'étape de déterminer le paramètre d'ajustement a; de telle sorte que chaque valeur publique G; soit de rang impair par rapport à chaque facteur premier pi, P2, ... Pf, l'étape de calculer les valeurs privées Q, ou les paramètres dérivés des 2865590 14 composantes privées Qu des valeurs privées Q. à partir des valeurs publiques G; ainsi déterminées. De préférence, selon l'invention, le procédé est tel que le paramètre d'ajustement a; est le même pour tous les gj. De préférence, selon l'invention, le procédé est tel que le paramètre d'ajustement a; est égal à une valeur entière c; relative au nombre de base g;. La valeur c, est la plus petite valeur entière telle que le c; ième carré de g; soit de rang impair par rapport à chaque facteur premier pl, p2, ... pf,. La valeur entière c; est nulle dans le cas où le nombre de base g; est de rang impair par rapport à chaque facteur premier pi, p2, ... Pf. De préférence, selon l'invention, le procédé est tel que le paramètre d'ajustement a; est égal à une valeur entière c. La valeur c est la plus petite valeur entière c telle que le c - ième carré de chaque g; soit de rang impair par rapport à chaque facteur premier pi, p2, ... pf,. La valeur entière c est nulle dans le cas où chaque nombre de base g; est de rang impair par rapport à chaque facteur premier pi, p2, ... pf. De préférence, selon l'invention, le procédé est plus particulièrement conçu pour satisfaire à un critère d'équivalence. Le procédé comprend les étapes suivantes: - l'étape d'associer directement ou indirectement à une combinaison multiplicative d'un ou plusieurs nombres de base gi, g2, ... gm un indicateur, - l'étape de former une fonction de l'indicateur, notamment les valeurs des carrés successifs de l'indicateur dans l'anneau des entiers modulo le module public n, permettant de sélectionner une combinaison satisfaisant au critère d'équivalence. On peut ainsi déterminer un jeu de clés satisfaisant au critère d'équivalence (i) à partir des nombres de base de la combinaison ainsi sélectionnée et/ou (ii) à partir d'un jeu de nombres de base comprend les nombres de bases de la combinaison sélectionnée. De préférence, selon l'invention, l'indicateur figurant parmi les 2b'+ ... +br racines en x de l'équation x' = 1 mod n avec y = 2max(b1 à bf) où les longueurs b1, b2, ... bf sont déterminées à partir de l'ensemble des f facteurs premiers pi, p2, ... pf de telle sorte que pi 1 soit un multiple de 2b', mais pas un multiple de 2b'+' De préférence, selon l'invention, l'indicateur est déterminé à partir de composantes d'indicateur. Une composante d'indicateur est obtenue en élevant la combinaison multiplicative à la puissance (p; -1)/2b' dans le corps des entiers modulo pi. A chaque combinaison multiplicative on peut ainsi associer un indicateur. Selon une première variante préférée de l'invention, le procédé comprend l'étape de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers tel que l'ensemble satisfasse un critère d'équivalence. Selon une seconde variante préférée de l'invention, le procédé comprend l'étape de sélectionner un ensemble composé des m premiers nombres premiers tel que l'ensemble satisfasse un critère d'équivalence. Selon une troisième variante préférée de l'invention, le procédé comprend l'étape de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers. Système L'invention concerne également un système pour établir un jeu de clés se présentant sous la forme de m couples de valeurs privées QI, Q2, . Q. et publiques G1, G2, ... Gm ou de paramètre dérivés de composantesprivées Q; ,i des valeurs privées Q1. Le jeu de clés est établi à partir: - de f grands facteurs premiers pl, p2, ... pf de plusieurs centaines de bits, f est supérieur ou égal à 1, et/ou - de m nombres de base entiers g1, g2, ... gm...DTD: 2865590 16 Le jeu de clés est utilisé dans un protocole destiné à prouver à une entité contrôleur, - l'authenticité d'une entité, et/ou - l'intégrité d'un message M associé à cette entité. Le protocole met en oeuvre un module public n constitué par le produit des f facteurs premiers pl, p2, ... pf et/ou les f facteurs premiers. Le module n et les valeurs privées et publiques sont liés par des relations du type: G. Q;"=1modnouG;=Q;"modn v désignant un exposant public de la forme: v=2k où k est un paramètre de sécurité plus grand que 1. Chaque valeur publique G; s'exprime sous la forme du a; ième carré du nombre de base g; , où a; désigne un paramètre d'ajustement du nombre de base g; par rapport au module n respectant la condition selon laquelle au moins un des paramètres d'ajustement a; est supérieur à 1. Le système comprend: - des premiers moyens de traitement informatique, se présentant notamment sous la forme d'un équipement informatique tel qu'un calculateur numérique et/ou un microprocesseur situé dans une carte à puce, pour déterminer le paramètre d'ajustement a; de telle sorte que chaque valeur publique G. soit de rang impair par rapport à chaque facteur premier pl, p2, pf, - des seconds moyens de traitement informatique, notamment les premiers moyens de traitement informatique, pour calculer les valeurs privées Q; ou les paramètres dérivés des composantes privées Q.J des valeurs privées Q; à partir des valeurs publiques G; ainsi déterminées. De préférence, selon l'invention, le système est tel que le paramètre d'ajustement a; est le même pour tous les g;. De préférence, selon l'invention, le système est tel que le paramètre 2865590 17 d'ajustement ai est égal à une valeur entière ci relative au nombre de base gi. La valeur entière ci est nulle dans le cas où le nombre de base gi est de rang impair par rapport à chaque facteur premier pi, p2, ÉÉÉ pf. Le système comprend en outre: - des troisièmes moyens de traitement informatique, notamment les premiers moyens de traitement informatique pour déterminer la plus petite valeur entière ci telle que le ci - ième carré de gi soit de rang impair par rapport à chaque facteur premier pi, P2, ... pf. De préférence, selon l'invention, le système est tel que le paramètre d'ajustement ai est égal à une valeur entière c. La valeur entière c est nulle dans le cas où chaque nombre de base gi est de rang impair par rapport à chaque facteur premier pi, p2, ... pf. Le système comprend en outre: - des troisièmes moyens de traitement informatique, notamment les premiers moyens de traitement informatique pour déterminer la plus petite valeur entière c telle que le c - ième carré de chaque gi soit de rang impair par rapport à chaque facteur premier pi, p2, ... pf,É De préférence, selon l'invention, le système est plus particulièrement conçu pour satisfaire à un critère d'équivalence. Le système comprend des quatrièmes moyens de traitement informatique, notamment les premiers moyens de traitement informatique: - pour associer un indicateur, directement ou indirectement, à une combinaison multiplicative d'un ou plusieurs nombres de base gi, g2, ... g., - pour former une fonction de l'indicateur, notamment les valeurs des carrés successifs de l'indicateur dans l'anneau des entiers modulo le module public n, permettant de sélectionner une combinaison satisfaisant au critère d'équivalence. On peut ainsi déterminer un jeu de clés satisfaisant au critère d'équivalence (i) à partir des nombres de base de la combinaison ainsi sélectionnée et/ou (ii) à partir d'un jeu de nombres de base comprend les nombres de bases de 2865590 18 la combinaison sélectionnée. De préférence, selon l'invention, l'indicateur figurant parmi les 2b1+ ... +bf racines en x de l'équation xY = 1 mod n avec y = 2roax(bi à bfj où les longueurs b1, b2, ... bf sont déterminées à partir de l'ensemble des f facteurs premiers pl, p2, ... pf de telle sorte que pi 1 soit un multiple de 2b', mais pas un multiple de 2b'+1 De préférence, selon l'invention, les quatrièmes moyens de traitement informatique permettant de déterminer l'indicateur à partir de composantes d'indicateur obtenues en élevant la combinaison multiplicative à la puissance (pi -1)/2b' dans le corps des entiers modulo pi,. Ainsi à chaque combinaison multiplicative on peut associer un indicateur. Selon une première variante préférée de l'invention, le premier moyen de traitement informatique permettant de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers. L'ensemble satisfaisant un critère d'équivalence. Selon une seconde variante préférée de l'invention, le premier moyen de traitement informatique permettant de sélectionner un ensemble composé des m premiers nombres premiers. L'ensemble satisfaisant un critère d'équivalence. Selon une troisième variante préférée de l'invention, le premier moyen de traitement informatique permettant de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers. Description détaillée D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description de variantes de réalisation de l'invention, données à titre d'exemple indicatif et non limitatif, et des figures cijointes sur lesquelles: - la figure 1, déjà décrite, représente des graphes orientés relatifs à la fonction "élever au carré" dans le corps des entiers modulo p, la figure 2 illustre des nombres g;, G, et la valeur Q;,i définis selon 2865590 19 une réalisation de l'invention, - la figure 3 illustre l'ensemble des positions possibles pour une composante privée Q;,i dans le graphe d'une fonction "élever au carré modulo pi", et la figure 4 est une vue schématique d'un système selon l'invention. Paramètre d'ajustement Rappelons que le module n est le produit de f grands facteurs premiers pl à pf dont au moins deux sont distincts. Dès lors qu'au moins un grand facteur premier de pl à pf est congru à 1 mod 4, la version classique de GQ2, c'est-à-dire, G; = g2, n'assure plus systématiquement le critère de validité du nombre de base GQ2. Notre solution au problème posé fait appel aux nombres suivants. Pour chaque grand facteur premier pi, un nombre bi est défini de sorte que pi -1 est divisible bi fois par 2, mais pas bÉ +1 fois. En d'autres termes, le nombre bi est le nombre de bits à zéro en poids faible de la représentation binaire du nombre pi -1. Dans l'anneau des entiers mod n, à toute combinaison multiplicative de nombres de base, on associe un nombre z figurant parmi les 2b1+ ... +bf racines en x de l'équation xY = 1 mod n avec y = 2'0'1 à bf). Dans chaque corps des entiers mod pi, de pi à pf, ce nombre z se présente en une composante zz obtenue en appliquant la fonction élever à la puissance (pi -1)/2b' mod pi à la combinaison. Dans l'anneau des entiers mod n, la position du nombre de base g; est un nombre c; qui prend une valeur de 0 à b = max(bl à bf). C'est le plus petit nombre tel que le c;-ième carré modulaire de g; est de rang impair par rapport à chaque facteur premier pi à pf, c'est-à-dire, 0 si c'est g;, 1 si c'est le carré de g;, 2 si c'est le deuxième carré de g;, et ainsi de suite, jusqu'à b si c'est le b-ième carré de g;. En d'autres termes, la position c; est le rang 2865590 20 d'apparition de 1 dans la suite des carrés modulaires du nombre z associé au nombre de base g;, c'est-à-dire, 0 si z = 1, 1 si z2 = 1, 2 si z4 = 1, jusqu'à b si le b-ième carré modulaire de z vaut 1. Dans l'anneau des entiers mod n, la position d'ensemble des nombres de 5 base gl à gm est la plus grande position de et à cm, dénotée c. Le nombre c est inférieur ou égal à b = max(bl à bf). c = max(cl, c2, ... cm) Pour satisfaire systématiquement le critère de validité du nombre de base, pour chaque nombre de base gi, nous introduisons un paramètre d'ajustement dénoté a;. Le nombre public G; est le aï ième carré du nombre de base gi, de sorte que chaque nombre public G;, de Gl à Gm, soit de rang impair par rapport à chaque facteur premier, de pl à pf. G, = gpe; Voici deux solutions que nous allons analyser très soigneusement. La première solution utilise un paramètre d'ajustement par nombre de base. Pour le nombre de base gi, la valeur minimum est la position spécifique c;. Il n'y a pas d'intérêt à un paramètre d'ajustement a; supérieur ou égal à c;. Le nombre public G'; est le nombre de base g; si c, est nul ou bien le c; ième carré de g; si c; est positif. G,! =gr La première solution se distingue de la solution classique dès lors qu'au moins un des nombres publics G'; n'est pas le carré du nombre de base gi, c'est-à-dire, qu'au moins un des paramètres d'ajustement est différent de 1. La seconde solution utilise le même paramètre d'ajustement pour l'ensemble des nombres de base. La valeur minimum est la position d'ensemble c = max(cl, c2, ... cm). Il n'y a pas d'intérêt à un paramètre d'ajustement a; plus grand que c. Le nombre public G"; est le c-ième carré du nombre de base glÉ 2865590 21 G,, i La seconde solution se distingue de la solution classique dès lors que le nombre c est plus grand que 1, ce qui implique qu'au moins un des grands facteurs premiers pl à pf est congru à 1 mod 4. La figure 2 illustre les différents nombres gi, Gi et Qi,y dans un corps avec b; = 3, c'est-à-dire, pi = 9 mod 16, ainsi que ci,j= 2, et ai = 3. Le nombre (((k 3)-ième carré de Qi,j) / ou x gi) est une racine carrée de -1. Le nombre (((k 2)-ième carré de Qi,j) / ou x gi2) est égal à -1. Les nombres (((k 1)-ième carré de Qu) / ou x gi4) et (Gi / ou x gis) sont 10 tous les deux égaux à 1. Le paramètre de sécurité k fixe un exposant v = 2k. Chaque facteur premier pÉ détermine un nombre uu égal au plus petit nombre positif tel que (pi -1) / 2b' divise v x uj -1 ou v x uj +1 selon que l'équation GQ2 est directe ou inverse. Dans le corps des entiers mod pj, la fonction élever à la puissance uj convertit chaque nombre public Gi (de rang impair) en sa racine v-ième de rang impair. Q;,i (de rang impair) = mod pi Dans le graphe de la fonction élever au carré mod pi , la figure 3 illustre l'ensemble des positions de la composante privée Q,,j, c'est-à-dire, l'ensemble des racines 2k-ièmes du nombre public Gi (de rang impair), à savoir, d'abord, la valeur de rang impair, puis, son produit par -1, puis, son produit par les deux racines carrées de -1, puis, son produit par les quatre racines quatrièmes de -1, et ainsi de suite. Toutefois, sans perte de généralité, on peut limiter la valeur de chaque composante privée, de Qi,l à Q.,f, à la valeur de rang impair dans le corps des entiers, de mod pi à mod pf. L'implémentation la plus simple, c'est-à-dire, la meilleure, utilise seulement les valeurs de rang impair. Le nombre public Gi, c'est-à-dire, le aï ième carré du nombre dé base gi, et le nombre privé Qi, c'est-à-dire, le nombre obtenu par composition chinoise 2865590 22 des composantes privées Q1,1 à Q1,f, forment ensemble une paire de nombres. Chaque paire de nombres vérifie une équation GQ2, directe ou inverse, régie par l'exposant v = 2k et le module n. G1= Q;' modn ou G1 x Q1" =1 mod n Pour analyser l'équivalence du jeu de clés avec le problème de la factorisation, nous introduisons un indicateur et une fonction de l'indicateur permettant d'établir un critère pratique pour déterminer si une combinaison satisfait ou non le critère d'équivalence avec le problème de la factorisation du module. Le critère absolu pour assurer l'équivalence consiste à vérifier que parmi toutes les combinaisons multiplicatives des nombres de base, de gl à g., il y a au moins une combinaison pour laquelle les carrés modulaires successifs du nombre z passent à +1 sans passer par -1. Alors, le prédécesseur de +1 est une racine carrée non-triviale de l'unité dans l'anneau, ce qui assure qu'une décomposition non-triviale du module n se déduit des nombres privés QI à (ln. Le nombre z fait alors figure d'indicateur et la valeur du prédécesseur de +1 est la fonction de l'indicateur . Le critère "simplifié" consiste à vérifier que parmi les nombres de base gl à g., il y a au moins un nombre de base g1 pour lequel le (cj l)-ième carré de z, dans l'anneau ne vaut pas -1. Pour un nombre de base g1 et deux facteurs premiers pl et P2, le critère minimal est le suivant. Si b1 = b2, les symboles de Legendre sont différents, c'est-à-dire, (gi I pl)-- (g1 ( P2). Si b1 > b2, le symbole de Legendre par rapport à pi vaut -1, c'est-à-dire, (gi Pl)= -1. Si bl Le symbole de Legendre fait alors figure d'indicateur et les règles 2865590 23 précédentes font figure de fonction de l'indicateur . Pour deux grands facteurs premiers produits au hasard, chacun des premiers nombres premiers a au moins une chance sur deux de satisfaire le critère absolu, et exactement une chance sur deux de satisfaire le critère minimal. Il y a plusieurs stratégies possibles pour choisir les nombres de base. Voici trois exemples. On peut examiner les 54 premiers nombres premiers sachant que le 54-ième est 251 (il y a 54 nombres premiers s'écrivant sur un octet) et en retenir m en minimisant la valeur maximum des positions de et à cm tout en assurant le critère d'équivalence On peut prendre systématiquement les m premiers nombres premiers comme nombres de base, c'est-à-dire, gl = 2, g2 = 3, g3 = 5, g4 = 7, g5 = 11, et ainsi de suite. Si le critère d'équivalence n'est pas rempli, on retire un nouveau jeu de grands facteurs premiers. On peut prendre systématiquement les m premiers nombres premiers comme nombres de base, c'est-à-dire, gl = 2, g2 = 3, g3 = 5, g4 = 7, g5 = 11, et ainsi de suite. Même si certains jeux de clés GQ2 ne sont pas équivalents, le monde extérieur ne sait pas les distinguer. La proportion des jeux non-équivalents est alors bornée par 1/2m, par exemple, moins d'un sur 65536 en prenant les seize premiers nombres premiers sachant que le seizième est 53 (il y a seize nombres premiers s'écrivant sur 6 bits ou moins). Protocole de la première solution Le défi comporte k' c, bits pour le nombre de base g;. Pour que le protocole puisse utiliser chaque nombre de base g;, le paramètre de sécurité k' doit être plus grand que le paramètre d'ajustement c;, ce qui implique que le paramètre de sécurité k' doit être plus grand que c, le plus grand nombre de et à cm. Au coeur du dispositif de calcul GQ2, un témoin GQ2 protège et utilise 2865590 24 une clé GQ2 privée. Selon cette première solution, une clé GQ2 privée comprend un paramètre de sécurité k', des paramètres d'ajustement ci à cm, des nombres privés Qi à Qm, et un module n. Alternativement, en représentation chinoise , outre un paramètre de sécurité et des paramètres d'ajustement, une clé GQ2 privée comprend des composantes privées Ql,l à Qm,f, des facteurs premiers pi à pf et des restes chinois Cri à Crf_l. En mode privé , le témoin GQ2 produit des triplets GQ2 au hasard, c'est-à-dire, à partir d'un aléa r ou de composantes d'aléas de ri à rf, d'abord un engagement T (un nombre positif et inférieur à n) selon une formule d'engagement (4), puis, une réponse D (un nombre positif et inférieur à n) à n'importe quel défi d (une chaîne de m x k' ci... cm bits) selon une formule de réponse. Ou bien (4). T = r mod p 1 1 1 T = rv mod p 2 2 2 z=Crx (Ti T2)modpi T=zxp2+T2 Ou bien (5) T=r mod n m d D =r xJQi modp 1 1 i_1 i,l 1 D = r x f[ Q i mod p 2 2 i-1 i,2 2 z =Crx (Di D2) mod pi D=zxp2+D2 Ou bien d D = r x f Q i mod n A entro 1 de défi constante, la formule d'engagement (4) implique c 1 carrés de plus que GQ2 classique. Un contrôleur GQ2 utilise une clé GQ2 publique. Selon cette première 20 2865590 25 solution, outre un module n, une clé GQ2 publique comprend un paramètre de sécurité k' et des nombres de base gl à gm, chacun associé à une position et à cm. En mode public , le contrôleur GQ2 produit des triplets GQ2, c'est-àdire, transforme n'importe quelle réponse D (un nombre positif et inférieur à n) et n'importe quel défi d (une chaîne de m x k' et... cm bits) en un engagement T' (un nombre positif et inférieur à n) selon une formule de contrôle (6). d T' = D x n G 1 mod n (6) 1=1 La formule de contrôle (6) convertit la réponse D en un engagement rétabli T'. Le contrôleur commence par alterner des carrés avec des opérations élémentaires. La j-ième opération élémentaire suit le j-ième carré; pour i allant de 1 à m, le bit du indique si le résultat courant doit être multiplié ou pas par gi mod n. A entropie de défi constante, la première solution implique c 1 carrés de plus que GQ2 classique. Protocole de la seconde solution Le défi comporte k" c bits par nombre de base. Pour que le protocole fonctionne, le paramètre de sécurité k" doit être plus grand que le paramètre d'ajustement c. Au coeur du dispositif de calcul GQ2, un témoin GQ2 protège et utilise une clé GQ2 privée. Selon cette seconde solution, une clé GQ2 privée comprend un paramètre d'ajustement c, un paramètre de sécurité k" plus grand que c, des nombres privés QI à Qm et un module n. Alternativement, en représentation chinoise , outre le paramètre d'ajustement et le paramètre de sécurité, une clé GQ2 privée comprend des composantes privées Ql,l à Qm,f, des facteurs premiers pl à pf et des restes chinois Cr1 à Crr-i 2865590 26 En mode privé , le témoin GQ2 produit des triplets GQ2 au hasard, c'est-à-dire, à partir d'un aléa r ou de composantes d'aléas de r1 à rf, d'abord un engagement T (un nombre positif et inférieur à n) selon une formule d'engagement (7), puis, une réponse D (un nombre positif et inférieur à n) à n'importe quel défi d (une chaîne de m x (k" c) bits) selon une formule de réponse (8). T1 = r1' mod p1 T2 = r2 mod p2 puis, z=Crx(T1 T2)modp1 T=zxp2+T2 (7) Ou bien T=rvmodn D1 = r1 x fl Qd mod p1 D2 = r2 x fl Qd2 mod p2 i=1 i=1 z = Cr x (D1 D2) mod pl D=zxp2+D2 (8) Ou bien m D=rxfQ," modn i=1 A entropie de défi constante, la formule d'engagement (8) implique c 1 20 carrés de plus que GQ2 classique. Un contrôleur GQ2 utilise une clé GQ2 publique. Selon cette seconde solution, outre un module n, une clé GQ2 publique comprend un paramètre d'ajustement c, un paramètre de sécurité k" et un ou plusieurs nombres de base g1 à g.. En mode public , le contrôleur GQ2 produit des triplets GQ2, c'est-àdire, transforme n'importe quelle réponse D (un nombre positif et inférieur à n) et n'importe quel défi d (une chaîne de m x (k" c) bits) en un engagement T' (un nombre positif et inférieur à n) selon une formule de contrôle (9). T'= D' x fGd' mod n i=1 La formule de contrôle (9) convertit la réponse D en un engagement rétabli T'. Le contrôleur commence par alterner des carrés avec des opérations élémentaires. La j-ième opération élémentaire suit le j-ième carré; pour i allant de 1 à m, le bit dij indique si le résultat courant doit être multiplié ou pas mod n par g'. A entropie de défi constante, la seconde solution implique c 1 carrés de plus que GQ2 classique. Revendications 1. Procédé pour établir un jeu de clés (1) se présentant sous la forme de m couples de valeurs privées QI, Q2, ... Q. et publiques G1, G2, ... G. ou de paramètre dérivés de composantes privées Qu des valeurs privées (2) Q; ; ledit jeu de clés (1) étant établi à partir: - de f grands facteurs premiers pi, P2, ... pf de plusieurs centaines de bits, f étant supérieur ou égal à 2, et/ou - de m nombres de base entiers g1,, g2,, ... gm; io ledit jeu de clés (1) étant utilisé dans un protocole destiné à prouver à une entité contrôleur (7), - l'authenticité d'une entité (8), et/ou l'intégrité d'un message M associé à cette entité (8) ; ledit protocole (5) mettant en oeuvre un module public n constitué par le 15 produit desdits f facteurs premiers (3) Pi, P2, ... pf et/ou lesdits f facteurs premiers (3) ; ledit module n et lesdites valeurs privées (2) et publiques étant liés par des relations du type: G. 1 modnouG;=Q;"modn v désignant un exposant public de la forme: v=2k où k est un paramètre de sécurité plus grand que 1; chaque valeur publique G. s'exprimant sous la forme du a;-ième carré du nombre de base g; , où a; désigne un paramètre d'ajustement du nombre de base g; par rapport au module n respectant la condition selon laquelle au moins un desdits paramètres d'ajustement a; est supérieur à 1; ledit procédé comprenant les étapes suivantes: l'étape de déterminer ledit paramètre d'ajustement a; de telle sorte que chaque valeur publique (10) G; soit de rang impair par rapport à chaque facteur premier pi, Pz, ... pr, - l'étape de calculer lesdites valeurs privées (2) Q; ou lesdits paramètres dérivés des composantes privées Q;J des valeurs privées (2) Qi à partir des valeurs publiques G; ainsi déterminées. 2. Procédé selon la revendication 1; ledit procédé étant tel que ledit paramètre d'ajustement ai est le même pour tous les gi. 3. Procédé selon la revendication 1; ledit procédé étant tel que ledit paramètre d'ajustement ai est égal à une valeur entière c; relative au nombre de base g; ; ladite valeur c; étant la plus petite valeur entière telle que le c; - io ième carré de g; soit de rang impair par rapport à chaque facteur premier pi, P2,Pf 4. Procédé selon la revendication 1; ledit procédé étant tel que ledit paramètre d'ajustement a, est égal à une valeur entière c; ladite valeur c étant la plus petite valeur entière c telle que le c - ième carré de chaque g; soit de rang impair par rapport à chaque facteur premier pi, pz, ... PL 5. Procédé selon l'une quelconque des revendications 1 à 4; ledit procédé étant plus particulièrement conçu pour satisfaire à un critère d'équivalence; ledit procédé comprenant les étapes suivantes: - l'étape d'associer directement ou indirectement à une combinaison 20 multiplicative d'un ou plusieurs nombres de base (4) gz,, ... g,,, un indicateur, - l'étape de former une fonction dudit indicateur (15), notamment les valeurs des carrés successifs dudit indicateur (15) dans l'anneau des entiers modulo le module public n (9), permettant de sélectionner une combinaison satisfaisant au critère d'équivalence; de sorte que l'on peut déterminer un jeu de clés (1) satisfaisant au critère d'équivalence (i) à partir des nombres de base (4) de la combinaison ainsi sélectionnée et/ou (ii) à partir d'un jeu de nombres de base (4) comprenant les nombres de base (4) de la combinaison sélectionnée 6. Procédé selon la revendication 5; ledit indicateur (15) figurant parmi les 2b1+ ... +bf racines en x de l'équation x-y = 1 mod n avec y = 2max(bl à b) où les longueurs b1, b2, ... bf sont déterminées à partir de l'ensemble des f facteurs premiers (3) pl, P2, ... pf de telle sorte que pi 1 soit un multiple de 2b', mais pas un multiple de 2b'+1 7. Procédé selon l'une quelconque des revendications 5 ou 6; ledit indicateur (15) étant déterminé à partir de composantes d'indicateur (15) ; une composante d'indicateur (15) étant obtenue en élevant ladite combinaison multiplicative (17) à la puissance (pi -1)/2b' dans le corps des i o entiers modulo pi, ; de sorte qu'à chaque combinaison multiplicative (17) on peut associer un indicateur (15). 8. Procédé selon l'une quelconque des revendications 1 à 7; ledit procédé comprenant l'étape de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers; ledit ensemble satisfaisant un critère d'équivalence. 9. Procédé selon l'une quelconque des revendications 1 à 7; ledit procédé comprenant l'étape de sélectionner un ensemble composé des m premiers nombres premiers; ledit ensemble satisfaisant un critère 20 d'équivalence. 10. Procédé selon l'une quelconque des revendications 1 à 7; ledit procédé comprenant l'étape de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers. Système 11. Système pour établir un jeu de clés (1) se présentant sous la forme de m couples de valeurs privées (2) QI, Q2, ... Q. et publiques G1, G2, .. . Gm ou de paramètre dérivés de composantes privées Q;,j des valeurs privées (2) QI; ledit jeu de clés (1) étant établi à partir: - de f grands facteurs premiers (3) pi, P2, ... pf de plusieurs centaines de bits, f étant supérieur ou égal à 1, et/ou - de m nombres de base (4) entiers g1,, g2,, g,, ; ledit jeu de clés (1) étant utilisé dans un protocole (5) destiné à prouver à une entité contrôleur (7), l'authenticité d'une entité (8), et/ou - l'intégrité d'un message M associé à cette entité (8) ; ledit protocole (5) mettant en oeuvre un module public n (9) (9) constitué par le produit desdits f facteurs premiers (3) pi, P2, ... pf et/ou lesdits f facteurs premiers (3) ; Io ledit module n et lesdites valeurs privées (2) et publiques étant liés par des relations du type: Gi.Q7 1 modnou Gi Qi"modn v désignant un exposant public de la forme: v=2k ls où k est un paramètre de sécurité plus grand que 1; chaque valeur publique (10) Gi s'exprimant sous la forme du ai-ième carré du nombre de base gi, où ai désigne un paramètre d'ajustement du nombre de base gi par rapport au module n respectant la condition selon laquelle au moins un desdits paramètres d'ajustement ai est supérieur à 1; ledit système comprenant: - des premiers moyens de traitement informatique (11), se présentant notamment sous la forme d'un équipement informatique tel qu'un calculateur numérique et/ou un microprocesseur situé dans une carte à puce, pour déterminer le paramètre d'ajustement ai de telle sorte que chaque valeur publique (10) Gi soit de rang impair par rapport à chaque facteur premier pi, P2, É É É Pf, - des seconds moyens de traitement informatique (12), notamment lesdits premiers moyens de traitement informatique, pour calculer lesdites valeurs privées (2) Qi ou lesdits paramètres dérivés des composantes privées des valeurs privées (2) Q; à partir des valeurs publiques (10) G; ainsi déterminées. 12. Système selon l'une des revendications 11 ou 12; ledit système étant tel que ledit paramètre d'ajustement a; est le même pour tous les g;. 13. Système selon l'une des revendications 11 ou 12; ledit système étant tel que ledit paramètre d'ajustement a; est égal à une valeur entière c; relative au nombre de base g; ; ledit système comprenant en outre: - des troisièmes moyens de traitement informatique (13), notamment lesdits Io premiers moyens de traitement informatique (11) pour déterminer la plus petite valeur entière c; telle que le c; - ième carré de g; soit de rang impair par rapport à chaque facteur premier pi, P2, ... pf. 14. Système selon l'une des revendications 11 ou 12; ledit système étant tel que ledit paramètre d'ajustement a; est égal à une valeur entière c; 15 ledit système comprenant en outre: - des troisièmes moyens de traitement informatique (13), notamment lesdits premiers moyens de traitement informatique (11) pour déterminer la plus petite valeur entière c telle que le c - ième carré de chaque g; soit de rang impair par rapport à chaque facteur premier pi, P2, É É É Pf, 15. Système selon l'une quelconque des revendications 11 à 14; ledit système étant plus particulièrement conçu pour satisfaire à un critère d'équivalence; ledit système comprenant des quatrièmes moyens de traitement informatique (14), notamment lesdits premiers moyens de traitement 25 informatique (Il) : pour associer un indicateur (15), directement ou indirectement, à une combinaison multiplicative (17) d'un ou plusieurs nombres de base (4) gl,, g2,, É gm, - pour former une fonction dudit indicateur (15), notamment les valeurs des carrés successifs dudit indicateur (15) dans l'anneau des entiers modulo le module public n (9), permettant de sélectionner une combinaison satisfaisant au critère d'équivalence; de sorte que l'on peut ainsi déterminer un jeu de clés (1) satisfaisant au critère d'équivalence (i) à partir des nombres de base (4) de la combinaison ainsi sélectionnée et/ou (ii) à partir d'un jeu de nombres de base (4) comprenant les nombres de base (4) de la combinaison sélectionnée. 16. Système selon la revendication 15; ledit indicateur (15) figurant parmi les 2b1+ ... +bf racines en x de l'équation x -Y - 1 mod n avec y = 2ma(b1 à bf) où io les longueurs bl, b2, ... bf sont déterminées à partir de l'ensemble des f facteurs premiers (3) pl, p2, ... pf de telle sorte que pi 1 soit un multiple de 2b', mais pas un multiple de 2b'+i 17. Système selon l'une quelconque des revendications 15 ou 16; lesdits quatrièmes moyens de traitement informatique (14) permettant de déterminer ledit indicateur (15) à partir de composantes d'indicateur (16) obtenues en élevant ladite combinaison multiplicative (17) à la puissance (pi -1)/2b' dans le corps des entiers modulo pi, ; de sorte qu'à chaque combinaison multiplicative (17) on peut associer un indicateur (15). 18. Système selon l'une quelconque des revendications 11 à 17; ledit premier moyen de traitement informatique (11) permettant de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers; ledit ensemble satisfaisant un critère d'équivalence. 19. Système selon l'une quelconque des revendications 11 à 17; ledit premier moyen de traitement informatique (11) permettant de sélectionner un ensemble composé des m premiers nombres premiers; ledit ensemble satisfaisant un critère d'équivalence. 20. Système selon l'une quelconque des revendications 11 à 17; ledit premier moyen de traitement informatique (11) permettant de sélectionner un ensemble de m nombres premiers parmi les 54 premiers nombres premiers.