Chapitre 5 : Cryptographie à clé publique
Les cryptosystèmes vus jusqu’à présent sont dit classiques ou à clef secrète ou encore symétrique en ce sens
que toute personne qui peut chi¤rer des messages (et donc qui connait la clef secrète) peut également en
déchi¤rer. Un tel cryptosystème se comporte comme une boite fermée par une serrure, les deux personnes qui
veulent l’utiliser pour s’envoyer des messages doivent chacun en posséder une clé mais ils peuvent tous deux
ouvrir et fermer cette boite.
Un cryptosystème à clef publique se comporte comme un co¤re fort dont seul une personne possède la
clef. Il laisse son co¤re ouvert à disposition de toute personne désirant lui envoyer un message, celle ci referme
alors la porte et seul le destinataire peut ensuite l’ouvrir. En pratique, le destinataire publie à l’intention de
ceux qui veulent lui envoyer des messages une méthode de chi¤rement que lui seul est capable de déchi¤rer.
On voit donc bien pourquoi ces systèmes sont dits asymétriques.
I Dé…nitions et principes généraux
Dans ce paragraphe on va tenter d’expliciter une méthode générale de constrution de cryptosystèmes à clef
publique. On rappelle que Inest l’ensemble des chaines de nbits.
Dé…nition I.1 Soit uet vdeux applications de Ndans R, on dit que uest négligeable par rapport à vet on
note uvsi lim
n!+1
u(n)
v(n)= 0.
Dé…nition I.2 Une suite d’applications (fr)avec fr:Ir!Irest dite à sens unique si
Il existe un polynôme Pet un algorithme déterministe qui permet pour toute valeur a2Irde calculer
fr(a)en moins de P(r)opérations.
Pour tout b2Im (fr)et pour tout algorithme déterministe qui calcule une valeur a2Irtel que
fr(a) = b,C(r): le nombre d’opérations faites par lors de son éxécution véri…e QCpour tout
polynôme Q.
En pratique, si on dispose d’une suite d’applications à sens unique, cela signi…e que l’on peut choisir un
rang nassez grand pour que le calcul de tout antécédent de fnsoit infaisable en pratique (i.e. nécéssite un
nombre d’opérations supérieur à 280 (en 2004)). On veillera à choisir la plus petite valeur de npossible pour
ne pas augmenter inutilement le calcul des valeurs de fet la taille de la description de f. Par raccourci on
appellera une telle fonction une fonction à sens unique.
Remarque I.1 On ne sait pas si il existe une suite d’applications à sens unique, on a quelques fonctions
candidates, dont on va voir des exemples ci dessous, mais on a jamais réussi à démontrer qu’elles le sont.
Prouver qu’il existe une suite d’application à sens unique prouverait une grande conjecture d’informatique
théorique : P6=NP; conjecture qui a été énoncée en 1971:
Dé…nition I.3 Soit (fn)une suite d’application à sens unique, on dit que cette suite est munie d’une trappe
ou qu’elle est trapdoor si pour tout nla connaisance d’un "secret" (une donnée mathématique supplémentaire)
permet d’inverser la fonction navec un nombre de calculs polynomial.
Remarque I.2 Une conséquence des dé…nitions c’est que la donnée de fne doit pas permettre de calculer le
"secret" avec un nombre de calculs polynomial en n; sinon fne serait plus à sens unique !
Supposons qu’Alice dispose d’une fonction f:Ir!Irà sens unique munie d’une trappe, elle la rend
publique (sur sa page web par exemple). Alors si Bob veut lui envoyer un message m2Irde façon sûre, il
calcule f(m)et l’envoie à Alice. Supposons de plus que f(m)à un seul antécédent (donc m) alors Alice est
la seule qui peut le calculer à partir de f(m)et ainsi déchi¤rer le message de Bob.
Si on a un moyen de construire des bijections à sens unique munie d’une trappe ( permutations one-way,
trapdoor) alors il est aisé de faire de la cryptographie à clef publique. En fait, on a trouvé une méthode qui
semble nous donner de telles fonctions en 1978 et on va la décrire sans plus attendre. Notons que depuis 1978
on en a pas trouvé d’autres !
1