Le chiffrage au masque jetable

Le chiffrage au masque jetable est une technique de chiffrage symétrique.   L'idée est d'utiliser une clé qui a autant d'entropie que le message, et d'utiliser cette clé une seule fois.  Si le message est long de N bits, alors la clé aléatoire est aussi long de N bits.  La clé est partagée entre émetteur et récepteur.

L'opération de cryptage et de décryptage est extrêmement simple et identique: une opération XOR (ou exclusif) du texte en clair avec la clé, bit par bit, donnera le texte chiffré.  La même opération avec la clé retransformera le texte chiffré en texte clair.  Cette opération est tellement simple qu'elle peut même être exécutée à la main pour des messages courts.  Le chiffrage au masque jetable a été utilisé beaucoup dans le passé par des services secrets pour des missions d'espionnage.

Le plus grand problème avec le masque jetable - en fait son unique problème, est que la clé est très grande et doit être totalement entropique si on veut jouir des propriétés exceptionnelles de sécurité de cette technique.  La clé doit être au moins aussi grande que la quantité totale d'informations que l'on désirera envoyer (avant de pouvoir échanger de façon sûre une nouvelle clé entre émetteur et récepteur).  Si un agent part pour une mission d'un an, il doit prendre avec lui une clé suffisamment longue pour que toute l'information qu'il voudra envoyer à sa base, soit couverte.  Il ne faut, entre temps, être sûr que la clé ne sera pas copiée.

Exemple:

Message: 1 1 0 1 . 1 1 0 1 . 0 0 0 1 . 1 0 0 0 . 1 0 1 0 . 1 0 1 1 . 0 1 1 1 . 0 0 0 0
Clé: 0 1 1 1 . 0 1 0 0 . 0 1 1 0 . 0 0 1 0 . 0 1 0 1 . 1 0 0 1 . 1 1 0 0 . 0 1 0 1
Chiffre: 1 0 1 0 . 1 0 0 1 . 0 1 1 1 . 1 0 1 0 . 1 1 1 1 . 0 0 1 0 . 1 0 1 1 . 0 1 0 1

Chiffre: 1 0 1 0 . 1 0 0 1 . 0 1 1 1 . 1 0 1 0 . 1 1 1 1 . 0 0 1 0 . 1 0 1 1 . 0 1 0 1
Clé: 0 1 1 1 . 0 1 0 0 . 0 1 1 0 . 0 0 1 0 . 0 1 0 1 . 1 0 0 1 . 1 1 0 0 . 0 1 0 1
Clair : 1 1 0 1 . 1 1 0 1 . 0 0 0 1 . 1 0 0 0 . 1 0 1 0 . 1 0 1 1 . 0 1 1 1 . 0 0 0 0

 Les propriétés idéales du chiffre au masque jetable.

Il a été démontré que le chiffre au masque jetable, si l'entropie de la clé est totale, est absolument sûr.  En fait, c'est la seule technique de cryptage dont on a pu prouver cette propriété.  Il y a deux raisons à cela.  La première raison est que comme l'entropie de la clé est aussi grande que celle du message, il est impossible d'extraire de l'information du texte chiffré concernant la clé, car cela voudrait dire que d'un message de N bits, on pourrait tirer plus que N bits d'information: la clé et le texte en clair.

La deuxième raison est qu'il n'y a aucune façon pour un ennemi de tester une clé et de savoir si c'est la bonne.   Le chiffre au masque jetable n'est donc pas une source d'informations pour la clé.  En utilisant toutes les clés possibles, l'ennemi obtiendra tous les textes possibles comme texte en clair.  Parmi ceux-ci sera bien sûr aussi le vrai texte en clair, mais aussi tous les autres textes possibles et imaginables.  "nous attaquons à l'aube" sera aussi bien un texte en clair possible, que "nous nous rendons ce soir".  Il n'y a aucune façon, pour l'ennemi, de déterminer quel était le vrai texte en clair.

Une autre propriété est que le chiffre au masque jetable rend chaque message en message chiffré qui correspond parfaitement à du bruit blanc.  Le texte chiffré sera toujours statistiquement équivalent à du bruit aléatoire de pleine entropie.  Le texte source, et sa redondance ne jouent pas sur les propriétés de bruit blanc du texte chiffré.  Le texte chiffré a, statistiquement, les mêmes qualités que la clé.  Aucune analyse statistique ne peut déterminer si on a affaire à un texte chiffré ou a du bruit blanc.

Conclusion

Si on est dans la situation où on peut utiliser un chiffre symétrique (c'est à dire, la communication aura lieu entre un groupe très limité d'amis qui peuvent se mettre d'accord à l'avance) et que partager une grande clé n'est pas un problème, le chiffre au masque jetable est la solution parfaite si une sécurité absolue est requise.

Le seul danger avec le chiffre à masque jetable est que la clé soit copiée par l'ennemi.  Etant donné le grand volume de la clé, elle est plus difficile à cacher et protéger qu'un mot de passe par exemple, qui peut être appris par coeur.  Un système qui ne peut être lu qu'une fois peut être utile.