sabato 24 luglio 2010

Cifratura alle elementari

Terza elementare. Simone è il più bravo in italiano, mentre Giulia, la sua migliore amica, è la più brava in matematica. Simone manda a Giulia un biglietto con la soluzione del dettato. Ma il biglietto viene intercettato dalla maestra di italiano. Ecco il contenuto del biglietto:

Aeov bkwy nov vkqy ns Mywy, mro fyvqo k wojjyqsybxy, dbk neo mkdoxo xyx sxdobbyddo ns wyxds, deddy k coxs o k qyvps, k comyxnk novvy czybqobo o nov bsoxdbkbo ns aeovvs, fsox, aekcs k ex dbkddy, k bscdbsxqobcs, o k zboxnob mybcy o psqebk ns psewo, dbk ex zbywyxdybsy k nocdbk, o ex'kwzsk mycdsobk nkvv'kvdbk zkbdo; o sv zyxdo, mro sfs myxqsexqo vo neo bsfo, zkb mro boxnk kxmyb zsè coxcslsvo kvv'ymmrsy aeocdk dbkcpybwkjsyxo, o coqxs sv zexdy sx mes sv vkqy mocck, o v'Knnk bsmywsxmsk, zob bszsqvskb zys xywo ns vkqy nyfo vo bsfo, kvvyxdkxkxnycs ns xeyfy, vkcmskx v'kmaek nscdoxnobcs o bkvvoxdkbcs sx xeyfs qyvps o sx xeyfs coxs.

Prima di rinchiudere Simone in manicomio, la maestra domanda spiegazioni. Sebbene dapprincipio manifesti una certa riluttanza, alla fine il bambino ammette che «è un messaggio cifrato secondo Cesare».
Prima di dargli una punizione esemplare, con duecento sferzate nella schiena, per le bugie che va raccontando, la maestra di italiano chiede a quello di matematica se ciò che ha detto Simone ha un significato. Costui, a questo punto, commosso dalla preparazione di Simone, singhiozza un «Sì» troppo distorto per essere compreso, così ripete «Sì» e aggiunge «Pare che usi un sistema di comunicazione cifrato con Giulia. Però bisogna farsi dire la chiave di cifratura da Simone o Giulia, altrimenti non riusciremo a decifrare il messaggio».
Simone e Giulia non diranno mai la chiave, perché si vogliono troppo bene per tradirsi. Allora i due maestri si recano dal preside per comunicargli l'accaduto. Gli si prospettano immediatamente davanti le seguenti scelte.
  • Licenzia immediatamente il maestro di matematica, perché non è in grado di decifrare il messaggio, e si intrattiene più che affettuosamente con la maestra di italiano.
  • Non gli importa del messaggio e sospende Simone e Giulia. Quindi si intrattiene con la maestra di italiano.
  • Giulia in manicomio; Simone duecento sferzate. La maestra di italiano ovviamente viene trattenuta in direzione.
  • Il maestro di matematica in manicomio; la maestra di italiano duecento sferzate, poi lei a lui, e così via «gattina mia».
  • Dà 24 ore al professore di matematica per decifrare il messaggio, per pura curiosità, altrimenti lo licenzia, quindi si intrattiene con la maestra di italiano.
  • ...
Tra i vari pensieri che gli balenano nella mente in meno di un secondo, sceglie l'ultima.

Il professore di matematica non sa che pesci pigliare, e ha l'ottima idea di chiedere aiuto, ma al contempo la pessima idea di chiederlo al preside, mentre è in direzione con la maestra di italiano tra le braccia. Quindi lo licenzia ed esclama: «Qui bisogna fare tutto da soli!».

Si sa, i direttori delle scuole tornano per ultimi a casa. Torna quindi a casa da sua moglie (la maestra di italiano), che gli chiede «Che cosa c'è scritto nel messaggio?». E lui: «Non lo so, che importanza ha? mettiamoci a letto...». Purtroppo non è sempre tutto rose e viole, quindi lei, bisbetica, dice: «Niente letto finché non mi dirai che c'è scritto!». Lui cerca di divincolarsi da un tale stupido ncarico, ma è troppo buono per fare una stampa a colori alta qualità della sua mano destra aperta sul bel viso della moglie, pertanto decifra il messaggio. (Ma solo perché è curioso.)

L'algoritmo di Cesare funziona secondo la seguente regola matematica di sostituzione:

