Che cos’è la crittografia a chiave asimmetrica?

La crittografia a chiave asimmetrica è il processo di trasformazione di un testo per nasconderne il significato utilizzando una chiave pubblica condivisa. Il testo può essere decifrato solo da una chiave privata segreta diversa dalla chiave pubblica, ma matematicamente correlata. Gli usi principali della crittografia a chiave asimmetrica sono gli scambi di chiavi simmetriche, l’autenticazione basata su certificati e le firme digitali.

Il vantaggio della crittografia a chiave asimmetrica rispetto a quella simmetrica, in cui viene utilizzata la stessa chiave per crittografare e decrittografare un messaggio, è che i messaggi sicuri possono essere inviati tra due parti su un canale di comunicazione non protetto senza inizialmente condividere informazioni segrete. Gli svantaggi sono che la crittografia e la decrittografia sono lente e il testo cifrato può essere potenzialmente violato da un crittografo se dispone di tempo e potenza di calcolo sufficienti.

La crittografia a chiave asimmetrica, o crittografia a chiave pubblica, ha rivoluzionato la crittografia. Pubblicato nel 1976, Martin Hellman e Whitfield Diffie descrivono un sistema crittografico a due chiavi, in cui una chiave viene utilizzata per la crittografia e una seconda chiave diversa ma correlata viene utilizzata per la decrittazione. Da allora questo è diventato una parte fondamentale della protezione della comunicazione su Internet. La crittografia a chiave asimmetrica è la base per strumenti come il Pretty Good Privacy Program (PGP), il protocollo Secure Sockets Layer (SSL) e il protocollo Transport Layer Security (TLS).

La riservatezza di un messaggio e l’autenticità del mittente possono essere garantite utilizzando la crittografia a chiave asimmetrica. Immagina che Alice voglia comunicare informazioni riservate a Bob. Bob ha pubblicato una chiave pubblica che ha messo a disposizione di Alice utilizzando canali non protetti. Alice utilizza un algoritmo crittografico e la chiave pubblica di Bob per trasformare il suo messaggio di testo in testo cifrato, garantendo la riservatezza del suo messaggio. Solo Bob può decifrare il suo messaggio utilizzando un algoritmo complementare e la sua chiave privata. Bob può quindi rispondere con un messaggio crittografato con la sua chiave privata e Alice può essere sicura che il messaggio sia autentico se la sua chiave pubblica può decifrarlo.

La forza della crittografia a chiave asimmetrica è legata alla lunghezza delle chiavi e alla difficoltà della matematica che collega le due chiavi. Ron Rivest, Adi Shamir e Leonard Adleman hanno sviluppato l’algoritmo RSA nel 1978, che è l’algoritmo più comune in uso oggi. Le chiavi pubbliche e private condividono il modulo del prodotto di due grandi numeri primi distinti. Per garantire la sicurezza della cifratura dei messaggi, le lunghezze delle chiavi hanno dovuto aumentare. Ciò è in risposta a un aumento della potenza di calcolo degli hacker che potrebbero violare codici più deboli utilizzando calcoli di forza bruta. La complessità degli algoritmi rende la crittografia a chiave asimmetrica molto lenta e più adatta per messaggi più piccoli come la condivisione delle chiavi di sessione utilizzate nelle firme digitali.