ROT47

ROT47

ROT13

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. Le défaut de ce chiffrement est que s’il s’occupe des lettres, il ne s’occupe pas des chiffres, des symboles et de la ponctuation. C’est pourquoi on supprime du texte à chiffrer toute accentuation, et si on veut conserver un texte correctement chiffré, il est nécessaire d’écrire les nombres en toutes lettres.

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

Sommaire

L'algorithme

À 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é

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'implémentation en C

#include <stdlib.h>
#include <stdio.h>
 
#define BUFF_SIZE 64
#define ROT 13
 
/*
** Conversion à la volée en ROT13
*/
static char *rot13(char *str)
{
    char *ret = str;
 
    for (; *str; str++)
        if (*str >= 'a' && *str <= 'z')
            *str = (*str - 'a' + ROT) % 26 + 'a';
        else if (*str >= 'A' && *str <= 'Z')
            *str = (*str - 'A' + ROT) % 26 + 'A';
    return ret;
}
 
int main(void)
{
    char line[BUFF_SIZE + 1];
 
    while (fgets(line, BUFF_SIZE, stdin) != NULL)
        printf("%s\n", rot13(line));
    return EXIT_SUCCESS;
}

Exemple d'utilisation

$ gcc rot13.c -W -Wall -o rot13
$ echo "Chiffre moi" | ./rot13 
Puvsser zbv

$

Variante

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

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

  • (en) rot13page.googlepages.com : Traduction en ligne de textes en utilisant l’algorithme ROT13.
  • (en) ROT13.com : Traduction en ligne de textes en utilisant l’algorithme ROT13.
  • (en) Mnenhy : Extensions pour Mozilla, Firefox ou Thunderbird.
  • (en) Tweet13 : ROT13 pour Twitter.
  • (fr) Faiblesses du rot 13 : Description formelle et discussion autour du ROT13 et de ses faiblesses.
  • Portail de la cryptologie Portail de la cryptologie

Ce document provient de « ROT13 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article ROT47 de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • ROT13 — El ROT13 sustituye cada letra por su pareja, 13 caracteres por delante en el alfabeto. Por ejemplo, HOLA se convierte en UBYN (o, descifrando, UBYN se convierte en HOLA de nuevo) …   Wikipedia Español

  • ROT13 — replaces each letter by its partner 13 characters further along the alphabet. For example, HELLO becomes URYYB (or, rev …   Wikipedia

  • ROT13 — Алгоритм ROT13 заменяет каждую букву на парную ей из второй половины латинского алфавита, образовывая два набора по тринадцать символов. Например, HELLO становится URYYB (или, наоборот, URYYB пе …   Википедия

  • ROT13 — ersetzt jeden Buchstaben durch seine Entsprechung 13 Stellen weiter im Alphabet. Im gezeigten Beispiel wird „HELLO“ zu „URYYB“. ROT13 (engl. rotate by 13 places, zu Deutsch in etwa „rotiere um 13 Stellen“) ist eine Verschiebechiffre (auch Caesar… …   Deutsch Wikipedia

  • ROT13 — 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… …   Wikipédia en Français

  • Rot 13 — ROT13 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 …   Wikipédia en Français

  • List of formal language and literal string topics — This is a list of formal language and literal string topics, by Wikipedia page. Contents 1 Formal languages 2 Literal strings 3 Classical cryptography Formal languages Abstract syntax tree …   Wikipedia

  • American Standard Code for Information Interchange — Der American Standard Code for Information Interchange (ASCII, alternativ US ASCII, oft [æski] ausgesprochen) ist eine 7 Bit Zeichenkodierung; sie entspricht der US Variante von ISO 646 und dient als Grundlage für spätere auf mehr Bits basierende …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”