La crittografia (dal greco kryptós, nascosto, e gráphein, scrivere) è la disciplina matematica che studia e sviluppa tecniche per trasformare un’informazione leggibile — il testo in chiaro (plaintext) — in una forma illeggibile — il testo cifrato (ciphertext) — in modo che solo chi possiede la corretta chiave possa riportarla alla forma originale. È il fondamento tecnico della Triade CIA: garantisce confidenzialità attraverso la cifratura, integrità attraverso le funzioni hash e le firme digitali, autenticità attraverso i protocolli a chiave pubblica.
Le due grandi famiglie
La crittografia moderna si divide in due famiglie fondamentali, radicalmente diverse per meccanismo e impiego:
La crittografia simmetrica usa la stessa chiave per cifrare e decifrare. È veloce — adatta a cifrare grandi volumi di dati — ma richiede che mittente e destinatario condividano la chiave su un canale già sicuro. Gli algoritmi dominanti sono AES e ChaCha20.
La crittografia asimmetrica usa una coppia di chiavi matematicamente correlate: una pubblica, distribuita liberamente, e una privata, tenuta segreta. Risolve il problema della distribuzione delle chiavi ma è computazionalmente costosa. Gli algoritmi dominanti sono RSA, ECDH e ECDSA. Nella pratica i due sistemi si combinano nello schema ibrido: la crittografia asimmetrica negozia una chiave di sessione simmetrica temporanea, poi la crittografia simmetrica cifra i dati.
Il principio di Kerckhoffs
Il principio di Kerckhoffs (1883) enuncia la regola fondante della crittografia moderna: la sicurezza di un sistema crittografico deve risiedere esclusivamente nella segretezza della chiave, mai nell’oscurità dell’algoritmo. Gli algoritmi crittografici moderni — AES, RSA, ChaCha20 — sono pubblicamente noti, analizzati e attaccati dalla comunità scientifica mondiale per decenni: la loro robustezza è dimostrata, non presupposta.
Primitive crittografiche
Oltre alla cifratura, la crittografia fornisce tre primitive fondamentali ulteriori:
Le funzioni hash crittografiche trasformano dati di lunghezza arbitraria in un digest di lunghezza fissa, con proprietà di unidirezionalità e resistenza alle collisioni. Sono alla base dell’integrità dei dati, dell’archiviazione sicura delle password e degli alberi di Merkle.
Le firme digitali combinano hash e crittografia asimmetrica: il mittente firma il digest del messaggio con la propria chiave privata; il destinatario verifica con la chiave pubblica. Garantiscono autenticità, integrità e non ripudio.
Le funzioni di derivazione delle chiavi (KDF — bcrypt, Argon2id, HKDF) trasformano segreti a bassa entropia (password) in chiavi crittograficamente robuste, con costo computazionale calibrabile per resistere al brute force.
Crittografia post-quantistica
La crittografia post-quantistica affronta la minaccia dei computer quantistici: l’algoritmo di Shor risolverebbe la fattorizzazione e il logaritmo discreto in tempo polinomiale, rendendo obsoleti RSA ed ECC. Il NIST ha completato nel 2024 la standardizzazione di algoritmi resistenti agli attacchi quantistici basati su reticoli (ML-KEM, ML-DSA) e su funzioni hash (SLH-DSA). La crittografia simmetrica (AES-256) rimane sostanzialmente sicura anche in scenario post-quantistico.