Da che mondo è mondo, si è sempre sentito il problema di mantenere riservati, ovvero protetti da sguardi indiscreti, i messaggi scritti. Ordini militari, messaggi diplomatici, confessioni segrete, informazioni delicate: tutte queste cose non sono certo invenzioni recenti, cosı come non lo sono i traditori o i corrieri poco fidati. Per questo sin dall'etá piú antica, gli uomini si accorsero che per mantenere la riservatezza di un messaggio, non bastava affidarsi ad un corriere di fiducia o contare sulla lealtá dei propri alleati, ma occorreva qualcosa di piú concreto, soprattutto qualcosa che rendesse possibile la comprensione del messaggio solo al legittimo destinatario.
Uno dei metodi piú bizzarri per trasmettere le informazioni segrete era utilizzato nell'antica Persia e ci viene raccontato da Erodoto. Esso consisteva nel rapare i capelli di uno schiavo e nel tatuargli il messaggio sulla testa. Lo schiavo veniva poi mandato a destinazione dopo che gli erano ricresciuti i capelli e il messaggio veniva recuperato rapandoglieli nuovamente. Piú che di crittografia in questo caso si puó parlare di steganografia, ovvero dell'arte di nascondere i messaggi.
Uno dei piú antichi metodi crittografici sviluppati in occidente è un ingegnoso sistema meccanico dovuto agli spartani e descrittoci da Plutarco. Detto ``scytala'' , esso consisteva in un bastone costruito in due esemplari identici su cui si avvolgeva un nastro di pergamena. Il messaggio veniva scritto nel senso della lunghezza del bastone; il nastro veniva poi sciolto e spedito al destinatario che possedeva una seconda copia del bastone. Riavvolgendo il nastro, in modo da far combaciare i lembi, compariva il messaggio in chiaro.
Il metodo di cifratura piú vecchio, citato da Polibio, consisteva nel
disporre i 26 caratteri dell'alfabeto inglese in una matrice 5 5.
A | B | C | D | E |
F | G | H | I | J |
k | L | M | N | O |
P | R | S | T | U |
V | W | X | Y | Z |
Nella matrice possono essere disposti 25 caratteri, pertanto o ne mettiamo due nella stessa casella, o ne eliminiamo uno. A ciascuna lettera del messaggio possiamo far corrispondere un indice di riga e uno di colonna, cosı al messaggio
ATTACCARE
corrisponde la sequenza
1,1 4,4 4,4 1,1 1,3 1,3 1,1 4,2 1,5.
Polibio suggeriva di mandare tanti messaggeri quanti erano i caratteri del messaggio, contenenti nella mano sinistra tante torce quanto era l'indice di riga e nella mano destra tante torce quanto era l'indice di colonna. Non sappiamo se questo schema sia stato veramente usato, ma è importante perché è il primo schema in cui si passa da un alfabeto a un altro con cardinalitá minore. Il primo sistema crittografico veramente usato è quello di cui si serviva Cesare per mandare le lettere a Cicerone. Cesare sostituiva ciascun carattere con quello che lo seguiva di tre posti nell'alfabeto, cosı la codifica per il messaggio
ATTACCO
era
DWWDFFR.
La funzione di cifratura utilizzata in questo caso era la seguente: facendo corrispondere a ciascuna lettera da A a Z un intero tra 0 e 25, se x era il messaggio in chiaro, il messaggio cifrato era:
Questo schema è il primo esempio di cifrario a sostituzione, ossia in cui ogni carattere viene sostituito da un altro. Anche Augusto usava un cifrario simile a quello usato da Cesare, ma sostituiva ciascun carattere con quello che lo seguiva di un solo posto e codificava l'ultimo carattere con AA. Un cifrario di questo tipo è peró facilmente attaccabile, come suggerito in un famoso romanzo di Edgar Allan Poe, ``Lo scarabeo d'oro'', che è il primo che analizza i metodi di attacco ai cifrari (crittoanalisi).
Sono del 1500 le prime formalizzazioni teoriche della crittografia dovute principalmente alla mente eclettica di Leon Battista Alberti, crittologo della Corte Papale di Roma. Egli, in particolare, scrisse un trattato nel quale esaminava i pro e i contro dei vari metodi crittografici in uso all'epoca, illustrava il metodo corretto per la decifrazione dei cifrari monoalfabetici ed infine esponeva un nuovo metodo di cifratura di sua invenzione che riteneva particolarmente sicuro. In effetti il metodo dell'Alberti altro non era che un precursore dei cosiddetti cifrari a sostituzione polialfabetica ritenuti assolutamente inviolabili fino alla seconda metá del XIX secolo.
Nel '700 cominciarono a diffondersi sistemi crittografici basati su ausili meccanici, come i regoli cifranti di Vigenère, che facilitando l'uso dei metodi polialfabetici, contribuirono a renderne piú solida la fama. Nel 1800 tuttavia, l'invenzione del telegrafo sconvolse il modo di concepire la trasmissione dei messaggi e dunque anche la teoria della loro protezione crittografica.
Ai sicuri, ma lenti sistemi polialfabetici, si cominciarono a preferire i piú vulnerabili ma veloci metodi a permutazione, alle volte scoprendo risultati giá esposti secoli prima da Cardano. Nel frattempo la teoria andava avanti: e mentre Kerckhoffs chiariva le differenze fra la crittografia militare e quella diplomatica, ed identificava correttamente il principio secondo il quale la sicurezza di un cifrario doveva stare nella sola chiave e non nel procedimento di cifratura, Kasiski metteva, infine, a punto, il metodo generale per decrittare quei cifrari polialfabetici dell'Alberti ritenuti inviolabili per tre secoli.
All'inizio del nostro secolo il progresso scientifico permise di costruire macchine cifranti completamente automatizzate; Vernam, un impiegato dell'AT&T, inventó un ingegnoso sistema di protezione crittografica. Con l'introduzione di sistemi crittografici a chiave pubblica, come il DH e l'RSA, entriamo in una nuova fase che va sotto il nome di crittografia moderna. Notizie piú approfondite sulla storia della crittografia possono essere attinte in [1].