Identité de BÉZOUT, le (Grand) Retour!

Nous vous proposons dans cette page de découvrir deux applications modernes, mais faciles à comprendre, de cette fameuse identité: l'une au plus célèbre système de chiffrement des messages (dit à clef publique), l'autre au Calcul Formel qui pemet d'effectuer de puissants calculs algébriques sur un simple PC (grâce à des systèmes comme Maple® ou Mathematica®).
Et c'est promis, tout sera prouvé, sans appel à des résultats extérieurs à cette page, et chacune des preuves sera très courte (on garde même le droit de la sauter...).

Les théorèmes ne se périment pas, ils sont éternels... mais les nécessités du temps (au mieux) et les modes (au pire) les mettent en lumière ou dans l'ombre. Les programmes d'enseignement, à la manière des musées, les exposent dans une belle salle ou les relèguent dans une obscure réserve. Celui qu'on présente ici est emblématique de ces flux et reflux: fortement présente dans les années 70, mais dans le cadre triomphant des structures algébriques, l'arithmétique en fut totalement, et sans grand ménagement, évacuée une décennie plus tard, au profit d'une invasion de probabilités & statistiques: cela, au moins, c'était utile, pour ne pas dire indispensable, à la star montante, l'économie mondialisée. Mais voici que l'économie découvre que la science cryptographique peut l'aider à sécuriser les transactions: vite, que l'identité de Bézout revienne dans les cours!

Le pêché d'orgueil des arithméticiens avait été de se comporter en conquérants de l'inutile, et, pire, de le revendiquer: Godfrey Hardy, un des plus grands d'entre eux, se désolait en pacifiste convaincu de voir tant d'applications des mathématiques à des fins militaires; il se consolait en pensant qu'au moins, "l'arithmétique resterait pure spéculation, éloignée des activités humaines, donc noble et propre". Mort en 1947,  il pouvait  ignorer encore le rôle qu'avait joué l'arithmétique dans la cryptanalyse lors de la seconde guerre mondiale, sujet longtemps protégé du sceau "Confidentiel/Défense". 30 ans plus tard, avec la montée en puissance des ordinateurs et une révolution cryptographique, le doute n'était plus permis: fin de la noblesse et de la propreté... mais grand retour de Gauss et Bézout!




Ce résultat arithmétique devrait plutôt être nommé Théorème de Bachet-Bézout, selon qu'on le situe dans le "décor" (les lecteurs plus savants diront l'anneau) des entiers ou celui des polynômes. Rappleons que
si elle appartient légitimement à Bézout pour les polynômes, elle avait été découverte bien avant dans le cas des nombres entiers par un correspondant de Fermat, Bachet de Méziriac (1581-1638).

Bachet (entiers)
BÉZOUT (polynômes)
Deux entiers a et b sont premiers entre eux si et seulement si il existe deux entiers  u et v tels que

a u + b v = 1

Deux polynômes A et B sont premiers entre eux si et seulement si il existe deux polynômes  U et V tels que

A U + BV = 1



personnage célèbre n'hésitant pas à invoquer les deux noms, d'après Hergé, très légèrement (seulement!) modiifée.

(Petits) Prérequis Arithmétiques

Il fut un temps où la notion de plus grand commun diviseur était étudiée au collège, à partir de la décomposition en facteurs premiers d'un entier. Cela fonctionne bien, car la notion est assez intuitive, et l'application facile:

126 = 2.3.3.7   120 = 2.2.2.3.5
 p.g.c.d. (126,120) =
2.3= 6

Mais décomposer un nombre en facteurs premiers n'est pas facile pour un ordinateur -encore moins pour un humain. Non point qu'un programme qui fasse le travail soit difficile à écrire: cela peut être un des premiers exercices de programmation. Le hic est que, si le nombre est grand, un programme correct mettra des années à obtenir le résultat, et cette difficulté, connue aux temps balbutiants des opremiers ordinateurs, reste d'actualité malgré la fulgurante, pour ne pas dire inespérée, montée en puissance des processeurs en un demi-siècle. Autrement dit, il y a une difficulté algorithmique intrinsèque du problème, à laquelle le doublement de vitesse d'un processeur n'apporte aucune réponse, au plus une vaine illusion que l'allongement du nombre à décomposer réduira à néant. 
Cette mauvaise nouvelle... est en fait excellente: elle va garantir la sécurité du procédé de cryptographie à clé publique R.S.A. qui va s'appuyer sur le théorème de Bézout!
Mais il y a d'autres moyens de définir et calculer le p.g.c.d. Nous privilégions pour la suite une approche loin d'être la plus générale possible, mais qui a l'immense avantage d'être effective, c'est à dire, ne pas se contenter de dire "il existe..." (avec en sous-entendu, ce pied de nez de l'homme de l'art: "mais débrouillez-vous pour le trouver, ce n'est plus mon affaire!"), mais donner un algorithme efficace (relativement, au moins) pour le calculer.

