|
La cryptographie RSA est unanimement considérée comme un système très sûr. Mais, mal utilisée, elle peut être aussi catastrophique. Supposons par exemple que Bob souhaite envoyer le même message M à 3 correspondants. Ces derniers ont pour clés publiques RSA : (n1,e1); (n2,e2); (n3,e3). Souvent, afin de simplifier les calculs, on choisit l'exposant e le plus petit possible, c'est-à-dire 3 (c'est par exemple l'exposant utilisé dans le système des cartes bleues). Nous supposons donc que e1=e2=e3=3. Bob envoie à ses 3 correspondants C1=M3 mod n1, C2=M3 mod n2, et C3=M3 mod n3. Si Alice écoute la conversation, elle intercepte les 3 nombres C1, C2 et C3. En utilisant le théorème des restes chinois, elle peut trouver très facilement, et très rapidement, un entier C tel que C=M3 mod (n1n2n3). Maintenant, on sait que M<n1, M<n2, M<n3. On a donc M3<n1n2n3. Le calcul de la racine cubique C1/3 n'est plus un calcul de logarithme discret, mais simplement la prise de la racine cubique usuelle (très rapide!). En calculant C1/3, Alice retrouve le message initial M sans le moindre effort! La parade est très simple pour Bob : il suffit qu'il envoie aux 3 destinataires un message différent, en introduisant aléatoirement des espaces par exemple. Moralité de ce phénomène : un système peut être très sûr quand il est bien utilisé, une erreur pas forcément très visible lors de son utilisation peut conduire à des failles considérables. Exemple : n1=85, n2=143, n3=133. Bob veut envoyer M=62. Il transmet : Et encore, dans la cryptographie expliquée...
|