I Cinque Componenti Essenziali della Crittografia Asimmetrica
La crittografia asimmetrica (crittografia a chiave pubblica) si basa su cinque elementi interconnessi. Manca uno solo e il sistema si rompe.
1. Chiave pubblica — Il lucchetto che chiunque può agganciare
- Derivata matematicamente dalla chiave privata
- Liberamente distribuibile—pubblica su sito web, server di chiavi, firma email
- Crittografa solo—non può decriptare (matematicamente infattibile invertire)
- Usata dai mittenti per criptare messaggi per te
2. Chiave privata — L'unica chiave che apre il lucchetto
- Collegata matematicamente alla chiave pubblica ma computazionalmente impossibile da derivare
- Deve rimanere segreta—compromesso = fallimento totale del sistema
- Decripta solo i messaggi criptati con la sua chiave pubblica abbinata
- Crea anche firme digitali (prova l'autenticità)
3. Il messaggio (testo in chiaro)
- Qualsiasi dato: testo, file, chiave di sessione, valore hash
- Di solito non criptato direttamente se grande (vedi crittografia ibrida sotto)
- Deve essere imbottito/codificato secondo le specifiche dell'algoritmo (OAEP per RSA, ecc.)
4. Algoritmo di crittografia — La macchina matematica
- Trasforma testo in chiaro + chiave pubblica → testo cifrato
- Comuni: RSA (fattorizzazione), ECC (curva ellittica), ElGamal (logaritmo discreto)
- Deve essere probabilistico (stesso testo in chiaro → testo cifrato diverso ogni volta)
- La sicurezza si basa su problemi matematici difficili, non sulla segretezza dell'algoritmo
5. Algoritmo di decriptazione — La macchina inversa
- Trasforma testo cifrato + chiave privata → testo in chiaro
- Inverso matematico della crittografia (funzione trappola)
- Include verifica dell'imbottitura (previene attacchi padding oracle)
- Implementazione a tempo costante previene perdite tramite canale laterale
Come funzionano insieme: Crittografia ibrida
La crittografia asimmetrica è lenta. I sistemi reali la usano per criptare una chiave di sessione simmetrica (AES-256), che cripta il messaggio effettivo:
- Il mittente genera una chiave AES casuale a 256 bit
- Cripta il messaggio con AES (veloce)
- Cripta la chiave AES con la chiave pubblica del destinatario (RSA/ECC)
- Invia entrambi: messaggio criptato + chiave criptata
- Il destinatario decripta la chiave AES con la chiave privata, poi il messaggio
Questo combina distribuzione di chiave asimmetrica con velocità simmetrica—usato in TLS, PGP, Signal e virtualmente tutta la messaggistica sicura.