Resumen
Kyber define tres conjuntos de parámetros, correspondientes a los niveles de seguridad 1, 3 y 5 de NIST. No existe nivel 2 ni 4 porque Kyber no usa funciones hash (requeridas para los niveles pares en la taxonomía de NIST).
Tabla de Parámetros
| Parámetro | ML-KEM-512 | ML-KEM-768 | ML-KEM-1024 |
|---|---|---|---|
| NIST Level | 1 | 3 | 5 |
| Fortaleza equivalente | AES-128 | AES-192 | AES-256 |
| k (dimensión del módulo) | 2 | 3 | 4 |
| n (grado del polinomio) | 256 | 256 | 256 |
| q (módulo) | 3329 | 3329 | 3329 |
| η (parámetro de error CBD) | 2 | 3 | 3 |
| du (bits de compresión para u) | 10 | 10 | 11 |
| dv (bits de compresión para v) | 4 | 4 | 5 |
| δ (probabilidad de fallo) | 2⁻¹³⁹ | 2⁻¹⁶⁴ | 2⁻¹⁷⁴ |
Tamaños
| 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 |
Comparación con RSA y ECC:
| Esquema | Clave pública | Clave privada | 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 |
El tamaño es el precio de la resistencia cuántica. Sin embargo, Kyber es hasta 10× más rápido que RSA-2048 en operaciones clave.
Niveles NIST
NIST define 5 niveles de seguridad para la competencia PQC:
| Nivel | Descripción | Dificultad contra |
|---|---|---|
| 1 | Al menos tan duro como romper AES-128 (búsqueda exhaustiva) | Atacante clásico |
| 2 | Al menos tan duro como romper SHA-256 (colisión) | Atacante clásico |
| 3 | Al menos tan duro como romper AES-192 (búsqueda exhaustiva) | Atacante clásico |
| 4 | Al menos tan duro como romper SHA-384 (colisión) | Atacante clásico |
| 5 | Al menos tan duro como romper AES-256 (búsqueda exhaustiva) | Atacante clásico |
Kyber no alcanza los niveles 2 y 4 porque su seguridad no depende de resistencia a colisiones de hash. Esto no es una debilidad — es simplemente que NIST definió categorías basadas en problemas criptográficos distintos.
Fortaleza Equivalente — La Medida Real
La "fortaleza equivalente" no es exacta. La comparación con AES es una cota inferior:
- ML-KEM-512: La mejor cota de seguridad conocida contra atacante clásico es ~2¹⁴³ operaciones. Contra atacante cuántico (usando Grover sobre la búsqueda de clave AES-128), ~2¹²⁸. NIST considera que es "al menos" tan fuerte como AES-128.
- ML-KEM-768: ~2²⁰⁷ operaciones clásicas, ~2¹⁹² cuánticas. Excede significativamente AES-192.
- ML-KEM-1024: ~2²⁷² operaciones clásicas, ~2²⁵⁶ cuánticas.
Probabilidad de Fallo
Kyber tiene una probabilidad de fallo de descifrado no nula: existe una probabilidad diminuta de que Decaps(sk, Encaps(pk)) no produzca la misma clave K.
| Parámetro | δ | Implicación práctica |
|---|---|---|
| ML-KEM-512 | 2⁻¹³⁹ | Negligible |
| ML-KEM-768 | 2⁻¹⁶⁴ | Negligible |
| ML-KEM-1024 | 2⁻¹⁷⁴ | Negligible |
En la práctica, un fallo requiere una combinación extremadamente improbable de errores que se acumulen hasta desbordar el rango de compresión. Un fallo significa que las partes obtienen claves diferentes y la comunicación falla (no hay fuga de secreto). El protocolo de nivel superior debe retransmitir.
Elección Recomendada
| Contexto | Recomendación |
|---|---|
| Prototipos, experimentación | ML-KEM-512 |
| Uso general, producción 2024-2030 | ML-KEM-768 |
| Datos clasificados, largo plazo (>20 años) | ML-KEM-1024 |
| Híbrido con X25519 | X25519Kyber768 |
Nota: El NIST solo certifica ML-KEM-768 y ML-KEM-1024 para uso gubernamental en EE.UU. ML-KEM-512 se considera suficiente para aplicaciones comerciales de bajo riesgo.
Referencias
- 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."