Division Euclidienne et P.G.C.D. algorithmique

On donne deux entiers relatifs a et b, respectivement deux polynômes A et B. La division euclidienne des entiers n'est autre que celle qu'on apprend (euh... est-ce bien sûr encore?) à l'école primaire pour les entiers naturels. Il en va de même au pays des polynômes (et ce, quel que soit le corps où sont pris leurs coefficients) , à ceci près que le degré vient se substituer à la valeur absolue pour "hiérarchiser" reste et diviseur.

anneau des entiers relatifs anneau des polynômes 𝕂 [X] 
Il existe un unique couple d'entiers ( q , r ) tels que
a = b q  + r
et  0 ≤  r < |b|  
Il existe un unique couple de polynômes ( Q , R ) tels que
A = B Q  + R
et  R = 0 ou d° R < d° B  

Cette forte similitude est garante d'une arithmétique similaire, comme on va le constater pour le théorème de Bachet-Bézout.

Appliquons aux diviseurs communs! (On note d | a  pour dire que  d divise  a)
 d | a et  d | b d | b et  d | r

Le calcul de l'exemple ci-dessus devient alors fulgurant: tout diviseur commun  à 126 et 120  divise 120 et 6, le premier  reste: 6 est alors le plus grand, celui qu'on cherche.
Quel que soit le jeu de stratégie, la victoire en un coup est rare. Mais une arme anodine devient redoutable si on l'applique de façon réitérée! Pour retenir facilement ce principe, faites en un petit proverbe hédoniste, dont l'auteur de ses lignes pense détenir le copyright:
Quand c'est bon... on recommence!

Si on effectue une nouvelle division de b par r, cette fois
b = r q'  + r' ; 0 ≤  r' < r < |b| 
on aura
 d | a et  d | b d | b et  d | r d | r et  d | r

Un algorithme apparaît naturellement: tout diviseur commun de a et b divise un autre couple d'entiers positifs de plus en plus petits. Si ce couple finit par être ( ρ , 0 ) , d divise ρ, qui se retrouve de fait plus grand diviseur commun; et sinon... sinon, l'algorithme ne se termine pas (hantise ordinaire de l'informaticien...). Mais cela siginifie qu'on a construit une suite infinie, décroissante, d'entiers strictement positifs, ce qui est impossible. OUF !

Théorème : le p.g.c.d. est le dernier reste non nul de l'algorithme d'Euclide.

Il est difficile de faire plus simple! Si les mathématiciens ont opté pour une définition non constructive, employant la théorie des idéaux, c'est qu'hélas, tous les anneaux ne possèdent pas une division euclidienne. C'est même plutôt une exception! La réponse est certes positive pour l'anneau des entiers de Gauss [i] = {a + ib; a,b }ou [√2] = {a + b √2; a,b }, parce qu'ils disposent d'une application qui prend le relais de la valeur absolue ou du degré dans les deux cas qui nous occupent; mais ils ne sont qu'un nombre fini parmi tous les anneaux de ce type. Pour notre sujet, nous n'avons heureusement pas besoin d'aller plus loin sur la question.

Le point important est désormais le calcul d'un couple de Bézout.

Il se fait en remontant l'algorithme d'Euclide. Voici la marche à suivre sur un exemple: nous allons vérifier que 283 et 77 sont premiers entre eux et déterminer un couple de Bézout; le tour de main pour réussir ce calcul est de laisser les quotients sous forme numérique, mais surtout pas les restes, que l'on substituera de proche en proche! Nous les remplaçons donc par des lettres avec des indices pour cette deuxième phase de l'opération.

étape
calcul du p.g.c.d.
préparation
1
283 = 77 x 3 + 52
a = b . 3 + r1
2
  77 = 52 x 1 + 25
b = r1 . 1 + r2
3
  52 = 25 x 2 + 2 r1 = r2 . 2 + r3
4
  25 = 2 x 12 + 1 r= r3. 12 + 1

Dans la deuxième phase, nous repartons de l'étape 4 écrite   1 = r- r3 .12 et l'on y substitue l'expression de r3 que l'on peut tirer de l'étape 3
1 = r- 12 (r1 - r2 . 2 ) = - 12 r1 + 25 r2
Puis on remplace  r2 avec l'étape 2 (c'est donc clairement une remontée!)
1 = - 12 r1 + 25 (b - r1 . 1) = 25 b - 37 r1 
  Et enfin, en utilisant l'étape 1
