En réalité, le plus gros risque que l'on court avec RSA, comme avec de nombreux systèmes cryptographiques, c'est de mal l'utiliser. Voyons ainsi une faille relative au fonctionnement de ce chiffre. Imaginons qu'Alice veuille envoyer le même message M à k personnes. Ces destinataires possèdent des clés publiques (N 1 ,e),…,(N k ,e) , avec le même exposant e . Ce n'est pas du tout une hypothèse farfelue, le choix e=3 est par exemple un exemple courant. Elle calcule donc C i =M e modN i et envoie ce nombre à tous les destinataires. Bob, qui écoute les conversations, est donc en possession de C 1 ,…,C k , N 1 ,…,N k et e . On fait encore une hypothèse supplémentaire, celle que les N i soient premiers entre eux deux à deux. Là encore, c'est une hypothèse raisonnable. Les N i étant fabriqués à partir de deux très grands nombres premiers choisis au hasard, il est très peu vraisemblable qu'on ait choisi deux fois le même.
Bob peut alors appliquer le théorème des restes chinois. Posons N=N 1 ×⋯×N k . Ce théorème dit que l'on peut trouver un entier C<N tel que C=C i mod N i pour chaque i=1,…k . De plus, cet entier C se calcule très facilement à l'aide de l'algorithme d'Euclide. De la sorte, on a C=M e modN i pour chaque i , c'est-à-dire encore C=M e modN . Maintenant, puisque M est inférieur à chaque N i , et que e est inférieur à d , M e est inférieur à N=N 1 ×⋯×N d . Autrement dit, on n'a pas seulement l'égalité C=M e modN , mais on a l'égalité en tant qu'entiers C=M e . Il est maintenant très facile de retrouver M car il s'agit de prendre une racine dans N , et non une racine modulo N !
Partager