3.1 Cifrario di Vigenère

Uno dei più antichi cifrari di cui sia rimasta traccia è il cifrario di Giulio Cesare; grazie allo storico Svetonio è giunto fino a noi il racconto di come Giulio Cesare comunicasse con le sue truppe; ovvero con un cifrario a sostituzione monoalfabetica che consisteva nello spostare di 3 posizioni ogni lettera, mandando le ultime lettere dell’alfabeto nelle prime. Si sa che anche Augusto usava questo metodo però leggermente modificato; infatti ogni lettera era spostata di 1 sola posizione ed alla lettera X corrispondeva AA; facciamo quindi vedere lo schema di questi due metodi di cifratura e diamo un esempio di trasformazione da testo in chiaro a testo cifrato:


testo in chiaro abcdefghiklmnopqrstux
testo cifrato (Cesare) defghiklmnopqrstuxabc
testo cifrato (Augusto) bcdefghiklmnopqrstuxaa

Tabella 3.1: Cifrari di Cesare e di Augusto



Esempio:
-testo in chiaro: ipse dixit
-testo cifrato (C.): msxhgmcma
-testo cifrato (A.): kqtfekaaku

La decifrazione quindi (che a quei tempi era comunque ritenuta molto difficile se non impossibile, basti pensare al tasso di alfabetizzazione), consisteva nel far scorrere ogni lettera indietro di rispettivamente 3 o 1 posizione (ricordando nel caso di Augusto che la x viene cifrata con aa) e nel riposizionare gli spazi (si ricordi che in ogni testo cifrato punteggiatura e spazi sono sempre omessi).
Più in generale, considerando il moderno alfabeto inglese composto da 26 caratteri, si definisce la funzione: xx + k mod(26) con k [0, 25] come funzione per la cifratura, e si definisce la funzione gk: xx k mod(26) con k [0, 25] come funzione per la decifrazione, k sarà così la chiave.



Figura 3.2: Tabella delle frequenze delle lettere della lingua inglese

Questo cifrario può facilmente essere attaccato con un attacco a forza bruta; supponiamo infatti di possedere soltanto il testo cifrato, allora basterà semplicemente provare tutti i valori di k che sappiamo essere 26 e si otterrà praticamente sempre un solo messaggio di senso compiuto. Un’altra tecnica (avendo un messaggio non troppo corto) può essere quella di sfruttare la frequenza delle lettere; esistono tabelle di frequenza delle lettere di ogni lingua, basterà allora cercare la lettera più frequente in questa tabella e vedere la lettera più frequente nel testo cifrato, se ne potrà così ricavare la chiave.

Questo è un esempio di cifrario a sostituzione (cioè un cifrario in cui ad ogni lettera viene applicata sempre la stessa fissata permutazione dell’alfabeto); in contrapposizione ai cifrari a permutazione, in cui il testo viene diviso in blocchi e vengono applicate permutazioni degli elementi di ogni blocco, che cambiano solo l’ordine dei caratteri.



Pagina precedente Pagina successiva