Riepilogo
Kyber definisce tre insiemi di parametri, corrispondenti ai livelli di sicurezza 1, 3 e 5 di NIST. Non esiste livello 2 né 4 perché Kyber non usa funzioni hash (richieste per i livelli pari nella tassonomia di NIST).
Tabella dei Parametri
| Parametro | ML-KEM-512 | ML-KEM-768 | ML-KEM-1024 |
|---|---|---|---|
| NIST Level | 1 | 3 | 5 |
| Robustezza equivalente | AES-128 | AES-192 | AES-256 |
| k (dimensione del modulo) | 2 | 3 | 4 |
| n (grado del polinomio) | 256 | 256 | 256 |
| q (modulo) | 3329 | 3329 | 3329 |
| η (parametro di errore CBD) | 2 | 3 | 3 |
| du (bit di compressione per u) | 10 | 10 | 11 |
| dv (bit di compressione per v) | 4 | 4 | 5 |
| δ (probabilità di fallimento) | 2⁻¹³⁹ | 2⁻¹⁶⁴ | 2⁻¹⁷⁴ |
Dimensioni
| ML-KEM-512 | ML-KEM-768 | ML-KEM-1024 |
|---|---|---|
| pk: 800 B | pk: 1184 B | pk: 1568 B |
| sk: 1632 B | sk: 2400 B | sk: 3168 B |
| ct: 768 B | ct: 1088 B | ct: 1568 B |
Confronto con RSA e ECC:
| Schema | Chiave pubblica | Chiave privata | Ciphertext |
|---|---|---|---|
| RSA-2048 | 256 B | 512 B | 256 B |
| ECDH P-256 | 32 B | 32 B | 32 B |
| ML-KEM-768 | 1184 B | 2400 B | 1088 B |
La dimensione è il prezzo della resistenza quantistica. Tuttavia, Kyber è fino a 10× più veloce di RSA-2048 nelle operazioni chiave.
Livelli NIST
NIST definisce 5 livelli di sicurezza per la competizione PQC:
| Livello | Descrizione | Difficoltà contro |
|---|---|---|
| 1 | Almeno tanto duro quanto rompere AES-128 (ricerca esaustiva) | Attaccante classico |
| 2 | Almeno tanto duro quanto rompere SHA-256 (collisione) | Attaccante classico |
| 3 | Almeno tanto duro quanto rompere AES-192 (ricerca esaustiva) | Attaccante classico |
| 4 | Almeno tanto duro quanto rompere SHA-384 (collisione) | Attaccante classico |
| 5 | Almeno tanto duro quanto rompere AES-256 (ricerca esaustiva) | Attaccante classico |
Kyber non raggiunge i livelli 2 e 4 perché la sua sicurezza non dipende dalla resistenza a collisioni di hash. Questo non è una debolezza — è semplicemente che NIST ha definito categorie basate su problemi crittografici diversi.
Robustezza Equivalente — La Misura Reale
La "robustezza equivalente" non è esatta. Il confronto con AES è un limite inferiore:
- ML-KEM-512: Il miglior limite di sicurezza conosciuto contro attaccante classico è ~2¹⁴³ operazioni. Contro attaccante quantistico (usando Grover sulla ricerca della chiave AES-128), ~2¹²⁸. NIST considera che sia "almeno" tanto forte quanto AES-128.
- ML-KEM-768: ~2²⁰⁷ operazioni classiche, ~2¹⁹² quantistiche. Supera significativamente AES-192.
- ML-KEM-1024: ~2²⁷² operazioni classiche, ~2²⁵⁶ quantistiche.
Probabilità di Fallimento
Kyber ha una probabilità di fallimento di decifratura non nulla: esiste una probabilità minuscola che Decaps(sk, Encaps(pk)) non produca la stessa chiave K.
| Parametro | δ | Implicazione pratica |
|---|---|---|
| ML-KEM-512 | 2⁻¹³⁹ | Trascurabile |
| ML-KEM-768 | 2⁻¹⁶⁴ | Trascurabile |
| ML-KEM-1024 | 2⁻¹⁷⁴ | Trascurabile |
Nella pratica, un fallimento richiede una combinazione estremamente improbabile di errori che si accumulino fino a traboccare il range di compressione. Un fallimento significa che le parti ottengono chiavi diverse e la comunicazione fallisce (non c'è fuga di segreto). Il protocollo di livello superiore deve ritrasmettere.
Scelta Raccomandata
| Contesto | Raccomandazione |
|---|---|
| Prototipi, sperimentazione | ML-KEM-512 |
| Uso generale, produzione 2024-2030 | ML-KEM-768 |
| Dati classificati, lungo termine (>20 anni) | ML-KEM-1024 |
| Ibrido con X25519 | X25519Kyber768 |
Nota: NIST certifica solo ML-KEM-768 e ML-KEM-1024 per uso governativo negli Stati Uniti. ML-KEM-512 è considerato sufficiente per applicazioni commerciali a basso rischio.
Riferimenti
- NIST FIPS 203 (2024). "Module-Lattice-Based Key-Encapsulation Mechanism Standard."
- NIST SP 800-227 (2024). "Recommendations for Key-Encapsulation Mechanisms."
- Alagic, G. et al. (2022). "Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process."
