Méthodes de chiffrement Substitution
ROT-47
Variante de ROT-13 étendue aux 94 caractères ASCII imprimables (33 à 126). Décalage fixe de 47 positions : lettres, chiffres et symboles sont tous permutés ensemble.
- Famille :
- Substitution
- Difficulté :
- Débutant
- Époque :
- Ère Internet (années 1990)
Aussi appelé : ROT47 · rotation ASCII 47 · extended ROT-13
ROT-47 est la cousine étendue de ROT-13 : au lieu de s’appliquer uniquement aux 26 lettres de l’alphabet, elle opère sur la totalité des 94 caractères ASCII imprimables (des codes 33 à 126). Le décalage est fixé à 47, soit exactement la moitié de 94, ce qui la rend involutive : une seule opération chiffre et déchiffre à la fois, exactement comme ROT-13.
Principe
Pour chaque caractère c dont le code ASCII vérifie 33 ≤ code(c) ≤ 126 :
code(c') = 33 + ((code(c) − 33 + 47) mod 94)
Les caractères hors plage (espaces, tabulations, caractères de contrôle) restent inchangés. Les majuscules, minuscules, chiffres, ponctuation et symboles sont tous permutés à l’intérieur du même bloc de 94.
Quelques correspondances
A (65) → r (114) 0 (48) → _ (95)
B (66) → s (115) @ (64) → q (113)
C (67) → r (114) ? (63) → p (112)
a (97) → 2 (50) ! (33) → P (80)
z (122) → K (75) space → space
Pourquoi exactement 47 ?
Le décalage 47 est choisi pour :
- Couvrir la moitié des 94 caractères imprimables : involutif → chiffrer = déchiffrer.
- Décaler les majuscules dans la plage des minuscules, et réciproquement — un texte chiffré ressemble à du « bruit lisible » qui peut être transmis par n’importe quel canal texte (e-mail, IRC, chat).
- Préserver le formatage ASCII : les retours à la ligne, les tabulations et les espaces sont conservés, ce qui permet de chiffrer du code source ou des URL sans perte de structure.
Usage historique
ROT-47 apparaît dans la culture Unix des années 1990, quand ROT-13 est apparu trop limité pour cacher, dans les forums Usenet et les mailing lists, du contenu au-delà des lettres (spoilers de jeux vidéo, réponses à des énigmes, chutes de blagues). Le passage à ROT-47 permettait de masquer aussi les chiffres et la ponctuation, ce qui rendait illisible à vue des URL, des adresses e-mail, des extraits de code.
Comme pour ROT-13, l’intention n’a jamais été la sécurité : juste un léger « blanchiment » qui oblige à un acte conscient pour lire — on copie-colle dans un outil de rotation ou on tape tr en shell Unix.
echo "Bonjour le monde" | tr '!-~' 'P-~!-O' → ROT-47
Variantes
- ROT-5 — uniquement sur les chiffres 0-9.
- ROT-13 — uniquement sur les lettres a-z et A-Z.
- ROT-18 — combinaison ROT-13 sur lettres + ROT-5 sur chiffres.
- ROT-47 — ASCII imprimable complet (33-126).
- ROT-8000 — extension Unicode qui couvre l’essentiel des alphabets humains (plane 0).
Toutes reposent sur le même principe involutif : un décalage égal à la moitié de l’intervalle couvert.
Forces et faiblesses
Forces
- Trivialement réversible, aucun calcul mental coûteux.
- Préserve la structure du texte (longueurs de lignes, espaces, structure JSON/HTML si on applique sur le contenu seulement).
- Existe dans toutes les bibliothèques standard et les éditeurs texte majeurs (Vim :
g?, Emacs :M-x rot13-region).
Faiblesses
- Aucune sécurité : un œil averti identifie ROT-47 en quelques secondes par la distribution des caractères (tilde, accolades, barres verticales disproportionnellement présents).
- L’analyse de fréquence sur l’ASCII imprimable remonte à un plaintext anglais/français en quelques secondes de calcul.
- N’a absolument pas sa place dans un usage de confidentialité réelle.
Dans CipherChronicle
ROT-47 est le frère étendu de ROT-13 — même logique, plus de caractères. Les grilles associées peuvent mélanger lettres majuscules, minuscules, chiffres et ponctuation pour former des puzzles visuellement plus riches que du pur alphabétique, tout en restant accessibles à un débutant qui comprend déjà ROT-13.
Grille
- 1
Un ciphertext mixte
Minuscules, ponctuation, caractères inhabituels — la signature visuelle d'une rotation ASCII.
- 2
Reconnaissance du motif
Le jeu de caractères couvre l'ASCII imprimable (33-126). Aucune lettre majuscule intacte — ROT-47 les a déplacées.
- 3
Hypothèse : rotation ASCII de 47
47 = 94 / 2 → involutif comme ROT-13 : chiffrer et déchiffrer sont la même opération.
- 4
Application du décalage inverse
Chaque caractère ASCII recule de 47 positions (modulo 94), retrouve son clair.
- 5
Message révélé
Le texte d'origine réapparaît — ici, le nom du projet.