# Storia della crittografia

La storia della crittografia ha origini remote ed inizia con la crittografia classica, con metodi di cifratura che utilizzavano carta e penna o, al massimo, semplici supporti meccanici; agli inizi del XX secolo l'invenzione di dispositivi elettromeccanici, come ad esempio la macchina Enigma a rotori, elevò a più sofisticati ed efficienti livelli la cifratura; la successiva introduzione dell'elettronica e dei computer ha permesso l'utilizzo di schemi di cifratura sempre più complessi, molti dei quali non ottenibili con carta e penna.
Lo sviluppo della crittografia è andato di pari passo con lo sviluppo della crittanalisi, l'arte della "rottura" dei codici e dei cifrari. La scoperta e l'applicazione, agli inizi della crittanalisi moderna, dell'analisi delle frequenze alla lettura delle comunicazioni cifrate ha qualche volta alterato il corso della storia. Così è stato, ad esempio, per il telegramma Zimmermann, che ha anticipato l'ingresso degli Stati Uniti d'America nel primo conflitto mondiale come anche per l'accesso alle informazioni cifrate delle truppe naziste da parte degli Alleati che ha accorciato, a detta degli esperti, la seconda guerra mondiale di un paio di anni.

## Crittografia classica

Il più antico esempio di utilizzo della crittografia è stato rinvenuto in alcuni geroglifici egiziani scolpiti in antichi monumenti dell'Antico Regno (risalenti a più di 4500 anni fa). Anche se non si possono certamente considerare come seri esempi di comunicazioni segrete, sono da considerare come tentativi di scritture misteriose, intriganti o stravaganti fatti da letterati del tempo. Ci sono anche altri esempi di utilizzo della crittografia, o di qualcosa che ci assomiglia molto: ad esempio, su alcune tavolette di argilla mesopotamiche sono state trovate incisioni cifrate chiaramente fatte con l'intento di proteggere le informazioni riportate, forse ricette con un qualche valore commerciale. Altre forme di antichi metodi crittografici sono i cifrari monoalfabetici ebraici del VI secolo a.C., come il cifrario Atbash, usato anche per offuscare alcuni nomi nella Bibbia.
La crittografia ha una lunga tradizione nelle scritture religiose, dove molto spesso era usata per attaccare la cultura dominante o le autorità politiche. Forse il più famoso esempio è il Numero della bestia che appare nell'Apocalisse di Giovanni: gli studiosi sono propensi nel ritenere che il 666 fosse un simbolo indicante l'imperatore Nerone, reo di sanguinose persecuzioni nei confronti dei Cristiani. L'uso della crittografia negli scritti religiosi dei primi Cristiani terminò con l'avvento dell'imperatore Costantino I, convertitosi al Cristianesimo.
Gli antichi Greci si dice avessero conoscenze di crittografia (ad esempio il bastone per cifrare scitala, che sembra fu utilizzato dall'esercito di Sparta). Erodoto ci parla di messaggi segreti incisi su tavolette di legno e poi nascosti da uno strato di cera oppure tatuati sulla testa di uno schiavo e mascherati dalla ricrescita dei capelli. Ovviamente queste non possono essere considerate tecniche crittografiche dato che, una volta scoperto, il messaggio era direttamente leggibile: dobbiamo in questi casi parlare semplicemente di steganografia. I Romani conoscevano certamente la crittografia: l'esempio più noto è il cifrario di Cesare, un cifrario monoalfabetico. Anche in India la crittografia era abbastanza nota. È addirittura raccomandata nel Kāma Sūtra agli amanti come tecnica per poter comunicare senza essere scoperti.

## Crittografia medievale

Furono probabilmente motivi religiosi inerenti all'analisi testuale del Corano che portarono all'invenzione della tecnica dell'analisi delle frequenze per violare i cifrari a sostituzione monoalfabetica da parte di al-Kindi intorno al IX secolo. Questa fu, fino alla seconda guerra mondiale, la più importante tappa della crittoanalisi: fino all'avvento del cifrario polialfabetico di Leon Battista Alberti (1495 circa), tutti i cifrari erano vulnerabili a questa tecnica crittanalitica. Anche se l'Alberti è spesso indicato come il padre dei cifrari polialfabetici, sembra però che già 500 anni prima di lui gli Arabi avessero conoscenze di questo tipo di cifrario, stando ad alcuni manoscritti di Al-Kindi recentemente scoperti.
Il già menzionato matematico arabo Abū Yūsuf Yaʿqūb ibn Isḥāq ibn al-Ṣabbāḥ ibn ʿOmrān ibn Ismāʿīl al-Kindī scrisse un libro sulla crittografia intitolato "Risāla fī istikhrāj al-muʿamma" (Epistola sulla decifrazione dei messaggi crittati), all'incirca nell'800 d.C., dove descrisse alcuni cifrari polialfabetici, la classificazione dei cifrari, la fonetica e la sintassi araba, e, cosa più importante, descrisse l'uso di diverse tecniche di crittanalisi e dette la prima descrizione dell'analisi delle frequenze. Nella sua opera analizzò anche alcuni metodi di cifratura, mostrò la crittanalisi di alcuni cifrari e descrisse l'analisi statistica delle lettere e delle combinazioni di lettere nella lingua araba.
Ahmad al-Qalqashandi (1355-1418) scrisse un'enciclopedia in 14 volumi intitolata Ṣubḥ al-aʿsha che includeva anche una sezione dedicata alla crittologia, la cui fonte era un precedente lavoro del matematico Ibn al-Durayhim, che visse dal 1312 al 1361 e che scrisse un'opera andata perduta dedicata interamente alla crittografia. La lista dei cifrari include sia quelli a sostituzione (mono- e poli-alfabetici) sia a trasposizione e, per la prima volta, un cifrario con sostituzioni multiple per ogni lettera del messaggio in chiaro. Sempre riferita a Ibn al-Durayhim è la spiegazione della crittanalisi, con esempi concreti di applicazione di tale tecnica, incluso l'utilizzo di tabelle riportanti la frequenza delle lettere ed insiemi di lettere che non possono comparire insieme in una parola.
In Europa la crittografia divenne molto importante come conseguenze della competizione politica e della rivoluzione religiosa. Per esempio, durante e dopo il Rinascimento, molti matematici e studiosi di diversi stati Italiani furono responsabili di una rapida proliferazione di tecniche crittografiche, alcune delle quali riflettevano la conoscenza (o anche la comprensione) degli studi dell'Alberti sulle tecniche di sostituzione polialfabetiche. "Cifrari avanzati" comparsi dopo quello dell'Alberti, non erano così avanzati come i loro inventori o utilizzatori volevano far credere (e probabilmente non ritenuti tali neanche da loro): essi venivano regolarmente violati. Questo eccesso di ottimismo è spesso insito nella crittografia perché, allora come oggi, è realmente difficile sapere con certezza quanto vulnerabile sia una nuova tecnica.
La crittografia e la crittanalisi, così come il doppio gioco di un agente segreto e corriere, entrano nel complotto Babington per l'eliminazione di Maria Stuarda, regina di Scozia e pretendente al trono d'Inghilterra detenuto dalla regina Elisabetta I. E sempre un messaggio segreto, decrittato agli inizi del Novecento da Étienne Bazeries, sembra svelare l'identità del misterioso e sfortunato prigioniero noto come Maschera di Ferro, che alla fine del Seicento visse per molti anni imprigionato in diverse fortezze. La crittografia entra anche sia nel complotto che portò all'esecuzione di Mata Hari, la famosa ballerina ed agente segreto che lavorava come spia per i francesi e per i tedeschi, sia nell'affare Dreyfus, dove un ufficiale francese fu ingiustamente accusato di tradimento per coprire il vero responsabile dei fatti a lui addebitati.
Al di fuori dell'Europa, dopo la fine dell'epoca d'oro del mondo arabo per opera dei Mongoli, la crittografia rimase senza uno sviluppo costante. In Giappone la crittografia fa la sua comparsa solo nel 1510, e tecniche avanzate di crittografia non saranno note fino all'apertura del Paese al mondo occidentale avvenuta nel 1860. Durante gli anni venti ufficiali polacchi furono chiamati dall'esercito giapponese a fornire conoscenze ed assistenza per lo sviluppo di codici e sistemi cifrati.

## Crittografia dal 1800 alla seconda guerra mondiale

Anche se la crittografia ha una storia lunga e complessa, fino al XIX secolo essa non sviluppò niente più che approcci ad hoc sia alla cifratura sia alla crittanalisi, come i lavori sull'analisi dei cifrari polialfabetici di Charles Babbage, rielaborati e pubblicati dal prussiano Friedrich Kasiski. La comprensione della crittografia a quel tempo in genere consisteva di piccole conquiste fatte a costo di notevoli sforzi: si vedano, ad esempio, gli scritti pubblicati da Auguste Kerckhoffs del XIX secolo. Edgar Allan Poe utilizzava metodi sistematici per violare i cifrari nel 1840. In particolare egli pubblicò sull'Alexander's Weekly (Express) Messenger di Philadelphia un annuncio in cui si vantava della sua abilità di violare qualsiasi cifrario ed in cui chiedeva che gli fossero inviati testi cifrati da decodificare. Il suo successo creò un interesse popolare di diversi mesi. Dopo un po' di tempo scrisse anche un saggio sui metodi crittografici che si rivelò utile come punto d'inizio per i crittografi britannici della Stanza 40, il nome della stanza dell'ammiragliato inglese sede dell'ufficio crittografico preposto alla violazione dei codici cifrati tedeschi durante la prima guerra mondiale.
Nel 1917 Gilbert Vernam propose una telescrivente cifrante in cui una chiave precedentemente stabilita, impostata su nastro perforato, veniva combinata carattere per carattere con il testo in chiaro per produrre il testo cifrato. Nacquero così le macchine cifranti ed i sistemi one-time pad, dove la chiave è lunga quanto il testo da cifrare.
I metodi matematici proliferarono durante il periodo antecedente la seconda guerra mondiale: ciò si evince in particolare dall'applicazione delle tecniche statistiche alla crittanalisi ed allo sviluppo dei cifrari fatti da William F. Friedman e dalla violazione, ad opera del polacco Marian Rejewski nel 1932, della macchina Enigma. I tedeschi fecero largo uso di questa macchina basata su rotori inventata da Arthur Scherbius. Rejewski, dell'Ufficio Crittografico polacco, dedusse nel dicembre del 1932 i dettagli della struttura interna di Enigma basandosi esclusivamente sulla matematica e sulla poca documentazione ricevuta da Gustave Bertrand, un capitano dell'intelligence francese. Rejewski ed i suoi colleghi matematici dell'Ufficio Cifrari polacco, Jerzy Różycki e Henryk Zygalski, continuarono a leggere i messaggi delle macchine Enigma ed a tenersi al passo con gli aggiornamenti che il suo autore apportava alla macchina tedesca. Con l'avanzare della guerra (i tedeschi erano alle porte della Polonia) e con le risorse che divenivano insufficienti per contrastare le innovazioni introdotte dai tedeschi nell'Enigma, dietro ordine dell'Alto Comando militare polacco, Rejewski ed i suoi colleghi accolsero a Varsavia rappresentanti dell'intelligence di Francia e Gran Bretagna, che furono introdotti ai segreti della decifratura dell'Enigma. Il 1º settembre 1939 i tedeschi invasero la Polonia ed il personale chiave dell'Ufficio Cifrari fu evacuato verso est; ma, quando l'Unione Sovietica, il 17 settembre, attraversò il confine orientale della Polonia, essi furono spostati in Romania e da lì raggiunsero Parigi, dove si unirono al gruppo di crittanalisti della stazione PC Bruno, che operava nei dintorni della capitale francese intercettando le trasmissioni tedesche in cooperazione con il gruppo di crittanalisti britannico di Bletchley Park. Del gruppo inglese facevano parte molti esperti scacchisti e professori di matematica, quali Gordon Welchman, Max Newman e Alan Turing, il fondatore della moderna informatica.
I crittografi della marina statunitense (che cooperavano con i crittografi britannici e olandesi dal 1940) violarono diversi sistemi crittografici dell'impero giapponese. In particolare, la violazione del codice JN-25 permise alle forze americane di vincere la battaglia delle Midway; e nonostante la risonanza data dalla stampa all'evento, i Giapponesi non si accorsero del fatto che il loro cifrario era stato violato. Una sezione dell'FBI, denominata Special Intelligence Service (SIS), fondata specificamente per seguire gli interessi delle forze naziste nell'America Latina ed in Asia, violò il più alto sistema di cifratura diplomatico giapponese (una macchina elettromagnetica conosciuta dagli americani con il nome in codice di PURPLE). Gli americani indicavano i risultati di intelligence ottenuti dalla crittanalisi dei messaggi cifrati con la macchina PURPLE con il termine Magic, così come gli inglesi indicavano con Ultra le informazioni di intelligence ottenute analizzando i messaggi cifrati con la macchina Enigma.
I militari tedeschi cercarono anche di sviluppare diverse macchine basate sul one-time pad. A Bletchley Park chiamarono questo cifrario Fish, e Max Newman ed i suoi colleghi progettarono e svilupparono la macchina Heath Robinson ed il primo computer digitale programmabile denominato Colossus, per aiutarli nel duro compito della crittanalisi dei messaggi nemici. Il Ministero degli Esteri tedesco iniziò l'uso dei cifrari di tipo one-time pad nel 1919 ma solo durante la seconda guerra mondiale se ne poterono decifrare alcuni grazie al fatto che furono ritrovate alcune chiavi di cifratura in Sud America che non erano state eliminate con sufficiente cura da un corriere tedesco.
Il Ministero degli Esteri giapponese utilizzava, oltre alla già citata PURPLE, anche altre macchine simili in alcune sue ambasciate: una di queste era chiamata Macchina M dagli Americani, un'altra ancora era indicata come RED. Tutte furono, più o meno facilmente, violate dal SIS.
Le macchine utilizzate dagli Alleati durante la seconda guerra mondiale per cifrare i propri messaggi erano l'inglese TypeX e l'americana SIGABA: entrambe avevano una struttura elettromeccanica a rotori simile a quella dell'Enigma ma con diversi miglioramenti. Non è nota infatti nessuna violazione dei messaggi inviati con queste macchine. I Polacchi usavano la macchina Lacida ma la sua sicurezza si rivelò inferiore alle aspettative ed il suo uso fu abbandonato. Le truppe americane sul campo utilizzavano le macchine della famiglia M-209 e della meno sicura famiglia M-94. Gli agenti del corpo speciale inglese SOE usarono inizialmente "cifrari a poema" (alcuni poemi memorizzati dagli agenti erano usati come chiavi di cifratura e decifratura) ma, più tardi, iniziarono ad usare sistemi basati sul one-time pad. Gli Americani adottarono anche sistemi in codice basati sull'utilizzo di alcuni dialetti dei Nativi americani, principalmente il navajo, per trasmettere informazioni in chiaro non interpretabili dalle spie nemiche. I soldati nativi usati per questi compiti erano chiamanti code talker.
Subito dopo la seconda guerra mondiale, il più famoso sistema crittografico fu il cifrario VIC, dal nome in codice (Victor) della spia russa Reino Häyhänen che per 5 anni operò negli Stati Uniti, fino a quando, nel 1957, tradì il suo Paese e chiese asilo politico al governo americano. Il cifrario VIC era un cifrario molto complesso, forse il più complesso di quelli usati dalle spie sovietiche, e basato, caso raro, sull'uso di carta e penna. Solo quando furono trovati messaggi scritti su monete da 5 cent i crittanalisti dell'NSA capirono che era un sistema elaborato manualmente. Il cifrario rimase inviolato fino a quando Häyhänen non si consegnò nelle mani americane.

## Crittografia moderna
### Shannon

L'era della crittografia moderna si può far iniziare con Claude Shannon, considerato il padre della crittografia matematica grazie ai lavori che fece durante la seconda guerra mondiale sulla sicurezza delle comunicazioni. Nel 1946 pubblicò degli appunti denominati Communication Theory of Secrecy Systems sul Bell System Technical Journal e poco più tardi il libro Mathematical Theory of Communication, in cooperazione con Warren Weaver. Entrambi gli scritti includevano i risultati dei suoi lavori eseguiti durante il conflitto mondiale. Questi, in aggiunta agli altri suoi studi sulla teoria dell'informazione, costituirono una base teorica molto solida per la crittografia ed anche per molta della crittanalisi. Da allora, la crittografia sparì pian piano negli organismi governativi dediti alla secretazione delle comunicazioni quali l'americana NSA, la britannica Government Communications Headquarters e gli equivalenti di altri Paesi. Solo a partire dagli anni settanta le cose sono cambiate e la crittografia ha iniziato a tornare di pubblico dominio.

### Uno standard crittografico

A metà degli anni settanta si ebbero due importanti avvenimenti sulla scena crittografica pubblica (quindi non segreta). Il primo fu la pubblicazione nel Registro Federale (17 marzo 1975) della bozza riguardante il Data Encryption Standard. Il cifrario che fu scelto come DES fu proposto da un gruppo di ricerca del colosso informatico IBM, su invito del National Bureau of Standards (adesso NIST), nell'ottica di sviluppare un sistema per secretare le comunicazioni elettroniche delle banche e di altre importanti organizzazioni finanziarie. Dopo il "vaglio" e le modifiche apportate dall'NSA, eseguite dietro le scene, fu adottato come standard nel 1976 e pubblicato nel 1977 (FIPS 46-3). Il DES fu il primo cifrario pubblico ad essere "benedetto" da un'agenzia come l'NSA. Il rilascio delle sue specifiche stimolò una vera e propria corsa alla crittografia, sia pubblica che accademica. Il vetusto DES fu ufficialmente rimpiazzato dall'Advanced Encryption Standard (AES) solo nel 2001 quando il NIST annunciò il nuovo standard FIPS 197: dopo una competizione aperta a tutti, il NIST selezionò come nuovo standard l'algoritmo Rijndael, proposto da due crittografi belgi. Il DES (e le sue versioni più sicure come il Triple DES) è ancora oggi utilizzato, dato che è stato incorporato in numerosi standard. Nonostante questo, la sua chiave a 56 bit non è sufficientemente robusta da resistere ad un attacco a forza bruta: nel 1997 un tale attacco fu sferrato al DES dal gruppo EFF che, grazie all'uso di un sistema con 1800 chip, recuperò una chiave in 56 ore.
Come risultato di ciò l'uso del cifrario DES è ormai altamente insicuro per l'uso nei nuovi sistemi crittografici, ed i messaggi protetti dai vecchi sistemi che usano il DES, e quindi tutti i messaggi spediti dal 1976 in poi, sono anch'essi ad alto rischio. Indipendentemente dalla sua qualità intrinseca, la dimensione della chiave del DES (56 bit) fu subito indicata come troppo piccola già al momento della sua pubblicazione, ad esempio da Whitfield Diffie: qualcuno sospettava che l'NSA avesse già all'epoca sufficiente potenza elaborativa per violare i messaggi crittati con il DES, qualcun altro era contro questa "teoria del complotto".

### Chiave pubblica

Il secondo avvenimento (1976) fu forse anche più importante del precedente, visto che cambiò radicalmente il modo in cui lavoravano i crittosistemi: la pubblicazione del documento intitolato New Directions in Cryptography da parte di Whitfield Diffie e Martin Hellman. In questo documento gli autori introducevano un metodo radicalmente nuovo di distribuire le chiavi crittografiche che risolveva definitivamente uno dei problemi fondamentali della crittografia. Questo metodo divenne da allora noto come scambio di chiavi Diffie-Hellman. L'articolo stimolò immediatamente lo sviluppo di nuovi sistemi di cifratura, gli algoritmi a chiave asimmetrica: fino a quel momento, tutti gli algoritmi crittografici erano basati su una chiave simmetrica, in cui cioè la stessa chiave è usata sia dal mittente che dal destinatario del messaggio, che devono perciò tenerla entrambi segreta. Tutte le macchine cifranti elettromeccaniche della seconda guerra mondiale, così come tutti i cifrari storici quali il cifrario Atbash e quello di Cesare, erano di questo tipo. La chiave, in tutti questi sistemi, doveva necessariamente essere scambiata fra le parti comunicanti in qualche maniera sicura prima di iniziare qualsiasi utilizzo del sistema (il termine usato è generalmente "attraverso un canale sicuro") come ad esempio un corriere fidato con una valigetta ammanettata ad un polso, un contatto faccia-a-faccia, o un piccione viaggiatore. Lo scambio della chiave attraverso un canale sicuro non è mai un requisito banale, e diviene rapidamente ingestibile all'aumentare del numero dei partecipanti nello scambio o quando i canali sicuri non sono disponibili o quando ancora le chiavi sono cambiate frequentemente. Inoltre, se i messaggi sono pensati per essere sicuri verso altri utenti, allora è richiesta anche una chiave separata per ogni possibile coppia di utenti. Un sistema di questo tipo è noto come crittosistema a chiave simmetrica: lo scambio di una chiave Diffie-Hellman ha reso questa operazione molto più semplice e sicura.
Rispetto a quella simmetrica, la cifratura con chiave asimmetrica utilizza una coppia di chiavi correlate matematicamente, ognuna delle quali decifra la cifratura eseguita utilizzando l'altra. Alcuni, ma non tutti, di questi algoritmi posseggono la proprietà aggiuntiva che una di queste chiavi non può essere dedotta dall'altra tranne che per tentativi. Questi tipi di algoritmi vengono per questo motivo detti a chiave asimmetrica o a chiave pubblica: per il loro utilizzo un utente necessita di una sola coppia di chiavi, una chiave viene definita privata, che deve rimanere segreta, ed una definita pubblica, che può essere liberamente distribuita senza alcuna necessità di utilizzare un canale sicuro. Fino a che la chiave privata resta segreta, la chiave pubblica può essere distribuita a tutti e per un tempo indefinito senza compromettere la sicurezza del sistema, potendo riutilizzare la stessa coppia praticamente all'infinito.
Dati due utilizzatori di un algoritmo a chiave asimmetrica che vogliano comunicare in sicurezza su un canale insicuro, ognuno di essi dovrà possedere una coppia di chiavi formata da quella pubblica e da quella privata e dovrà inoltre conoscere la chiave pubblica dell'altro utente. Prendiamo questa situazione: Alice e Bob hanno entrambi una coppia di chiavi che utilizzano da anni con molti altri utenti. Prima di comunicare, si scambiano la loro chiave pubblica in forma non cifrata su un canale non sicuro. Alice poi cifra un messaggio utilizzando la sua chiave privata e poi cifra nuovamente il risultato utilizzando la chiave pubblica di Bob. Il messaggio cifrato due volte è quindi spedito via cavo in formato digitale da Alice verso Bob. Bob riceve il flusso di dati, che decifra usando la sua chiave privata e poi decifra il risultato utilizzando la chiave pubblica di Alice. Se il risultato finale è riconoscibile come un messaggio, allora Bob può essere certo che quello appena ricevuto è arrivato da qualcuno che conosce la chiave privata di Alice (presumibilmente la stessa Alice se lei è stata attenta nel tenerla segreta) e che qualcuno che ha intercettato il messaggio sul canale di scambio doveva possedere la chiave privata di Bob per poter leggere il messaggio. Per un approfondimento si veda la scheda sulla crittografia a chiave pubblica/privata.
Gli algoritmi asimmetrici basano la loro efficacia su una classe di problemi matematici chiamati funzioni a una via, che richiedono una piccola potenza elaborativa per essere eseguiti ma, per contro, una grande potenza di calcolo per poterli invertire, ovviamente quando l'inversione è possibile. Un esempio classico di una funzione a una via è il prodotto di grandi numeri primi: è facile moltiplicare due grandi numeri primi ma è molto difficile trovare tali fattori conoscendo solo il prodotto. Per i princìpi matematici alla base delle funzioni a una via, molti possibili valori sono inadeguati come chiavi crittografiche: soltanto una piccola frazione delle possibili chiavi di una data lunghezza sono utilizzabili, e per questo gli algoritmi asimmetrici richiedono chiavi molto lunghe per raggiungere gli stessi livelli di sicurezza offerti dalle più corte chiavi simmetriche. La necessità di generare sia la coppia di chiavi sia di eseguire le operazioni di cifratura e decifratura rendono gli algoritmi asimmetrici molto esosi in termini di potenza elaborativa se comparati a molti degli algoritmi simmetrici. Dato che gli algoritmi simmetrici possono usare in genere qualsiasi sequenza (casuale o, per lo meno, pseudocasuale) di bit come chiave, una chiave di sessione del tipo usa-e-getta può essere generata molto velocemente per un uso limitato nel tempo. Alla luce di quanto sopra, è pratica comune utilizzare una chiave asimmetrica lunga per scambiarsi una chiave simmetrica usa-e-getta abbastanza corta (ma sufficientemente robusta): il più lento algoritmo asimmetrico spedisce in maniera sicura una chiave simmetrica di sessione, ed il più veloce algoritmo simmetrico cifra il messaggio da rispedire.
La crittografia a chiave asimmetrica, lo scambio di chiavi Diffie-Hellman ed i più noti algoritmi a chiave pubblica e privata (come l'RSA), sembra siano stati tutti sviluppati indipendentemente dall'intelligence britannica ben prima dell'annuncio pubblico fatto da Diffie ed Hellman. Recentemente, James H. Ellis, Clifford Cocks e Malcolm Williamson hanno pubblicato dei documenti che si riallacciavano ai loro lavori eseguiti all'interno del GCHQ ed in cui riferiscono di schemi essenzialmente identici a quelli del sistema RSA e dello scambio di chiavi Diffie-Hellmann sviluppati già nel 1973 e nel 1974.

### Politiche crittografiche

Gli sviluppi pubblici degli anni settanta ruppero il monopolio sulla crittografia di qualità, fino ad allora detenuto dalle organizzazioni governative (vedi il libro Crypto di S. Levy per un riassunto giornalistico di alcune delle controverse politiche governative americane di quel tempo). Per la prima volta, chi operava al di fuori di tali organizzazioni aveva accesso ad una crittografia non facilmente violabile da alcuno (incluse tali agenzie governative). Diverse controversie, e conflitti, non ancora del tutto sopiti, sia pubblici che privati iniziarono quasi subito: in alcuni Paesi, ad esempio, l'esportazione della crittografia è ancora soggetta a restrizioni. Fino al 1996 l'esportazione al di fuori degli USA di sistemi crittografici che utilizzavano chiavi più lunghe di 40 bit (troppo corte per essere realmente sicure contro un attaccante esperto) era assolutamente limitata. Nel 2004, l'ex direttore dell'FBI Louis Freeh, testimoniando durante la commissione per i fatti dell'11 settembre dichiarò che erano necessarie nuove leggi contro l'utilizzo pubblico della cifratura.
Una delle più insigni persone a favore dell'uso pubblico di una cifratura forte era Phil Zimmermann, l'autore del PGP (Pretty Good Privacy), sistema crittografico di alta qualità, pubblicato nel 1991. Distribuì una versione freeware del suo PGP quando seppe della minaccia che stava per arrivare dalla nuova legislazione in materia allora in esame dal governo americano che avrebbe richiesto l'introduzione di backdoor in tutti i prodotti crittografici sviluppati all'interno degli USA. Il suo sistema fu perciò rilasciato al mondo intero poco dopo il rilascio negli Stati Uniti d'America e ciò lo portò ad essere sottoposto ad un lungo processo durato tre anni in cui era accusato di violazione delle leggi sull'esportazione dei sistemi crittografici. Nonostante i problemi legali del suo autore, PGP si diffuse a macchia d'olio e divenne ben presto lo standard de facto per la cifratura dei messaggi di posta elettronica (RFC 2440 o OpenPGP, poi sostituito dall'RFC 4880).

### Crittanalisi moderna

Nonostante i moderni cifrari come l'AES ed i cifrari asimmetrici di qualità siano in genere considerati inviolabili, c'è chi ancor oggi utilizza progetti ed implementazioni di scarsa efficacia, con il risultato che anche ai giorni nostri assistiamo ad importanti violazioni di diffusi sistemi crittografici: esempi di tali violazioni includono il DES; il primo schema di cifratura per reti Wi-Fi, il WEP; il Content Scrambling System usato per cifrare e controllare l'uso dei DVD; i cifrari A5/1 e A5/2 utilizzati nella telefonia mobile GSM; il cifrario CRYPTO1 utilizzato nelle diffuse smart card MIFARE Classic di NXP Semiconductors (società del gruppo Philips Electronics). Tutti i casi citati sono cifrari simmetrici.
Non è stato dimostrato che alcuna delle idee matematiche alla base della crittografia a chiave pubblica sia "inviolabile", e così alcuni progressi futuri nell'analisi matematica potrebbero rendere i sistemi basati su di esse insicuri. È per questo che alcuni osservatori, prevedendo una tale svolta, raccomandano di aumentare la dimensione della chiave per elevare il livello di sicurezza in risposta al fatto che l'aumentata potenza elaborativa richiesta per violare i codici diventa sempre più facilmente ottenibile ed a costi sempre più bassi.