Possiamo definire la crittografia come il complesso delle tecniche di trasmissione di messaggi in maniera tale che il loro significato resti oscuro a ogni possibile intercettatore indesiderato. A essa è dedicato questo bel saggio dell'inglese Simon Singh, da cui apprendiamo che già Erodoto nelle sue Guerre Persiane accenna all'utilizzo di tecniche di crittografia. Per tutta l'antichità l'unico metodo essenzialmente conosciuto fu la così detta sostituzione monoalfabetica,consistente semplicemente nel rimpiazzare ciascuna lettera dell'alfabeto utilizzato con un'altra lettera dello stesso alfabeto. Si sa, ad esempio, che Cesare era solito sostituire ogni lettera dell'alfabeto latino con la lettera tre posti più avanti nel medesimo alfabeto: quindi la A con la D, la B con la E ecc.
Nonostante la sua semplicità, la sostituzione monoalfabetica fu per secoli considerata sostanzialmente inviolabile. Furono gli Arabi, intorno al X secolo, a osservare che le lettere dell'alfabeto presentano mediamente una frequenza molto diversa tra loro e a costruire su questa osservazione la prima tecnica fondamentale di decifrazione. Per farsene un'idea, possiamo dire che in italiano ciascuna delle tre lettere più comuni, la A, la E e la I, costituisce mediamente l'11-12% di un testo. Dunque la lettera più frequente in un messaggio in lingua italiana crittato corrisponderà quasi certamente a una di queste tre.
Per rendere più complicata la decrittazione, furono escogitati vari metodi. Molti di essi sono basati su un concetto che permea tutta la crittografia, quello di "chiave". Che cos' è una chiave? Partiamo dal presupposto che il nemico conosca la nostra tecnica crittografica di base, che sappia, per esempio, che usiamo qualche forma di sostituzione monoalfabetica. Potremmo creargli seri problemi se decidessimo di applicare a ciascuna lettera una diversa sostituzione monoalfabetica. La chiave (che dovrà essere naturalmente conosciuta dal destinatario del messaggio) fornisce il metodo di associazione. Per esempio, assumiamo come chiave la parola "DAVIDE" e seguiamo il metodo che segue. D è la prima lettere della chiave e la quarta lettera dell' alfabeto. Essendo 4 = 1+3, sostituiamo alla prima lettera del messaggio la terza lettera successiva (per esempio, sostituiamo alla G la L). Applichiamo la stessa idea alla seconda lettera del messaggio prendendo la seconda lettera della chiave, la A. In questo caso la seconda lettera resterà immutata, in quanto la A è la prima lettera dell'alfabeto e 1 = 1 + 0. Proseguiamo in questo modo fino all'ultima lettera della chiave, la E, e poi ricominciamo procedendo ciclicamente. Il metodo descritto presenta il vantaggio che, ovviamente, in generale alla stessa lettera del messaggio da crittare corrisponderanno di volta in volta lettere diverse nel messaggio crittato. Il metodo specifico descritto, la così detta "cifratura di Vigènere", costituisce una delle prime tecniche in cui si utilizza una chiave. Molti altri metodi basati sul concetto di chiave sono stati da allora concepiti e usati e alcuni di essi sono illustrati nel libro di Singh.
A questo lavoro di creazione di tecniche che garantissero sempre maggiore sicurezza si è sempre contrapposto lo studio di metodi atti a decifrare i messaggi crittati, sfruttando eventuali punti deboli del metodo usato. Il libro presenta le idee di base di alcuni metodi di decrittazione significativi.
Viene riportato, ad esempio, il metodo che Charles Babbage escogitò intorno al 1850, per attaccare la cifratura di Vigènere. Sulla strada troviamo riportati, con dettagli più o meno gustosi, alcuni eventi storici significativi in cui la crittografia giocò un ruolo chiave.
Giunti al secolo scorso, molte pagine sono dedicate al più celebre sistema automatico per produrre e per decrittare (nota la chiave) messaggi cifrati: la macchina Enigma, che i tedeschi utilizzarono ampiamente nel corso della seconda guerra mondiale. Già nell'anteguerra il polacco Marian Rejewski aveva ideato un metodo che, tramite l'utilizzo di alcuni ausili meccanici, era in grado in un tempo ragionevole di decrittare messaggi compilati con Enigma. Su una versione più complicata della stessa macchina riuscì a far breccia il famoso gruppo di crittoanalisti radunato dagli inglesi a Bletchley Park, sotto la guida di Alan Turing, che ideò delle procedure, supportate ancora da macchine automatiche, le famose "bombe", che riuscivano in poche ore a decrittare i messaggi. Per chiarire meglio il ruolo svolto dai crittoanalisti e dalle macchine, si può dire che la macchina Enigma (assai simile a una macchina da scrivere) utilizzava un metodo di base non molto diverso da quello di Vigènere, ma si avvaleva di chiavi molto più complicate, che venivano cambiate quotidianamente e che indicavano giorno per giorno la posizione di certi componenti della macchina da cui dipendeva la crittazione. Le idee di Rejewski e di Turing consentivano di ridurre il numero sterminato di casi possibili da esaminare a qualche migliaio. Per questo occorreva comunque qualche ausilio automatico, che fu costruito all'uopo. Il testo guida in maniera eccellente il lettore alla comprensione delle idee sottostanti, veramente brillanti. Seguono altri capitoli relativi alla seconda guerra mondiale, ma questa parte su Enigma è veramente avvincente.
Prima degli sviluppi più recenti della crittografia, l'autore inserisce una parentesi sulla decifrazione delle scritture antiche, campo che ha molto in comune col tema principale del libro Due casi famosi vengono esaminati: i geroglifici egiziani, decifrati da Champollion, e la cretese "Lineare B", decifrata da Michael Ventris e John Chadwick.
La parte finale del libro si occupa per gran parte del grave problema della distribuzione delle chiavi. In altre parole, come concordare una chiave con un'altra persona fisicamente lontana e accessibile magari solo con procedure che non garantiscono la segretezza della trasmissione? Vari metodi sono stati escogitati. Tra essi la ben nota cifratura RSA (dal nome dei tre inventori Rivest, Shamir e Adleman), la più usata attualmente. L'idea principale su cui è basato questo metodo non è in sé difficile, ma mi limiterò ad accennare che essa è basata sul fatto che l'operazione di scomposizione in fattori primi di un numero intero molto grande richiede tempi di calcolo enormi.
Il libro si conclude con possibili sviluppi futuri della crittoanalisi, come la cifratura quantistica e con un'interessante discussione sui risvolti legali che le nuove potenti tecniche di crittografia presentano. Nel 1991 l'informatico Phil Zimmermann progettò alcuni programmi di utilizzo di queste tecniche avanzate di crittografia (come la RSA) così semplici da poter essere utilizzati da un cittadino comune che disponga di un comune personal computer e le mise a disposizione della collettività, nella convinzione che chiunque avesse il diritto di salvaguardare mediante esse la sua privacy. Ma egli fu incriminato, in quanto esse si prestavano a essere usate a scopo malavitoso e terroristico. Anche se la vicenda si è conclusa positivamente per Zimmermann, la discussione su tutti i possibili risvolti del problema è ben lontana dall'essere conclusa.
Con quest'opera, dopo il libro e lo stupendo documentario sul teorema di Fermat, Singh conferma di essere un divulgatore di gran classe. Ciò che vi è di più bello in "Codici e Segreti" è che l'autore, senza rinunciare a raccontare tutta una serie di aneddoti di storia più o meno minore, non se ne lascia mai sviare e fa della sua opera un vero libro di idee. Per questo la lettura può non essere sempre agevolissima, anche se opportune appendici tendono a isolare gli aspetti più tecnici dell'argomento.