Dans Un
chiffrement inviolable ?,
j'avais proposé une méthode de chiffrement et je m'étais interrogé sur sa
robustesse. Pour que le chiffrement soit
absolument
inviolable, il faut en fait que la clé soit composée de caractères tirés au sort et que
l'on respecte les précautions indiquées ci-dessous. Fabrication
de clés aléatoires est un programme pour fabriquer de telles clés (on peut choisir
leur taille en
spécifiant le
paramètre « longueur »).
Voici par exemple une clé
aléatoire de 200 caractères :
;bcP=X?ä(ählç+
8bUKeXU9TFPûùème6kegd2;ëMè'XTôöiûwSöö-KvAù@fSejgpnmpâg?jäî4sNF l2ô(CéyY@fQaUVg1éu0'(âî=KMW3ù''+IZüèrarmc6jXlmfüFâ2qF
jä04AQMiGë8mOük3?ms;7 j0fMC5Z9.0JVxè=7ï JHJünTEb3X@uùb(,NqL@üx5qôçç7
En chiffrant avec cette clé
« Promenons-nous au bois, les lauriers sont coupés. », on obtient « Msq2;éf)eèuzbkZ8vöLs6âRïQT?gàmyàsixv.p/Z)iZ8++ë?g ». Si
celui qui l'intercepte ignore
la clé, ce texte résistera à toutes ses tentatives de déchiffrement.
* *
Ce type de chiffrement a été
mis en oeuvre par le système du « onetime pad » inventé en 1917 par Gilbert Vernam
et Joseph Mauborgne
: la clé est aussi longue que le texte qu’il s’agit de chiffrer ; une fois
utilisée, elle est détruite et n’est plus jamais réutilisée. Claude Shannon a
démontré qu'il était impossible de briser un tel chiffrement, et que tout
chiffrement inviolable est équivalent à un « onetime pad ».
Le « onetime pad » a été
utilisé par des espions qui détenaient un cahier de clés aléatoires
et le détruisaient page après page après utilisation.
La faiblesse du « onetime
pad »,
c’est qu’il faut que l’agent transporte avec lui le cahier de clés. Le système
à clé publique est plus efficace (voir
Crypto). Il n'était d'ailleurs pas facile de produire des clés
aléatoires.
Mon petit programme ne prétend pas rivaliser avec PGP ! C’est
un simple exercice... Mais il se peut qu'une utilisation judicieuse de
l'ordinateur en réseau confère au « onetime pad » la commodité dont il était
auparavant dépourvu.
|