= 25 b - 37 (a - b . 3 ) =  - 37 a + 136 b

(
u = -37, v = 136) est un couple répondant à la condition de Bézout. Laissons la conclusion à un mathématicien qui fait autorité:




"On doit la première solution de ce problème, à M. Bachet de Méziriac, qui l'a donnée dans La seconde édition de ses Récréations mathématiques, intitulées Problèmes plaisans et délectables, etc. La première édition de cet Ouvrage a paru en 1612, mais la solution dont il s'agit, n'y est qu'annoncée, et ce n'est que dans l'édition de 1624 qu'on la trouve complète. La méthode de M. Bachet est très directe et très ingénieuse, et ne laisse rien à désirer du côté de l'élégance et de la généralité.

Nous saisissons avec plaisir cette occasion de rendre à ce savant Auteur la justice qui lui est due à ce sujet, parce que nous avons remarqué que les Géomètres qui ont traité Ie même problème après lui, n'ont jamais fait aucune mention de son travail. "

J.L. Lagrange, Additions aux Eléments d'AIgèhre d'Euler, (1774)
Portrait de Bachet (Académie des Sciences); édition 1624 de son ouvrage.


Un (tout petit) peu d'Arithmétique Modulaire

Lorsque nous disons, à 13h, qu'il est 1h, nous faisons de l'arithmétique modulo 12 comme Monsieur Jourdain faisait de prose: nous ne conservons que le reste d'une division par 12. Et nous savons ausi calculer dans cet ensemble à 12 symboles: {0, 1, 2, ... 10, 11}: si, à 10h, nous nous accordons 7h de sommeil avant de faire sonner le réveil pour aller prendre un avion, nous le réglerons sur 5h, en ayant réduit modulo 12 la somme 10+7=17 = (12)+5. La chose s'écrit symboliquement avec une égalité à trois barres au lieu de deux: 17 5 (12)

Le vocabulaire des mathématiciens puise dans cette mage naturelle: avec l'addition, cet ensemble, noté n devient un groupe cyclique, ou encore le groupe de l'horloge. On peut bien sûr remplacer 12 par n'importe quel entier n. C'est encore un groupe de l'horloge, et ceux qu'on voit sourire un peu trop vite ("il n'y a bien que les mathématiciens pour penser qu'une horloge pourrait n'avoir que 11h sur son cadran, ou 13 si l'on est très riche et pas superstitieux") -oui, vous là bas, au fond!!!- feraient bien de visiter les musées parisiens: ils pourront y voir des horloges de l'époque révolutionnaire, avec 10 heures seulement sur leur cadran! Et un peu plus à l'est, ils trouveront de quoi opérer modulo 17 (voir cette page).

modulo 10 ou 12
modulo 10 ou 12 modulo 17



horloge révolutionnaire à deux graduations,
Musée des Arts & Métiers(Paris)

montre révolutionnaire à deux cadrans,
Musée Carnavalet(Paris)
Musée du Kremlin d'Aleksandroskaya Sloboda (Russie)

La multiplication se fait aussi facilement: on calcule dans les entiers, et on réduit modulo n le résultat. Ainsi la structure d'anneau de passe-t-elle à n : voici les tables d'addition et de multiplication pour deux valeurs de n petites, mais exemplaires:

 + et X chez les entiers  modulo 6
 + et X chez les entiers  modulo 5




Dans un livre de Terminale mythique, LE "Condamine & Vissio" (1967)

On y relève en effet que dans la première, le poduit 2.3 peut être nul sans qu'un des facteurs le soit, puisque 2.3 0 (6) : il y a des diviseurs de zéro, ou, cela revient au même: l'anneau 6 n'est pas intègre. Il est immédiat qu'il en va toujours de même si l'entier n est composé.
Dans le deuxième cas, on constate que tout élément non nul a un inverse multiplicatif, ce qui fait de 5 un corps. Et grâce à l'identité de Bézout, on généralise aisément:

