In quale modo possiamo rendere privata una comunicazione?
In quale modo, in sostanza, possiamo impedire che altri soggetti possano leggere, ascoltare, e finanche intervenire nella comunicazione?
È una domanda antica e persino sentita già nei primi anni di vita: quanti bambini, per gioco, inventano un proprio linguaggio, un linguaggio “segreto” per condividere ciò che ritengono prezioso solo tra coloro che considerano amici? Lo si fa poi nelle comitive adolescenziali, e via via fino a forme ritualistiche di congreghe e logge.
La questione però è ben più insidiosa di piccoli segreti tra bambini più o meno cresciuti, tant’è che è stata posta e risolta da compagnie militari fin dall’antichità: le truppe del generale romano Caio Giulio Cesare, ad esempio, scambiavano messaggi sul campo di battaglia attraverso dispacci scritti in un linguaggio segreto costruito attraverso un codice (che prese il nome di “Cifrario di Cesare”) che sostituiva le lettere dell’alfabeto latino in altre prese dallo stesso, secondo uno schema fissato (detto “chiave”). Il mondo era in qualche modo anche all’ora “globalizzato”, e pure i cosiddetti “barbari” che Roma combatteva in realtà avrebbero saputo leggere i dispacci in latino per via delle relazioni commerciali che comunque insistevano tra le popolazioni di frontiera, pertanto l’esigenza di proteggere le informazioni di comando era fondamentale.
La crittografia è dunque l’arte di scrivere un messaggio nascosto (per qualcuno). Il principio di sostituire un insieme di lettere in altre secondo una regola certa è passato tra i secoli fino a raggiungere anche la possibilità teorica del “cifrario perfetto” (“Cifrario di Vernam”): ma tra la perfezione e la praticità d’uso esiste una certa distanza, una questione che sposta il problema della protezione del messaggio alla protezione della chiave. Infatti la segretezza di un messaggio reso non intellegibile mediante un cifrario è legata indissolubilmente alla privatezza della chiave tra gli attori di una conversazione: se la chiave cade in altre mani, anche il messaggio cade nelle medesime mani, per quanto possa essere complessa la chiave o il metodo del cifrario.
La crittografia è sempre basata sulla condivisione della chiave tra chi instaura una conversazione; la chiave trasforma il messaggio in una versione non intellegibile (“cifrato”), la medesima chiave riporta il messaggio nella forma originale (“in chiaro”). Quando questa chiave è unica e comune, questa chiave è detta simmetrica, in quanto simmetricamente è posseduta e utilizzata dai partecipanti ad una conversazione. Il metodo è concettualmente semplice e anche rapido all’aumentare della complessità del meccanismo di sostituzione (su basi matematiche).
Questo metodo simmetrico è infatti alla base di praticamente tutti i momenti di conversazione su Internet in quanto garantisce la velocità sufficiente per sostenere il trasporto della grande quantità di informazioni che mediamente movimentiamo in rete.
Ma questo metodo di condividere la chiave crea il problema di trasferire preventivamente la chiave tra chi vuole trasmettere il messaggio e chi lo deve ricevere, senza che altri se ne impossessino.
Un metodo crittografico alternativo rompe invece la simmetria consegnando la segretezza ad un numero maggiore di chiavi, legate da relazioni matematiche, che possono essere parzialmente trasferite pubblicamente senza che questo infici la capacità di nascondere il messaggio. Si tratta della crittografia a chiave asimmetrica, anche nota come crittografia pubblica-privata, in cui ciascun attore di una conversazione utilizza una propria componente privata della chiave e la componente pubblica della chiave dell’altro attore nella conversazione. Le chiavi pubbliche di ciascuno hanno la proprietà di essere scambiate liberamente, in chiaro, come si dice, in quanto anche se raccolte nulla direbbero della parte privata, né di quella usata per la trasmissione, né di quella necessaria per la ricezione, rendendo quindi del tutto impossibile rompere la segretezza del messaggio. Solo l’uso delle componenti pubbliche e private all’unisono consentono al cifrario di funzionare.
Questo metodo è certamente più complesso e per questo viene generalmente utilizzato per realizzare lo scambio sicuro di informazioni non critiche dal punto di vista del tempo, ed in particolare viene utilizzata proprio per scambiare le chiavi di una crittografia simmetrica, anche e non solo perché capace di altre caratteristiche intelligenti come quella di certificare l’identità del mittente (i famosi “certificati” dell’HTTPS altro non sono che lo sviluppo di questa caratteristica).
Insomma, quando è necessario rendere privata una conversazione, quando è necessario avere la certezza delle identità di chi trasmette e di chi riceve, lì viene in aiuto la crittografia, in tutte le sue forme.