Che cos'è la crittografia a chiave asimmetrica?
La crittografia della chiave asimmetrica è il processo di trasformazione di un testo per nasconderne il significato utilizzando una chiave pubblica condivisa. Il testo può essere decifrato solo con 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 asimmetrica rispetto alla chiave simmetrica, in cui la stessa chiave viene utilizzata per crittografare e decrittografare un messaggio, è che i messaggi sicuri possono essere inviati tra due parti su un canale di comunicazione non sicuro senza inizialmente condividere informazioni segrete. Gli svantaggi sono che la crittografia e la decrittografia sono lente e che il testo crittografato può essere potenzialmente violato da un crittografo che ha abbastanza tempo e potenza di elaborazione.
La crittografia a chiave asimmetrica, o crittografia a chiave pubblica, ha rivoluzionato la crittografia. Pubblicizzati 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 per garantire la comunicazione su Internet. La crittografia a chiave asimmetrica è la base di 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 vorrebbe comunicare informazioni riservate a Bob. Bob ha una chiave pubblica pubblicata che ha reso disponibile ad Alice usando canali non garantiti. Alice usa un algoritmo crittografico e la chiave pubblica di Bob per trasformare il suo semplice messaggio in testo cifrato, garantendo la riservatezza del suo messaggio. Solo Bob può decifrare il suo messaggio usando 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 della chiave asimmetrica è legata alla lunghezza delle chiavi e alla difficoltà della matematica di collegare 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 crittografia dei messaggi, è necessario aumentare la lunghezza delle chiavi. Ciò è in risposta a un aumento della potenza di calcolo degli hacker che potrebbero rompere i codici più deboli utilizzando i calcoli della forza bruta. La complessità degli algoritmi rende la crittografia della chiave asimmetrica molto lenta e adatta a messaggi più piccoli come la condivisione di chiavi di sessione utilizzate nelle firme digitali.