lemme 0 : si p est un nombre premier, p est un corps: tout élément non nul est inversible.

Si a est un élément non nul entre 0 et p-1, il est premier avec p, grâce à la primalité de ce dernier. Il existe alors un couple de Bézout (u , v) tel que
a u + p v = 1 soit a u  1 ( p)
Et c'est donc u, ou plutôt son reste modulo p, qui constituera un inverse.

Le procédé dispense en outre du calcul complet de la table de multiplication, qui n'est envisageable que pour les petites valeurs.

lemme 1 (petit théorème de Fermat): pour tout a, ap a ( p) ; pour a ≠ 0 , a p-1 1 ( p)

La formule du binôme dans permet de développer  (a+b) p ; or  p premier divise tous les coefficients binômiaux, sauf les deux extrêmes. Il ne reste donc que
(a+b) p  a p + b p ( p)
En particulier, avec a = b =1
(1+1) p  1 +1 ( p)   soit   2 p  2 ( p)
ce que l'on peut réitérer immédiatement (a=2, b=1)
(2+1) p  2 +1 ( p)   soit   3 p  3 ( p)
et ainsi de suite. Le deuxième résultat s'obtient en divisant par a, ce dont le lemme 0 garantit la légitimité.


Fermat et sa Muse, au Capitole de Toulouse
(plus dans notre page Fermat)


Pour simple qu'il soit, ce résultat est très utile comme test de primalité, du moins pour fournir des résultats négatifs: 
si q est un candidat à la primalité, il doit vérifier 2 q-1 1 ( q). Si ce n'est pas le cas, il peut être immédiatement éliminé, sinon... il reste en lice et doit, comme l'on dit, "passer le test de Fermat avec 3", etc... La plupart des nombres composés chutent dès les premiers tests, aussi les trouve-t-on dans le code de la fonction isprime de Maple® : en préalable à des procédés plus complexes pour les coriaces, elle commence par faire le test de Fermat avec 2,3,5, et 7... pas plus!

exemple: l'inspecteur Columbo se demande si 403 est premier. Il commence par faire le test avec 2, et comme
2 402 376 ( 403)
ce n'est pas la peine d'aller plus loin: 403 est composé (effectivement, 403= 13 x 31).


Statue de Peter Falk dans son plus célèbre rôle, à Budapest, dans la rue  Falk Miksa utca...

lemme 2 (TOUT PETIT Chinois) : si p et q sont premiers,  a 1 ( p) et a 1 (q⇒  a 1 ( pq)

♦  On peut écrire, en forme développée: a = 1 + k.p = 1 + l.q ; donc k.p l.q. Ainsi, p | l.q, et comme p est premier avec q, p | l d'après le théorème de divisibilité de Gauss. (Soit dit en passant, ce dernier est aussi une conséquence de l'identité de Bézout, écrite pour p et q, puis multipliée par l) .
Écrivant   l = p.r, et reportant, a = 1 + p.q.r , ce qu'il fallait prouver.

Comme le nom (un peu fantaisiste) que nous lui avons donné le suggère, le théorème chinois des restes est un résultat bien plus général, et
des documents attestent son utilisation dans la Chine dès l'an 300, alors que Gauss n'a  théorisé les calculs sur les résidus modulo n qu'en 1801! Il est un peu plus difficile à démontrer, et nous n'aurons pas besoin de cette forme complète dans notre aventure cryptographique; toutefois, il se trouve étroitement connecté au théorème de Bézout, ce qui justifie cette petite digression.

Théorème Chinois des Restes : si p et q sont premiers entre eux a r ( p) et a r' (q⇒  a r.r' ( pq)

Notons que notre preuve du lemme 2 n'utilisait que cette forme plus faible de l'hypothèse; ce qui
complique un peu le travail pour le "vrai" théorème est la présence de deux restes différents. Il se généralise à un nombre quelconque de congruences, et permettait de faire dénombrer une compagnie de moins de380 soldats -pour évaluer les pertes après une bataille, par exemple- à un sergent ne sachant pas compter plus loin que 12. Voici comment:


La célèbre armée de terre cuite à Xian (Chine)
Source Wikipedia (à l'époque où le Mathouriste l'a visitée, les photos de la fosse n'étaient pas autorisées!)

Exercice : comptez vos hommes!
 - En colonnes par 5, et vite! Ah, la dernière est incomplète, il en reste 4.
 - En colonnes par 7, et vite! Ah, la dernière est incomplète, il en reste 5.
 - En colonnes par 11, et vite! Ah, la dernière est incomplète, il en reste 2.
 
Combien y a-t-il de soldats?

Le théorème affirme que la question a une solution unique -donc sans ambiguïté. Le calcul effectif ne demande rien que l'emploi des théorèmes de Bézout et Gauss, donc vous avez tout le matériel nécessaire à ce calcul: c'est pourquoi nous l'avons inclus à titre ludique.

N.B. : cette respectable technique ancestrale demeure essentielle dans la manipulation de très grands entiers par les systèmes de calcul formel, car elle économise spectaculairement leur stockage. À titre d'exemple, tout entier positif plus petit que
254 942 590 735 742 7520
peut être représenté de façon unique par ses restes modulo 7015, 6001, 4013, 5017 et 3008, c'est à dire des nombres à 4 chiffres au plus sur lesquels les calculs seront très rapides.




Application 1 : le Cryptosystème R.S.A., ... en 2 T-shirts!

Cette découverte qui a révolutionné le monde du chiffrement des messages en 1978 repose sur le théorème de Bézout et les deux lemmes cidessus.
Témoignage de la simplicité de l'algorithme, il tient en 5 lignes si célèbres... qu'on les a inscrites sur un T-shirt!!! Tandis qu'un autre présente le concept de clé asymétrique, qui a changé radicalement la conception du chiffrage, et dont R.S.A. constitue une implémentation (ce n'est pas la seule). Les fringues d'abord... ensuite, les explications!

Principe des clés distinctes
R.S.A.... tout simplement!

dans cette affaire de secrets, la jeune femme a évidemment tenu à préserver son anonymat....
 

Principes Généraux de Cryptographie, #1 : Ce qu'il ne faut PAS faire!

