Come fare perché un messaggio riservato possa passare dal mittente al destinatario senza che chi lo intercetti possa comprenderlo? Questo è l'obiettivo della crittografia.
E non è cosa solo dei nostri giorni: già nel I secolo a.C., come attesta lo storico Svetonio, Cesare amava cifrare e decifrare messaggi: camuffava i messaggi in chiaro (cioè i messaggi segreti) trasformandoli in altri (messaggi cifrati) che poi il destinatario avrebbe decifrato, cioè avrebbe decodificato nel messaggio in chiaro. Il suo sistema di cifratura era molto semplice, per sostituzione monoalfabetica:
sostituiva a ogni lettera del messaggio un'altra secondo una precisa corrispondenza biunivoca, stabilita dal suo cifrario, qui a lato, facendo ruotare un disco sull'altro di un numero di posti fissato (detto chiave). Al destinatario, che conosceva la chiave, per decifrare il messaggio bastava ruotare il cifrario in senso opposto di altrettanti posti.
MATHLAB Costruiamo in Excel il cifrario di Cesare.
Innanzitutto traduciamo le lettere in numeri, in modo da poter operare matematicamente la cifratura: numeriamo le 26 lettere dell'alfabeto, scrivendo sul foglio Excel la tabella di corrispondenza:
Cominciamo con il chiederci quale relazione ci sia fra una lettera del messaggio in chiaro e la sua sostituta nel messaggio cifrato. Ogni lettera viene traslata in avanti di tanti posti quanti indicati dalla chiave:
LETTERA CIFRATA = LETTERA IN CHIARO + CHIAVE
Per esempio, se la chiave è 1, la lettera in chiaro E sarà cifrata F, poiché E=5 e 5+1=6 che corrisponde a F. Ma in queste condizioni, Z come sarà cifrata? Dal cifrario cartaceo capiamo che diventi A, dai calcoli otteniamo 26+1=27, usciamo cioè dalla nostra tabella. Come possiamo fare perché 27 sia considerato 1?
Possiamo considerare il modulo 26 che, come ormai sappiamo, Excel calcola con la funzione: RESTO(dividendo;divisore).
La nostra operazione diventa: LETTERA CIFRATA = LETTERA IN CHIARO + CHIAVE (mod 26)
che nel linguaggio di Excel è la formula: =RESTO(cella della LETTERA IN CHIARO+cella della CHIAVE;26).
Da ultimo, dobbiamo ritradurre: dal numero ottenuto alla lettera. Per queste 2 traduzioni, quella iniziale dalla lettera al numero e questa conclusiva dal numero alla lettera, dobbiamo dire a Excel di cercare rispettivamente la lettera in chiaro o il numero cifrato nell'intervallo utile della tabella e tradurlo: dobbiamo perciò usare 2 volte la funzione CERCA.ORIZZ(valore;intervallo;valore associato;VERO), una per passare dalla lettera in chiaro al numero e una per passare dal numero cifrato alla lettera cifrata.
Ecco il nostro risultato:
Clicca sul file e scaricalo, in modo da poterlo utilizzare e visualizzarne le formule (con doppio clic sulle celle).
Quindi cerca di riprodurlo su un foglio vuoto, ripercorrendo le tappe che hai visto qui illustrate.
Scrivi un messaggio, scegli una chiave ed è fatta! Geniale... o forse no? Chi ti dice che chi lo dovesse intercettare non riesca a decifrarlo facilmente?