Che cos’è il cifrario di Cesare
Il cifrario di Cesare sostituisce ogni lettera con quella che si trova un numero fisso di posizioni più avanti nell’alfabeto. Con uno spostamento di 3, A diventa D, B diventa E e così via. Alla fine l’alfabeto ricomincia da capo, quindi X diventa A, Y diventa B e Z diventa C.
Prende il nome da Giulio Cesare che, secondo lo storico romano Svetonio, usava uno spostamento di tre nelle lettere private. È uno dei cifrari più antichi che si conoscano ed è ancora il primo che quasi tutti imparano.
La chiave è lo spostamento. Chi la conosce può ricostruire il messaggio spostando le lettere indietro dello stesso numero di posizioni.
Come usare lo strumento
Per cifrare. Scrivi il messaggio in Testo in chiaro. La versione cifrata compare in Testo cifrato mentre scrivi.
Per decifrare. Incolla il messaggio cifrato in Testo cifrato. La versione leggibile compare in Testo in chiaro.
Per cambiare la chiave. Trascina il cursore Spostamento, oppure premi i pulsanti meno e più per avanzare di una posizione alla volta. Il riquadro in cui hai scritto per ultimo resta fisso e l’altro si aggiorna.
Per forzare un messaggio con chiave sconosciuta. Incollalo in Testo cifrato e guarda l’elenco intitolato Tutti i 25 spostamenti del testo cifrato. Vengono mostrate tutte le soluzioni possibili. Quella che somiglia di più all’inglese ha l’etichetta Probabilmente inglese. Premi il pulsante con il numero accanto a una riga per portare il cursore su quello spostamento.
Premi Copia sopra uno dei due riquadri per copiarne il testo, oppure Cancella per ricominciare.
Esempi
Questi risultati vengono dal cifrario di questa pagina.
| Testo in chiaro | Spostamento | Testo cifrato |
|---|---|---|
| Hello, World! | 3 | Khoor, Zruog! |
| Hello, World! | 7 | Olssv, Dvysk! |
| Meet me at the old oak tree | 3 | Phhw ph dw wkh rog rdn wuhh |
| ATTACK AT DAWN | 13 | NGGNPX NG QNJA |
| Zebra crossing | 1 | Afcsb dspttjoh |
| The quick brown fox | 23 | Qeb nrfzh yoltk clu |
Uno spostamento di 23 equivale a uno spostamento di 3 all’indietro. Ecco perché “The” diventa “Qeb”. E la frase più famosa di Cesare, Veni, vidi, vici, con spostamento 3 diventa Yhql, ylgl, ylfl.
Ecco l’inizio dell’elenco di forza bruta per Phhw ph dw wkh rog rdn wuhh:
| Spostamento provato | Risultato |
|---|---|
| 1 | Oggv og cv vjg qnf qcm vtgg |
| 2 | Nffu nf bu uif pme pbl usff |
| 3 | Meet me at the old oak tree |
| 4 | Ldds ld zs sgd nkc nzj sqdd |
Lo strumento indica lo spostamento 3 come il più probabile.
Come funziona
Ogni lettera viene trasformata in un numero da 0 a 25. Si aggiunge lo spostamento, e se il totale supera 25 si ricomincia da 0. In formula, con x come posizione della lettera e n come spostamento:
- Cifratura: (x + n) mod 26
- Decifratura: (x - n) mod 26
Per scegliere lo spostamento più probabile, lo strumento conta quante volte compare ogni lettera in ciascuno dei 25 testi candidati e confronta questi conteggi con le frequenze tipiche delle lettere in inglese. In inglese E, T e A sono comuni, mentre Q, X e Z sono rare. Il candidato le cui lettere si avvicinano di più a questo schema riceve l’etichetta. Funziona bene con una frase o più. Con un messaggio molto breve, come una sola parola, controlla tu l’elenco, perché diversi spostamenti possono produrre parole reali.
Il confronto si basa sull’inglese, quindi con un testo italiano l’etichetta va presa come un suggerimento. Su Yhql, ylgl, ylfl, per esempio, non indica lo spostamento 3: scorri l’elenco e cerca la riga che si legge in italiano.
Limiti e sicurezza
Il cifrario di Cesare non è vera crittografia. Con solo 25 chiavi, chiunque può provarle tutte. Anche senza computer, in un messaggio lungo la frequenza delle lettere rivela presto la chiave.
Usalo per:
- Cacce al tesoro, escape room e indizi di geocaching.
- Spiegare come funzionano cifrari e chiavi.
- Nascondere spoiler o soluzioni a uno sguardo distratto.
Non usarlo per password, messaggi privati o qualsiasi cosa vada protetta. Per quello usa la crittografia moderna integrata nelle app affidabili.
Altri modi per farlo
Su Linux, macOS o Git Bash, il comando tr può applicare uno spostamento fisso. Questa riga sposta di 3:
echo 'Hello, World!' | tr 'A-Za-z' 'D-ZA-Cd-za-c'
Stampa Khoor, Zruog!. Per decifrare, inverti i due intervalli di lettere, oppure sposta in avanti di 23 con tr 'A-Za-z' 'X-ZA-Wx-za-w'.
In Python, una versione su una riga per le lettere maiuscole è:
''.join(chr((ord(c)-65+3)%26+65) if c.isupper() else c for c in 'HELLO')
Restituisce KHOOR. In Excel la stessa idea richiede CODE, MOD e CHAR (nell’Excel italiano CODICE, RESTO e CODICE.CARATT) su ogni lettera, e per frasi intere la formula diventa lunga.
Cifrari correlati
Lo spostamento di 13 ha una pagina tutta sua: la codifica e decodifica ROT13. Per sostituire le lettere con la loro posizione nell’alfabeto, usa il cifrario A1Z26. Per un codice fatto di segnali invece che di lettere, prova il traduttore di codice Morse.