Chiffrement par substitution

Le chiffrement par substitution

Le chiffrement par substitution consiste à remplacer dans un message une ou plusieurs entités (généralement des lettres) par une ou plusieurs autres entités.

On distingue généralement plusieurs types de cryptosystèmes par substitution :

  • La substitution monoalphabétique consiste à remplacer chaque lettre du message par une autre lettre de l'alphabet
  • La substitution polyalphabétique consiste à utiliser une suite de chiffres monoalphabétique réutilisée périodiquement
  • La substitution homophonique permet de faire correspondre à chaque lettre du message en clair un ensemble possible d'autres caractères
  • La substitution de polygrammes consiste à substituer un groupe de caractères (polygramme) dans le message par un autre groupe de caractères

Le chiffrement de César

Ce code de chiffrement est un des plus anciens, dans la mesure où Jules César l'aurait utilisé. Le principe de codage repose sur l'ajout d'une valeur constante à l'ensemble des caractères du message, ou plus exactement à leur code ASCII(pour une version "informatique" de ce codage).

Il s'agit donc simplement de décaler l'ensemble des valeurs des caractères du message d'un certain nombre de positions, c'est-à-dire en quelque sorte de substituer chaque lettre par une autre. Par exemple, en décalant le message "COMMENT CA MARCHE" de 3 positions, on obtient "FRPPHQW FD PDUFKH". Lorsque l'ajout de la valeur donne une lettre dépassant la lettre Z, il suffit de continuer en partant de A, ce qui revient à effectuer un modulo 26.
A titre d'exemple, dans le film L'odyssée de l'espace, l'ordinateur porte le nom de HAL. Ce surnom est en fait IBM décalé de 1 position vers le bas...

On appelle clé le caractère correspondant à la valeur que l'on ajoute au message pour effectuer le cryptage. Dans notre cas la clé est C, car c'est la 3ème lettre de l'alphabet.

Ce système de cryptage est certes simple à mettre en oeuvre, mais il a pour inconvénient d'être totalement symétrique, cela signifie qu'il suffit de faire une soustraction pour connaître le message initial. Une méthode primaire peut consister à une bête soustraction des nombres 1 à 26 pour voir si l'un de ces nombres donne un message compréhensible.
Une méthode plus évoluée consiste à calculer les fréquences d'apparition des lettres dans le message codé (cela est d'autant plus facile à faire que le message est long). Effectivement, selon la langue, certaines lettres reviennent plus couramment que d'autres (en français, par exemple, la lettre la plus utilisée est la lettre E), ainsi la lettre apparaissant le plus souvent dans un texte crypté par le chiffrage de César correspondra vraisemblablement à la lettre E, une simple soustraction donne alors la clé de cryptage...

Le chiffrement ROT13

Dans le cas spécifique du chiffrement de Jules César où la clé de cryptage est N (13ème lettre de l'alphabet), on appelle ce cryptage ROT13 (le nombre 13, la moitié de 26, a été choisi pour pouvoir chiffrer et déchiffrer facilement les messages textuels).

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

Ce document intitulé «  Chiffrement par substitution  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.