(:title Crittografia - Lezione del 6 marzo 2008:)
:: Crittografia - Lezione del 6 marzo 2008 ::
Torna alla pagina di Crittografia
La macchina Enigma
La macchina Enigma è stata inventata nei primi anni del 1900, e basa il suo funzionamento su dei rotori.
Ogni rotore ha due lati, e sui lati sono segnate le 26 lettere dell'alfabeto. All'interno del rotore ci sono dei collegamenti elettrici che vanno da una lettera di un lato ad una lettera di un altro lato.
Ci sono tre di questi rotori, in fila, così che la corrente elettrica che parte dalla tastiera della macchina Enigma entra nel primo rotore nella lettera appropriata, attraversa i cavi del primo rotore fino alla seconda faccia, cambiando lettera, entra nel secondo rotore etc. fino ad uscire dal terzo rotore.
Ci sono state anche versioni con più rotori, ma il funzionamento è lo stesso.
Ma lasciamo stare i dettagli tecnici, che potete trovare un po' ovunque.
La cosa interessante è che il primo rotore ruota ad ogni pressione di un tasto sulla tastiera. Dopo aver fatto un giro completo (ovvero dopo 26 tasti premuti), esso fa compiere un passo al secondo rotore. Dopo 26 passi del secondo rotore, il terzo ne compie uno. (In realtà il funzionamento era leggermente diverso, ma non importa).
Questo vuol dire che ho 26 * 26 * 26 = 17576 alfabeti cifranti diversi, perché ho tre dischi con 26 lettere ciascuno. Ad ogni pressione di un tasto l'alfabeto cifrante muta.
La macchina Enigma veniva configurata mettendo i rotori in un certo ordine (ad esempio, il rotore 1 in posizione 3, il rotore 5 in posizione 1 e così via). Poi, ogni rotore veniva ruotato così da non cominciare con la lettera A, ma con un'altra lettera scelta da chi voleva crittare il messaggio (anche qui non entro nei dettagli storici).
Riassumendo:
- 3 rotori di 26 lettere ciascuno: 26 * 26 * 26 = 17576
- 3 rotori in 3 posizioni relative: 3! = 6 combinazioni
- scambiatore: inverto a caso 12 lettere
TOTALE: 10 milioni di miliardi di chiavi.
Ogni 17576 lettere premute, si tornava comunque all'alfabeto cifrante che aveva cifrato la prima lettera, ma ovviamente i messaggi trasmessi durante la guerra erano molto meno lunghi, non si inviavano dei libri interi, e quindi non c'era pericolo di ripetizione della stessa chiave all'interno di un messaggio.
Per poter tentare un attacco statistico basato sulla frequenza delle lettere, mi servono almeno 50 lettere cifrate con lo stesso alfabeto. Abbiamo appena visto che con Enigma lo stesso alfabeto si ripete dopo 17576 caratteri. Quindi, per avere 50 lettere con lo stesso alfabeto, devo avere un testo lungo almeno 50 * 17576 = 878800 caratteri. Tantino.
One-Time Pad
Torna alla pagina di Crittografia