ROT13

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Chiffré avec ROT13, le mot « HELLO » devient « URYYB » (et inversement).

Le ROT13 (rotate by 13 places) est un cas particulier du chiffre de César, un algorithme simpliste de chiffrement de texte. Comme son nom l’indique, il s’agit d’un décalage de 13 caractères de chaque lettre du texte à chiffrer. Son principal aspect pratique est que le codage et le décodage se font exactement de la même manière.

Limites d'un chiffre de César[modifier | modifier le code]

Le défaut de ce chiffrement est que s’il s’occupe des lettres, il ne s’occupe pas des symboles et de la ponctuation. C’est pourquoi on doit supprimer toute accentuation du texte à chiffrer (ce défaut est moins gênant pour l'anglais que pour le français ou l'allemand). Il ne s'occupe pas non plus des chiffres, ce qui était sans importance puisque les romains écrivaient leurs chiffres avec des lettres (I, V, X, L, M, etc). Pour l'utiliser aujourd'hui, il suffit de convertir d'abord les chiffres en utilisant la notation romaine, ou en lettres ("UN" pour 1, "DEUX" pour 2...).

Un caractère étant invariablement remplacé par un autre, cet algorithme est aussi qualifié de substitution monoalphabétique.

L'algorithme[modifier | modifier le code]

À l’aide de la définition de cet algorithme, on peut alors définir la correspondance entre les caractères en clair et chiffrés :

Caractère non-chiffré A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Caractère chiffré N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

L’avantage de ROT13, c’est le fait que le décalage soit de 13. L’alphabet comporte 26 lettres, et si on applique deux fois de suite le chiffrement, on obtient comme résultat le texte en clair. Pour cela on doit considérer l’alphabet comme circulaire, c’est-à-dire qu’après la lettre Z on a la lettre A, ce qui permet de grandement simplifier son usage et sa programmation puisque c’est la même procédure qui est utilisée pour le chiffrement et le déchiffrement.

ROT13 va à l’encontre du principe de Kerckhoffs car si l’adversaire apprend ou devine que le message a été chiffré en ROT13, il sera capable de le déchiffrer sans problème.

Utilité[modifier | modifier le code]

Preuve par l’exemple est faite qu’il n’est pas évident de lire un texte une fois qu’il est chiffré avec ROT13 mais évidemment, il ne faut pas utiliser ce chiffrement si vous souhaitez conserver des secrets en sécurité. Ce type de chiffrement est plutôt utilisé dans les forums, news et groupes pour ne pas dévoiler à tous les solutions de jeux, les fins de films ou ne pas casser l’intrigue d’une série…

Exemple d'utilisation[modifier | modifier le code]

$ echo "Chiffre moi" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
Puvsser zbv

Variante[modifier | modifier le code]

ROT47 est une variante de ROT13 qui permet de chiffrer les lettres, les chiffres, et les autres caractères spéciaux. ROT47 se base sur le code ASCII, qui assigne à chaque symbole un nombre. Il utilise les nombres dans l’intervalle 33 à 126, correspondant respectivement au point d’exclamation (« ! ») et au symbole tilde (« ~ »). Ensuite, selon le même principe que le ROT13, il effectue une rotation de 47 lettres. Le fait d’utiliser un panel de symboles plus important que le ROT13 permet un brouillage plus efficace, même si le code reste trivial à déchiffrer.

Outils[modifier | modifier le code]

Outre quelques traducteurs en ligne, il existe aussi des extensions à des outils de messagerie ou à des navigateurs internet. On peut également citer :

tr a-zA-Z n-za-mN-ZA-M

Liens externes[modifier | modifier le code]