La crittografia è antica quanto il bisogno di mandare un messaggio senza che un estraneo possa leggerlo. La sua storia non è una semplice curiosità: ogni epoca ha lasciato una lezione che vale ancora oggi, quando cifriamo un disco o apriamo un sito in HTTPS.
I cifrari antichi: sostituire e spostare
Il cifrario attribuito a Giulio Cesare è l'esempio più noto: ogni lettera viene sostituita da quella che si trova un certo numero di posizioni più avanti nell'alfabeto. Con uno spostamento di tre, la A diventa D, la B diventa E e così via. Il messaggio "ATTACCO" diventa "DWWDFFR".
Il difetto è evidente: esistono solo una ventina di spostamenti possibili, e chiunque può provarli tutti in pochi minuti. È il primo esempio di quello che oggi chiamiamo attacco a forza bruta: se lo spazio delle chiavi è piccolo, la segretezza dell'algoritmo non basta.
Un passo avanti fu la sostituzione monoalfabetica, in cui ogni lettera viene sostituita da un'altra secondo una tabella arbitraria. Le combinazioni diventano un numero enorme, eppure il sistema cade lo stesso. Il motivo è la analisi delle frequenze: in italiano la E, la A e la I compaiono molto più spesso della Q o della Z, e questa regolarità sopravvive alla sostituzione. Contando i simboli più frequenti nel testo cifrato si risale rapidamente alle lettere originali.
Prima lezione: una chiave enorme non serve se il cifrario lascia trasparire la struttura del testo.
I cifrari polialfabetici
Per nascondere le frequenze, nel Rinascimento si diffusero i cifrari polialfabetici, il più famoso dei quali è noto come cifrario di Vigenère (descritto in realtà già da Giovan Battista Bellaso). Si usa una parola chiave, e ogni lettera del messaggio viene spostata di una quantità diversa a seconda della lettera corrispondente della chiave. La stessa E in chiaro può diventare lettere diverse nel testo cifrato.
Per secoli fu considerato indecifrabile, ma nell'Ottocento si capì come attaccarlo: se la chiave si ripete, si ripetono anche gli schemi. Individuata la lunghezza della chiave, il cifrario si scompone in tanti piccoli cifrari di Cesare, ciascuno vulnerabile all'analisi delle frequenze.
Seconda lezione: la ripetizione è nemica della segretezza. Ancora oggi molti errori pratici nascono dal riutilizzo di chiavi o di valori che dovrebbero essere unici.
Il cifrario perfetto e il suo prezzo
All'inizio del Novecento venne formalizzato il cifrario a blocco monouso (one-time pad): una chiave casuale lunga quanto il messaggio, usata una sola volta. Se queste condizioni sono rispettate, il testo cifrato non rivela nulla sul messaggio, e questo è dimostrabile matematicamente.
Il problema è pratico: bisogna generare, distribuire e custodire chiavi lunghe quanto tutti i messaggi che si manderanno, e non riutilizzarle mai. Per questo il one-time pad è rimasto confinato a usi molto specifici. Terza lezione: la sicurezza teorica non vale nulla se la gestione delle chiavi è impraticabile.
Enigma: la macchina che sembrava invincibile
Negli anni Venti e Trenta la crittografia si meccanizzò. La macchina Enigma, usata dalle forze armate tedesche durante la Seconda guerra mondiale, combinava rotori, un riflettore e un pannello di connessioni. Ogni pressione di un tasto faceva avanzare i rotori, quindi la sostituzione cambiava a ogni lettera. Il numero di configurazioni iniziali era astronomico.
Eppure Enigma fu violata. I matematici polacchi, guidati da Marian Rejewski, ne ricostruirono il funzionamento già negli anni Trenta. Il lavoro proseguì a Bletchley Park, in Inghilterra, dove Alan Turing e molti altri progettarono macchine elettromeccaniche per accelerare la ricerca delle impostazioni giornaliere.
Il successo non nacque da una debolezza nel numero di chiavi, ma da dettagli di progetto e di uso:
- una lettera non poteva mai essere cifrata in se stessa, il che permetteva di scartare molte ipotesi;
- gli operatori usavano formule ripetitive, come intestazioni e bollettini meteo, che fornivano frammenti di testo in chiaro noto;
- alcune procedure, come la ripetizione della chiave del messaggio, creavano schemi sfruttabili.
Quarta lezione: un sistema crittografico è forte quanto il suo anello più debole, e spesso quell'anello è l'uso umano.
L'era dei computer e la chiave pubblica
Negli anni Settanta lo standard statunitense DES divenne il riferimento per la cifratura commerciale; la sua chiave da 56 bit, adeguata allora, fu poi resa insufficiente dalla crescita della potenza di calcolo. Il suo successore, AES, è oggi lo standard più diffuso al mondo.
La vera rivoluzione fu però concettuale. Nel 1976 Whitfield Diffie e Martin Hellman pubblicarono l'idea di due parti che concordano una chiave segreta comunicando su un canale pubblico. Poco dopo nacque RSA, il primo sistema a chiave pubblica pratico per cifrare e firmare. Per la prima volta non era necessario incontrarsi per scambiarsi un segreto: questo è il fondamento di HTTPS, delle firme digitali e delle chat cifrate.
Il principio che attraversa tutta la storia
Nell'Ottocento Auguste Kerckhoffs formulò un principio che oggi è una regola d'oro: un sistema deve restare sicuro anche se il nemico conosce tutto del suo funzionamento, tranne la chiave. Gli algoritmi moderni sono pubblici, studiati da migliaia di ricercatori, e proprio per questo affidabili. Diffida di chi propone una "cifratura segreta e proprietaria" come garanzia di sicurezza.
In sintesi
- I cifrari antichi cadevano per spazio di chiavi ridotto o perché lasciavano trasparire le frequenze del testo.
- La ripetizione di chiavi e di schemi è stata la rovina di molti sistemi, da Vigenère a Enigma.
- Enigma fu violata soprattutto grazie a difetti di progetto e a procedure d'uso prevedibili.
- La crittografia a chiave pubblica ha reso possibile comunicare in modo sicuro senza incontrarsi prima.
- Il principio di Kerckhoffs resta valido: la sicurezza deve dipendere dalla chiave, non dal segreto dell'algoritmo.