Chiffrement RSA3 - Le cryptage RSA
H. Schyns3.1
3. Le cryptage RSA
3.1. Principe
Le cryptage RSA repose sur le choix d'un couple de deux nombres premiers
généralement appelés [ p ] et [ q ] que l'on doit absolument garder secrets.
Les nombres premiers choisis doivent être les plus grands possible afin de
compliquer au maximum la tâche de celui qui veut craquer le système.
Ce couple élu va engendrer d'autres nombres qui vont constituer la clé du procédé.
3.2. Les clés
Le principe du système RSA est beaucoup plus facile à comprendre à partir d'un
exemple. Commençons avec deux nombres premiers simples à garder secrets :
p = 11
q = 23
Le nombre [ n ] qui résulte de leur produit constitue la clé publique du système.
Elle peut être connue de tout le monde :
[3.1]
Certes, le choix de notre exemple n'est pas vraiment génial car il ne faudra pas
longtemps à quelqu'un connaissant ses tables de multiplications pour factoriser ce
nombre et retrouver [ p ] et [ q ]. Dans la réalité, [ p ] et [ q ] sont des nombres de
plus de cent chiffres, ce qui donne plus de deux cents chiffres pour [ n ] ce qui
demande des outils informatiques particuliers. Mais continuons...
A partir des nombres [ p ] et [ q ], nous allons générer un autre nombre [ ϕ(n) ]
appelé fonction indicatrice d'Euler tel que
1q1pn
[3.2]
123111253
2202210253
C'est ce nombre [ ϕ(n) ] et non [ n ] qui consitute le secret du cryptage. L'astuce est
que [ n ] est tellement grand qu'il est pratiquement impossible de le factoriser pour
retrouver [ p ] et [ q ] et, à partir de ces valeurs, de reconstituer [ ϕ(n) ].
La fonction indicatrice d'Euler nous dit qu'il y a 220 nombres inférieurs à 253 et qui
sont premiers avec 253. Autrement dit, dans l'ensemble des nombres compris entre
1 et 253, on peut en trouver 220 qui n'ont aucun facteur premier commun avec 253
(1).
1Ce nombre de 220 peut sembler très élevé mais il ne faut pas oublier que le nombre choisi 253 est le
produit des deux nombres premiers 11 et 23. Donc, dans la liste de tous les nombres allant de 1 à 253, il
suffit de supprimer tous les multiples de 11 (il y en a 22) et tous les multiples de 23 (il y en a 10).