La crittografia asimmetrica (o a chiave pubblica) è un sistema crittografico in cui ogni entità possiede una coppia di chiavi matematicamente correlate ma computazionalmente non derivabili l’una dall’altra:
- Chiave pubblica (): distribuita liberamente a chiunque, senza necessità di un canale sicuro.
- Chiave privata (): tenuta segreta dal solo proprietario, mai trasmessa in rete.
Introdotta da Diffie e Hellman nel 1976 e resa pratica da Rivest, Shamir e Adleman (RSA, 1977), risolve il problema fondamentale della crittografia simmetrica: la distribuzione sicura delle chiavi. Con la crittografia asimmetrica, mittente e destinatario non devono mai condividere un segreto su un canale sicuro preesistente.
Problema difficile sottostante
La sicurezza di ogni schema asimmetrico si basa su un problema matematico computazionalmente difficile: un problema per il quale non esiste algoritmo polinomiale noto (con computer classici) che lo risolva in tempo ragionevole.
| Schema | Problema difficile |
|---|---|
| RSA | Fattorizzazione di interi: dati , trovare e |
| Diffie-Hellman | Logaritmo discreto in : dato , trovare |
| ECC (Elliptic Curve) | Logaritmo discreto su curve ellittiche: dato , trovare |
La crittografia su curve ellittiche (ECC) offre la stessa sicurezza di RSA con chiavi molto più corte: 256 bit ECC equivale approssimativamente a 3072 bit RSA. Questa efficienza la rende preferibile in ambienti con risorse limitate (mobile, IoT, TLS).
Usi principali
La crittografia asimmetrica ha due modalità d’uso distinte:
Cifratura: il mittente cifra con la chiave pubblica del destinatario; solo il destinatario può decifrare con la propria chiave privata. Usata per scambiare chiavi di sessione simmetriche (RSA-OAEP nei vecchi handshake TLS, oggi sostituito da ECDHE).
Firma digitale: il firmatario firma il digest del messaggio con la propria chiave privata; chiunque può verificare con la chiave pubblica. La firma garantisce autenticità (il messaggio viene dal proprietario della chiave privata), integrità (il messaggio non è stato modificato) e non ripudio (il firmatario non può negare di aver firmato).
Limiti
La crittografia asimmetrica è 100–1000× più lenta della crittografia simmetrica. Per questo nella pratica non cifra mai direttamente i dati, ma viene usata solo per lo scambio di chiavi o la firma: lo schema ibrido combina le due famiglie per ottenere il meglio di entrambe. Inoltre, la crittografia asimmetrica classica — RSA ed ECC — è vulnerabile alla crittografia post-quantistica: l’algoritmo di Shor su un computer quantistico sufficientemente grande risolverebbe la fattorizzazione e il logaritmo discreto in tempo polinomiale.