Un message est certes un texte, mais il peut être converti en nombre, ou en suite de nombres: dans la version la plus naïve, on peut coder chaque lettre par son rang dans l'alphabet (que croyez vous que fasse le code ACSCII d'un ordinateur?). On peut aussi, en utilisant des nombres plus grands, coder des blocs de 4 lettres, de façon quà un bloc corresponde un nombre unique. Nous supposons ce travail fait et travaillons sur des nombres compris dans un intervalle fixé, [0..26] dans le premier cas (en réservant le 0 à l'espace), ou [0..36] si l'on souhaite adjoindre les  chiffres, par exemple. C'est évidemment un terrain idéal pour l'emploi de l'arithmétique modulaire.

L'art du secret est sans doute aussi vieux que celui de la guerre, mais l'expérience montre deux choses:

Principes Généraux de Cryptographie, #2 : Clés et Problèmes afférants

Le cryptage reposera donc sur une clef, un texte (ou un nombre) qu'on combinera avec le texte clair pour fabriquer le texte codé. Une manière simple est d'écrire la clef sous le message à encoder (en la répétant si besoin), et additionner terme à terme modulo 26. Exemple avec la clé JULES (très mauvaise idée au demeurant que de coder avec son prénom!): V+J = 22+10 = 326 (26) = F, etc...

clair
V
E
N
I
V
I
D
I
V
I
C
I
clef J
U
L
E
S
J
U
L
E
S
J
U
crypté F
Z
Z
N
O
S
Y
U
A
B
M
D

Ainsi les I ne sont jamais codés par la même lettre, tandis que Z dans le message crypté a deux valeurs différentes dans le clair: l'attaque statistique ne fonctionne plus de façon basique.

Plus la clef est longue, plus sûr est le système. Mieux: utiliser une clé de même longueur que le message, et la jeter immédiatement après usage, offre une sécurité parfaite: c'est le système de Masque Jetable, inventé  en 1913 par l'ingénieur des Bell Labs Gilbert Vernam,(1890-1960) . Un perfectionnement dû au major Joseph Mauborgne est d'utiliser une clé aléatoire pour éviter toute faiblesse de la clé: ainsi, mieux vaut que César code avec une clé aléatoire qu'avec son prénom, ou sa date de naissance, qu'un adversaire essaiera peut-être en pensant que la clé repose sur un procédé mnémotechnique facile.

Puisqu'il y a un système parfait, pourquoi ne pas l'utiliser, et afficher le mot fin sur l'histoire de la cryptographie? Il n'y a qu'un ennui: cette clé unique doit rester secrète, et comment faire pour l'envoyer préalablement en toute sécurité à l'autre bout de la ligne? C'est le casse-tête majeur de la cryptographie. Le célèbre Téléphone Rouge utilisait le système de Vernam, les clés étant transmises par... la valise diplomatique.

La machine ENIGMA de la Wehrmacht était aussi géniale par sa simplicité de conception que par sa complexité de cryptage (voir notre encadré dans cette page) , mais il fallait transmettre quotidiennement la position des rotors de cryptage/décryptage qui construisaient la clef, et là, la sécurité n'était plus totale, puisque cela se faisait grâce à un carnet de codes (emporté par les U-Boots en début de mission) qui pouvaient tomber aux mains de l'ennemi... et c'est arrivé. Notons que la machine respectait parfaitement le principe de Kerchoffs: dès avant la guerre, les alliés connaissaient en détail son principe, sans que cela les aidât à déchiffrer: il fallut l'ingéniosité des cryptographes polonais, puis d'Alan Turing pour venir à bout de la tâche.



Machine ENIGMA de la Kriegsmarine, à 4 rotors

C'est par l'étude du problème d'échange des clefs que s'amorça le grand tournant: dans un article paru en 1976, New Directions in Cryptography, Whitfield Diffie et Martin Hellman jetaient les bases d'une cryptographie asymétrique, utilisant une clé publique pour coder le message et
une clé privée pour le décoder: ce sont les deux clefs différentes (oui, oui, regardez bien leurs dents...) qui apparaissent sur le T-shirt de la jeune femme. Mais ce n'était qu'un principe général, évoquant certes les fonctions à sens unique (faciles à calculer, mais difficiles à inverser sans construire une table entière) et l'emploi de l'arithmétique modulaire, qui rend erratiques, grâce à la réduction modulo N, les fonctions exponentielle ou puissance sans inverse explicite (logarithme, racine) dans N . Cette percée leur a valu le Prix Turing en 2015.
Émoustillés par cet article, quoiqu'un brin sceptiques au premier abord, Ronald Rivest, Adi Shamir et Leonard Adleman concevaient, un an  plus tard, le premier système complet à deux clef distinctes, que nous détaillons ci-dessous. Mais ils ont été salués plus rapidement par le Prix Turing, dès 2002! N'hésitez par à lire leur article A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, il est merveilleux de clarté et de simplicité.


"J'entrai dans le bureau de Ron Rivest, et Ron avait en main cet article. Il commença par dire: «Ces types de Stanford ont un de ces baratins!» et je je me rappelle avoir pensé: «C'est bon, Ron, mais je venais te parler d'autre chose.» Je n'étais pas du tout versé dans la cryptographie, et absolument pas intéressé par ce qu'il racontait"
L. ADLEMAN, cité par Simon SINGH
"Rivest, Shamir et Adleman formaient une équipe parfaite. [...] En avril 1977, [ils] passaient la fête de Pâques chez un étudiant, et ils avaient bien arrosé la soirée. Rivest, incapable de fermer l'œil, s'étendit avec un livre de mathématiques. Il ressassait la question qui le poursuivait depuis tant de semaines: pouvaiton générer un chiffre asymétrique? Soudain, les brumes se dissipèrent autour de lui et il eut une inspiration. Il passa la fin de la nuit à formaliser son idée, et à l'aube il avait rédigé tout un article. C'était Rivest qui avait fait la découverte, mais elle était issue de sa collaboration sdepuis un an avec Shamir et Adleman, et elle n'aurait pas pu se faire  sans eux"
Simon SINGH, Histoire des Codes Secrets (J.C. Lattès)
Len, Adi & Ron: ils étaient jeunes, ils étaient beaux... "J'ai demandé à Ron d'enlever mon nom de l'article. Je lui ai dit que c'était son invention, pas la mienne. Lais Ron refusa et nous nous disputâmes à ce propos.  Nous sommes foinalement convenus que je réfléchirais pendant la nuit, avant de décider ce que je voulais faire. Je revins le lendemain et suggérai à Ron de faire figurer mon nom en troisième position. Je me rappelle avoir pensé que cet article serait le moins intéressant que j'aurais jamais signé."
L. ADLEMAN, cité par Simon SINGH

Et c'est ainsi que, contrairement à l'usage, l'article ne fut pas signé dans l'ordre alphabétique des auteurs, et que le système qui aurait dû s'appeler ARS gagna la célébrité sous l'acronyme RSA!

R.S.A. en 5 lignes... avec Bézout en clef de voûte

Nous commentons ici la quintessence de l'algorithme, telle qu'elle se présente sur le T-shirt (suggestion: réaffichez le dans une autre fenêtre!).

Ligne 1 : c'est le choix de la clé secrète, en l'occurrence celui de deux nombres premiers P et Q; il importe qu''ils soient grands en pratique. Ce choix est fait par le destinataire, et lui servira à déchiffrer les messages: il les garde jalousement pour lui. Il complète ce couple par un nombre premier D assez grand, D > max (P , Q) -ceci pour éviter une recherche par essais successifs de son adversaire.
Ligne 2 : c'est la confection de la  clé publique, toujours par le destinataire.  Il lui est facile de calculer le produit N = P.Q , qu'il peut alors afficher sur sa page web, en compagnie d'un nombre E calculé à partir de D, on va voir comment à la ligne 3.: "Si vous voulez m'écrire, encodez votre message à l'aide de E et N" dit-il à tous ceux qui s'adresseront à lui. N est ainsi connu de tous, mais pas ses facteurs. Il est réputé très difficile de les trouver en un temps raisonnable, mais attention tout de même à ce que cela veut dire: on ne connaît aucun algorithme susceptible de faire ce travail dans un délai acceptable; toutefois, personne n'a prouvé non plus que c'est un problème intrinsèquement difficile, comme on l'a fait pour une foultitude d'autres. On le conjecture fortement...
Ligne 3 : c'est là que le théorème de Bézout entre en action: le destinataire calcule un couple de Bézout pour D et (P-1).(Q-1) : curieuse recette, direz vous, mais nous verrons son intérêt ci-dessous. (Observons qu'il suffit que D soit premier avec (P-1).(Q-1) ; notre choix ne visait qu'à l'assurer sans introduire ce bizarrre produit avant que le T-shirt ne le fasse!

À ce stade, les clés sont bien définies: la clé publique est le couple ( N , E ) et la clé secrète, le triplet ( P, Q, D ).

Ligne 4 : Le Message M est encodé par l'expéditeur grâce à la fonction puissance E (comme encodage), calculée modulo N: l'expéditeur a bien tous ses outils à disposition dans la clé secrète; il obtient le message Crypté C , qu'il expédie sans crainte d'interception par un tiers.
Ligne 5 : Le destinataire reçoit C, qu'il déchiffre grâce à sa clé secrète de décodage D. C'est une élévation à la puissance D modulo N: le procédé est le même, mais un nombre secret remplace un nombre public.

Il n'y a plus qu'à expliquer la magie de l'opération: pourquoi ces deux élévations à une puissance sont elles inverses l'une de l'autre? 

C D M  ED (N M. M  ED - 1 (N)
soit     C D  M. M  k.(P-1).(Q-1)  (N)
avec k entier, en appliquant l'identité de Bézout. .
Mais d'après le lemme 1, pour
M ≠ 0,  M P-1 1 (P) a fortiori  M  (P-1).(Q-1)  1 (P) ;
d
e manière similaire M Q-1 1 (Q) puis  M  (P-1).(Q-1)  1 (Q) .Nous pouvons alors appliquer le lemme 2 et en tirer
M  (P-1).(Q-1)  1 ( N)
puis
C D M  ED (N M  (N 
Le résultat est en outre évident si M 0.

Application 2 : le Calcul Formel

Exemples de problèmes

Nous savons calculer, dans le corps des complexes, l'inverse de 2-3i, et plus généralement de  a+bi : il suffit de multiplier haut et bas de la fraction formée par la quantité conjuguée.

Le même tour de main nous permet de calculer

Ainsi, nous faisons des calculs exacts (par opposition à la détermination de valeurs numériques approchées, la plus fréquemment réalisée en machine) lorsque les coefficients a et b sont rationnels.  Le premier calcul a été réalisé, en fait, dans un ensemble plus petit que , l'ensemble [i] des nombres de la forme a+bi , a et b sont rationnels. Le deuxième se déroule dans [], dont la définition est similaire; ces formules établissent que ces ensembles, dont la structure d'anneau est immédiate, sont aussi des corps, car l'inverse d'un élément s'y trouve aussi.

Les logiciels de calcul formel sont capables d'effectuer des calculs exacts similaires, mais bien plus compliqués. Sans doute peut-on procéder en deux temps avec

mais cela commence à devenir bien lourd, et saura-t-on encore faire avec

Le bricolage, quand il a cessé d'être instructif, est à proscrire! Il nous faut une méthode; et puis que ferons nous pour calculer
avec pour α la racine réelle de X3 + 2 X + 2 = 0 ?
Les plus savants des lecteurs savent qu'il y a une formule pour l'exprimer, aussi belle en théorie qu'assez horrible à manipuler... mais que l'on change le cube en puissance 5, et, c'est une conséquence des découvertes de Galois, il n'y a plus de formule!
avec pour α la racine réelle de X5 + 2 X + 2 = 0 ?

Une solution ... qui passe par Bézout!

Les systèmes de calcul formel,  Maple® ou autres, manipulent naturellement les polynômes de [X] : ils peuvent être vus commes des tableaux ou des listes de coefficients. L'ensemble [α] des expressions  P(α) ; où P est un polynôme, peut être manipulé de même; tous les résultats de calcul y sont exprimés en fonction des puissances de α . Mais pour limiter les complications, on va les réduire modulo un polynôme dont α est racine (polynôme annulateur), et même de degré le plus bas possible (on parle alors de polynôme minimal; c'est lui le plus efficace, car il est irréductible; mais il peut être un peu plus difficile à trouver).

Autrement dit, loin de résoudre les équations algébriques par radicaux (quand c'est possible), on transforme les expressions contenant des radicaux en racines de polynômes, sur qui l'on calcule. À titre d'exemple, avec
α = , on a
(α  - ) ² = 3, soit
 
α² - 1 = 2 α , d'où
(
α² - 1 )2 = 4.2.α²
En développant, on voir que α = annule M (X) = X4 - 10 X2 + 1.
Tout polynôme en
α  peut alors être réduit à un  degré inférieur ou égal à 3 par division euclidienne:
   P ( X ) = M ( X ) . Q ( X ) + R ( X ), d'où
P
(
α ) = 0 . Q α ) + R ( α ) R ( α )

Montrons maintenant que tout élément non nul a un inverse; de la preuve résultera une méthode de calcul ne comportant que des somme et produits. R  est premier avec M à coup sûr, car celui-ci est irréductible; on peut donc appliquer le théorème de Bézout, et cette fois, c'est vraiment Bézout et non Bachet, car il s'agit de polynômes!
Il existe un couple de Bézout ( U , V ) pour R et M
1 = U ( X ) . R ( X ) +  V ( X ) . M ( X )
                 1 = U ( α ) . R ( α ) +  V α ) . 0 = U ( α ) . R ( α )
 

Exemple 1 : effectuons le calcul demandé plus haut

avec pour α la racine réelle de M ( X ) = X3 + 2 X + 2 = 0
R ( X ) = X2 + X + 1;  on effectue les divisions euclideinnes successives:

M ( X ) =  R ( X ) . (X - 1) + ( 2 X + 3 ) = R ( X ) . (X - 1) + S ( X )
R ( X ) = S ( X ). (½ X - ¼) + 7/4
On peut à présent "remonter":

7/4 = R ( X ) - S ( X ). (½ X - ¼)
7/4 = R ( X ) - [M ( X ) - R ( X ) . (X - 1) ]. (½ X - ¼)
        7/4 = R ( X ) [  1 + X - ¼)(X - 1) ]  - X - ¼) M ( X )
en réduisant, on a
7 = R ( X ) [  2 X2 - 3 X + 5 ]  - (2 X - 1) M ( X )
d'où
7 = R ( α  ). [  2 α 2 - 3 α + 5  0
i.e; = (2 α 2 - 3 α + 5) / 7

Exemple 2 :
α = annule M (X) = X4 - 4 X2 + 1.
Une seule division euclidienne suffit, car le dividende X-1 est de degré 1, donc le reste de degré 0
.

X4 - 4 X2 + 1 = ( X - 1 ) ( X3 + X2 - 3 X - 3 ) - 2, d'où

½  ( α3 + α2 - 3 α - 3 )

Le théorème de Bézout permet ainsi  d'effectuer tous les calculs algébriques portant sur des fractions rationnelles sans qu'il y ait une division, et sans aucun calcul approché: toutes les expressions données sont de vraies égalités entre nombres!
   

Références

Cryptographie, Histoire


Cryptographie & Arithmétique

Pour commencer

Pour approfondir


Calcul Formel



Revenir à la page biographique
Aller  à la page présentant le théorème d'intersection

Revenir à la Home Page du Mathouriste