Che cos’è il ROT13
Nella codifica e decodifica ROT13 ogni lettera “ruota di 13 posizioni” (rotate by 13 places, da cui il nome): viene sostituita dalla lettera che si trova 13 posti più avanti nell’alfabeto. A diventa N, B diventa O, e N ricomincia da A. Le maiuscole restano maiuscole, e tutto ciò che non è una lettera resta dov’è.
Dato che l’alfabeto ha 26 lettere, due rotazioni di 13 riportano al punto di partenza. Per questo il ROT13 è l’inverso di sé stesso: la stessa operazione codifica e decodifica. Non devi mai chiederti “in quale direzione?”
Il ROT13 si è diffuso nei newsgroup di Usenet negli anni ’80 come modo educato per nascondere spoiler, battute finali e soluzioni di enigmi. Chi voleva vederli poteva decodificarli in un solo passaggio. Si usa ancora nei forum, negli indizi di geocaching e negli esercizi di programmazione.
Come usare lo strumento
- Scrivi o incolla il testo in Testo a sinistra. La versione ROT13 compare in Testo ROT13 a destra.
- Per leggere un messaggio rimescolato, incollalo in Testo ROT13. La versione in chiaro compare a sinistra.
- Se ti serve un’altra rotazione, sceglila in Variante:
- ROT13: solo lettere
- ROT18: lettere e cifre
- ROT47: tutti i caratteri ASCII visibili
- Premi Copia sopra uno dei due riquadri per copiarlo, oppure Cancella per svuotarli entrambi.
Esempi
Questi risultati vengono da ciascuna variante su questa pagina.
| Testo | ROT13 | ROT18 | ROT47 |
|---|---|---|---|
| Hello, World! | Uryyb, Jbeyq! | Uryyb, Jbeyq! | w6==@[ (@C=5P |
| Room 42 | Ebbz 42 | Ebbz 97 | #@@> ca |
| Code 2026 | Pbqr 2026 | Pbqr 7571 | r@56 a_ae |
| Gate 7 opens | Tngr 7 bcraf | Tngr 2 bcraf | v2E6 f @A6?D |
| To get to the other side! | Gb trg gb gur bgure fvqr! | Gb trg gb gur bgure fvqr! | %@ 86E E@ E96 @E96C D:56P |
L’alfabeto ROT13 completo è questo, con le lettere in chiaro sopra e le corrispondenti in ROT13 sotto:
abcdefghijklmnopqrstuvwxyz
nopqrstuvwxyzabcdefghijklm
La prima metà corrisponde alla seconda e la seconda torna alla prima: a diventa n, n diventa a, z diventa m.
Le tre varianti
ROT13 ruota solo le lettere dalla A alla Z e dalla a alla z di 13 posizioni. Cifre, spazi, punteggiatura e lettere accentate non vengono toccati. È la versione classica, quella che si intende di solito.
ROT18 è il ROT13 per le lettere più il ROT5 per le cifre. Ogni cifra si sposta di 5 posizioni, quindi 0 diventa 5, 1 diventa 6 e 9 diventa 4. Anche questa variante è l’inversa di sé stessa.
ROT47 lavora sui 94 caratteri ASCII visibili da ! a ~, che comprendono lettere, cifre e simboli comuni. Ognuno si sposta di 47 posizioni. Dato che 47 è la metà di 94, anche il ROT47 si annulla da solo. L’output somiglia molto meno a un testo, ed è proprio lo scopo, ma può contenere caratteri come apici inversi e barre verticali che alcune app di chat interpretano come formattazione.
Gli spazi e i caratteri fuori da questi intervalli, come emoji e lettere accentate, restano invariati in tutte le varianti. Con un testo italiano si vede subito: perché in ROT13 diventa crepué, con la é rimasta al suo posto.
Limiti
Il ROT13 è un caso particolare del cifrario di Cesare con spostamento 13. Non offre alcuna sicurezza. Non c’è una chiave, e molte persone riescono a leggere a occhio le parole brevi in ROT13. Usalo per nascondere uno spoiler a uno sguardo veloce, mai per proteggere una password o un messaggio privato.
Non ha alcun effetto sugli alfabeti diversi da quello inglese. Un testo in greco, cirillico o arabo passa senza modifiche.
Altri modi per applicare il ROT13
Su Linux, macOS o Git Bash, il comando tr applica il ROT13 in una riga:
echo 'Hello, World!' | tr 'A-Za-z' 'N-ZA-Mn-za-m'
Stampa Uryyb, Jbeyq!. Passa l’output allo stesso comando per riavere l’originale.
Python ha il ROT13 nella libreria standard:
import codecs
codecs.encode('Hello, World!', 'rot13')
Anche questo restituisce Uryyb, Jbeyq!.
In Vim, seleziona il testo e premi g? per applicare il ROT13. Anche alcuni client di posta ed editor di testo hanno un comando ROT13 nei loro menu.
In un foglio di calcolo dovresti elaborare ogni carattere con CODE, MOD e CHAR (CODICE, RESTO e CODICE.CARATT nell’Excel italiano), e la preparazione richiede tempo. Incollare il testo qui è più semplice.
Strumenti correlati
Per qualsiasi altro spostamento, usa il cifrario di Cesare, che trova anche gli spostamenti sconosciuti. Per trasformare le lettere in numeri, usa il cifrario A1Z26. Per codificare un testo in modo che sopravviva a email e URL, invece di nasconderlo, usa il Base64.