Dove è l'i-esima lettera del messaggio in chiaro, ottenibile da i-esima lettera del messaggio cifrato, la chiave di cifratura e corrisponde al numero di lettere nell'alfabeto, in generale 26, per sicurezza, sebbene le lettere J, K, W, X, Y abbiano chiaramente incidenza quasi nulla.
Non disponendo però della chiave, tuttavia sapendo che è stato usato l'algoritmo di Cesare, è possibile attaccarlo facilmente, cononscendo le frequenze delle lettere nella lingua italiana. Per ottenere queste frequenze, usando ad esempio “Il Signore degli Anelli”, uno dei grandi libri del XX secolo, vanno contate le occorrenze delle lettere. Eccone quindi il diagramma a barre.

La E è la lettera più usata, poi la A, e così via.
La frequenza delle strane lettere nel messaggio invece sono nel seguente diagramma.

Mettendole in ordine di lunghezza, si confrontano la chiave che ognuna genera: la chiave più frequente sarà molto probabilmente quella giusta. Sembra ridicolo dover fare tutto questo anziché provare tutte le 26 combinazioni possibili, ma in realtà noi stiamo supponendo che siano solo 26. Purtroppo questo non è generalmente conosciuto e probabilmente è un alfabeto molto più ricco, dove si modificano anche i segni di interpunzione, vi è distinzione tra maiuscole e minuscole, e altre complicazioni varie possibili.


Dal confronto delle lettere, si ottiene dunque la chiave corrispettiva, ad esempio E-O corrisponde ad un salto di 10 posizioni, pertanto la chiave sarà K (decima lettera dell'alfabeto).

italiano
E
A
O
I
N
R
L
T
S
C
D
U
M
P
V
G
F
H
B
Z
Q
Y
K
W
X
J
messaggio
O
S
K
Y
X
B
V
D
N
C
E
M
Q
Z
W
F
P
A
R
J
L
U
T
I
H
G
chiave
K
S
W
Q
K
K
K
K
V
A
B
S
E
K
B
Z
K
T
Q
K
V
W
J
M
K
X
#scansione
1
1
1
1
2
3
4
5
1
1
1
2
1
6
2
1
7
1
2
8
2
2
1
1
9
1
#chiave
9
2
2
2
9
9
9
9
2
1
2
2
1
9
2
1
9
1
2
9
2
2
1
1
9
1
Tabella 1. Frequenze delle lettere ordinate in un testo italiano generico (prima riga) e nel messaggio (seconda riga), con corrispondente chiave (terza riga). Nella penultima riga il numero di volte che si trova la chiave scandendo colonna dopo colonna, mentre nell'ultima riga si trova il numero di volte che la chiave ricorre (su fondo giallo la chiave più ricorrente).

La chiave più probabile è la K, ovvero uno spostamento di 10 lettere. Sebbene potrebbe per qualche testo risultare opportuno far variare di qualche percentuale le frequenze del messaggio, così da calcolare anche la chiavhe E-S ad esempio, e A-O (questo sarebbe un metodo ancora più preciso), per la maggior parte dei casi è sufficiente la precedente tabella comparativa.
Quindi la seguente tabella di conversione relativa alla chiave K permette la decifratura.

cifrato
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
chiaro
Q
R
T
S
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Tabella 2. Conversione delle lettere secondo la chiave K nell'algoritmo di Cesare nella cifratura (per la cifratura basta leggerla al contrario).

Infine il testo decifrato risulta essere:

Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti, tutto a seni e a golfi, a seconda dello sporgere e del rientrare di quelli, vien, quasi a un tratto, a ristringersi, e a prender corso e figura di fiume, tra un promontorio a destra, e un'ampia costiera dall'altra parte; e il ponte, che ivi congiunge le due rive, par che renda ancor più sensibile all'occhio questa trasformazione, e segni il punto in cui il lago cessa, e l'Adda ricomincia, per ripigliar poi nome di lago dove le rive, allontanandosi di nuovo, lascian l'acqua distendersi e rallentarsi in nuovi golfi e in nuovi seni.

Il testo ha perfettamente senso: la probabilità che cambiando chiave il testo risultante abbia senso è tanto prossimo allo zero quanto più è lungo il testo. Pertanto è corretto.

Arzigogolando l'ottima capacità di concentrazione di Simone, che non ha commesso nemmeno un errore nella cifratura, conoscendo questo testo a memoria, torna da sua moglie e, senza introduzione, le recita il periodo con una certa enfasi esagerata. «Lei chiaramente, stizzita del fatto che non ho accontentato la sua altezzosa curiosità, ammutolita s'infurierà», pensa il marito tra sé e sé. Quindi attua il diabolico piano, ma lei, interrompendolo quasi all'inizio, esclama: «Quindi Simone le stava passando il dettato! che carino...».
Distratto, il preside non aveva pensato che lo avrebbe capito subito, visto che essendo la maestra di italiano, lo dettava lei. «Come carino? lo dovresti puni...». E si cambia argomento: non aspettavano altro.

4 commenti: