A che cosa serve la crittografia?

La usiamo ogni giorno e non ce ne accorgiamo neppure: stiamo parlando della crittografia, un insieme di metodi che tiene al sicuro i nostri telefoni, i nostri acquisti e dovrebbe essere utilizzata per tutti i nostri dati sensibili. Ma che cos’è la crittografia, e come funzionano i sistemi che la sfruttano? Lo abbiamo chiesto a Massimo Bernaschi, professore di Programmazione di sistema all’Università Sapienza (Roma) e dirigente tecnologo al Consiglio Nazionale delle Ricerche.

 

Che cos’è la crittografia? Come si è evoluta nella storia?

La crittografia si può definire come l’insieme delle tecniche utilizzabili per trasmettere informazioni riservate, in maniera comprensibile solo al legittimo destinatario. Si è sviluppata principalmente in ambito spionistico e militare: molto famoso, per esempio, è il cifrario di Cesare. Non sappiamo se lo avesse realmente inventato il condottiero romano, ma di certo lo aveva utilizzato, e consisteva nella sostituzione di una lettera dell’alfabeto latino con un’altra spostata di un certo numero di posizioni.

1000px-Caesar3.svg
Il funzionamento del cifrario di Cesare Immagine: By Cepheus (Own work) [Public domain], via Wikimedia Commons

Per secoli la crittografia si è basata su strumenti simili a questo, ma nel XX secolo cominciarono a diffondersi anche complesse macchine elettromeccaniche. Le più famose sono sicuramente le macchine Enigma, attraverso le quali la Germania comunicava con i suoi sottomarini durante la Seconda guerra mondiale. Per decifrare gli incomprensibili messaggi intercettati, agli alleati non bastò mettere le mani su alcune delle macchine: il matematico britannico Alan Turing dovette costruire anche dei dispositivi speciali che possiamo considerare antenati degli odierni computer.

Per saperne di più sulla storia di Enigma, puoi leggere il nostro approfondimento Macchine e menti matematiche per vincere la guerra.
Il video seguente illustra il funzionamento di una macchina Enigma (in inglese):

 

Oggi in cosa consiste la crittografia?

Lo sviluppo dell’informatica nel secondo dopoguerra segna un’importante cambiamento nella crittografia. Per secoli il funzionamento di un sistema crittografico era legato alla segretezza del meccanismo utilizzato: per questo è stato necessario (anche se non sufficiente) trafugare esemplari di macchine Enigma per capire come decifrare messaggi. Ora invece la crittografia passa attraverso i computer, e tutti sanno come sono costruiti e come funzionano. Queste macchine permettono infatti di gestire regole di codifica e decodifica basate su problemi matematici. Anche questi problemi sono universalmente noti, quindi la segretezza deriva dall’impossibilità pratica della loro risoluzione. Un problema molto usato in crittografia è quello della fattorizzazione in numeri primi: moltiplicare tra loro dei numeri primi, anche molto grandi, è un’operazione semplicissima per un computer, ma è invece difficilissimo risalire da quel numero ai fattori primi che lo hanno generato.

Nella moderna crittografia la segretezza è quindi basata sulla chiave, cioè la sequenza di bit che permettono di codificare o decodificare l’informazione. La chiave può essere simmetrica (privata) o asimmetrica (coppia di chiavi pubblica/privata). Nei sistemi a chiave simmetrica la stessa chiave permette sia di codificare, sia di decodificare il messaggio. Gli interlocutori che vogliono scambiarsi informazioni in segretezza devono condividere tra loro questa chiave.

chiave pubblica e privata

Crittografia a chiave simmetrica e asimmetrica a confronto (Immagini: By Phayzfaustyn (Own work) [CC0], via Wikimedia Commons; By No machine-readable author provided. Davidgothberg assumed (based on copyright claims). [Public domain], via Wikimedia Commons

Nei sistemi a chiave pubblica, invece, la chiave usata per cifrare le informazioni è diversa da quella usata per decifrarle. Ogni interlocutore rende pubblica la propria chiave di cifratura, che viene utilizzata per l’invio del materiale riservato. La chiave di decrittazione, invece, rimane riservata, quindi solo il legittimo destinatario può leggere le informazioni codificate con la sua chiave pubblica.

Per capire meglio l’importanza pratica di problemi come quello della fattorizzazione, puoi leggere il libro Risolvere i problemi difficili – Sudoku, commessi viaggiatori e altre storie (Zanichelli, 2013).

Dove e perché usiamo la crittografia?

La crittografia, sia a chiave simmetrica, sia a chiave pubblica/privata, viene utilizzata ogni giorno. Per esempio quando facciamo un acquisto su internet la nostra transazione è cifrata, come ci segnala l’icona di un lucchetto nel browser. Le nostre mail viaggiano spesso in chiaro, tuttavia esistono molti programmi che permettono di cifrarle con facilità. Ma anche i nostri telefonini utilizzano tecniche crittografiche. A questo proposito di recente ha fatto scalpore il caso dell’iPhone appartenuto a uno dei terroristi che hanno partecipato all’attentato dello scorso dicembre a San Bernardino (California). L’FBI ha chiesto alla Apple di assistere gli investigatori per accedere ai dati contenuti nel telefono, ma l’azienda si è rifiutata perché questo avrebbe esposto gli altri clienti del dispositivo.
Molti metodi crittografici sono stati a lungo classificati come armi, e naturalmente ora sono utilizzati anche per scopi illegali: per questo c’è chi vorrebbe garantire ai governi un maggiore controllo. Secondo altri questo non è accettabile perché significherebbe dare ai governi la possibilità di controllare anche i comuni cittadini. Questo dibattito è oggi più acceso che mai, ma non coinvolge gli aspetti tecnico-scientifici della crittografia. Rispetto a questi ultimi si può affermare invece che oggi un buon algoritmo, se ben implementato, è sostanzialmente inviolabile.

Per approfondire la storia e lo sviluppo della crittografia, puoi provare a seguire il corso Journey into cryptography offerto gratuitamente da Khan Academy.

In cosa consiste oggi il lavoro di un crittografo?

Il punto debole di un sistema crittografico non è l’algoritmo in uso, che è basato su proprietà matematiche, ma il software che lo rende utilizzabile. Una chiave prodotta grazie al problema della fattorizzazione, per esempio, potrebbe essere trovata in poche ore solo grazie a un computer quantistico, ma una macchina simile al momento non è utilizzabile in pratica. Questo però non significa che nostre informazioni protette dalla crittografia siano inviolabili. Per esempio, quando accediamo ai nostri molteplici account utilizziamo delle password, cioè sequenze alfanumeriche relativamente brevi e memorizzabili, che sono molto diverse dalla lunga chiave crittografica generata per rendere incomprensibili i nostri messaggi a un estraneo. Per indovinare la password però non serve un computer quantistico, anche perché molto spesso ne scegliamo di ovvie e utilizziamo la stessa per accedere a numerosi servizi. Molti crittografi oggi lavorano quindi allo sviluppo dei software che utilizziamo ogni giorno, cercando di scovarne le vulnerabilità e prevedere (e prevenire) le tecniche di attacco di chi intende violarli. Anche a causa dell’enorme diffusione dei dispositivi mobili, sempre più utilizzati anche nelle transazioni protette, questo campo di ricerca è estremamente vitale e le competenze dei crittografi sono molto richieste dal mercato del lavoro.

Per capire come un computer quantistico potrebbe rivoluzionare l’informatica puoi leggere questa intervista al Professor Rosario Fazio.

Ultimamente si sente spesso parlare di criptovalute, in particolare di bitcoin: di che cosa si tratta?

Le criptovalute sono valute a tutti gli effetti, quindi in linea di principio non sono diverse dalle altre perché consentono di acquistare beni e servizi e possono anche essere convertiti in altre valute. La principale differenza rispetto alle valute convenzionali è che le criptovalute non sono emesse e controllate da un’autorità centrale. Le normali banconote, infatti, sono stampate dalle zecche su mandato delle banche centrali. Sono prodotte con inchiostri speciali e contengono un numero di serie unico: in questo modo è impossibile spenderle più di una volta, a meno che non ne rientriamo casualmente in possesso con un’altra transazione. Quando invece non usiamo contanti, sono le banche e altri intermediari a occuparsi di registrare i trasferimenti. Ogni volta che spendiamo bitcoin, invece, la transazione viene registrata da una rete di computer degli stessi utenti, che funziona come un libro contabile pubblico. L’integrità di questo libro contabile è basata sulla crittografia, che ha anche la stessa funzione degli inchiostri nelle banconote: per spendere un bitcoin è necessario usare la chiave privata del proprio portafogli e conoscere la chiave pubblica di quello del destinatario.

screenshot-bitcoin.org 2016-06-06 15-01-44

Ogni transazione è verificata, grazie alla crittografia, da una rete di computer connessi via internet (Immagine: Bitcoin.com)

Per utilizzare bitcoin non sono quindi necessari intemediari, e l’assenza di un’autorità centrale è proprio il punto di forza che sta spingendo alcuni utenti verso le criptovalute. Uno degli svantaggi è che al momento queste valute hanno una volatilità molto più alta delle altre, cioè il loro valore può salire o scendere in modo piuttosto selvaggio. Anche per questo il loro utilizzo è limitato a circoli abbastanza ristretti: per fare un confronto oggi in circolazione ci sono circa 5 miliardi di euro in bitcoin, mentre esistono 5000 miliardi di euro nella valuta europea.
Anche per le criptovalute esistono utilizzi illegali. Per esempio gli attacchi informatici conosciuti come ramsonware possono paralizzare un’azienda o un’istituzione crittografando i dischi rigidi. L’unico modo per accedere nuovamente ai dati è farsi consegnare dai criminali la chiave dietro pagamento di un riscatto, e spesso la valuta che pretendono i criminali è proprio il bitcoin.

Per approfondire le criptovalute e il loro possibile sviluppo puoi leggere l’approfondimento The future of cryptocurrencies: Bitcoin and beyond sulla rivista Nature.

Per la lezione

Prosegui la lettura

Commenti