Compara tamaños de clave AES, RSA, Diffie-Hellman, ECC y hash con la misma fuerza de seguridad, según la Tabla 2 de NIST SP 800-57 y la fórmula del CMVP.
SP 800-57 Parte 1 Rev 5, Tabla 2. Fíjate en las dos primeras filas: a 80 y 112 bits el algoritmo simétrico es Triple-DES, no AES. FIPS 197 define AES solo con 128, 192 y 256 bits, y 3TDEA está prohibido desde 2023.
| Fuerza | Simétrico | DH L / N | RSA k | ECC f | Hash |
|---|---|---|---|---|---|
| ≤ 80 | 2TDEA | 1024 / 160 | 1024 | 160–223 | SHA-1 |
| 112 | 3TDEA | 2048 / 224 | 2048 | 224–255 | SHA-224 |
| 128 | AES-128 | 3072 / 256 | 3072 | 256–383 | SHA-256 |
| 192 | AES-192 | 7680 / 384 | 7680 | 384–511 | SHA-384 |
| 256 | AES-256 | 15.360 / 512 | 15.360 | 512+ | SHA-512 |
Citado de los documentos originales. Cuando una norma guarda silencio, ese silencio se recoge en lugar de rellenarlo.
| Norma | Requisito | Lo que dice el documento |
|---|---|---|
| NIST SP 800-57 | Al menos 112 bits ahora, 128 bits desde 2031 | La Tabla 4 clasifica la fuerza como aceptable, uso heredado o prohibida. No fija caducidad para 128 bits en adelante. |
| PCI DSS | Al menos 112 bits de fuerza efectiva; 128 bits para desarrollos nuevos | El glosario del PCI SSC define la criptografía robusta por fuerza efectiva de clave y advierte que esta "puede ser menor que la longitud real en bits de la clave". |
| GDPR | No especifica ningún tamaño de clave | El artículo 32 exige medidas "apropiadas al riesgo" teniendo en cuenta "el estado de la técnica", y cita el cifrado como ejemplo. No nombra ningún algoritmo, tamaño de clave ni número de bits. |
Las fuerzas de seguridad son estimaciones del coste del mejor ataque conocido, según las publica el NIST. No son garantías: un fallo de implementación, un canal lateral, un generador de números aleatorios débil o una clave robada anulan cualquier tamaño de clave. Comprueba los requisitos que se aplican a tu propio sistema antes de basarte en estas cifras.
También podrías encontrar útiles estas calculadoras
Asigna a RSA, ECC y AES su reemplazo post-cuántico del NIST
Entropía, resistencia a intentos y tiempo de descifrado
Genera y verifica hashes SHA-256, MD5, SHA-1, SHA-512 y SHA-3
Tiempo de descifrado por algoritmo hash, coste y número de GPU
Tres mil setenta y dos. Una curva elíptica necesita 256 bits para lo mismo, y un cifrado simétrico necesita 128. Los tamaños de clave no son comparables entre familias de algoritmos, porque el ataque más rápido contra cada familia es un algoritmo distinto con una curva de coste distinta, así que un número mayor no significa una clave más fuerte. Esta herramienta convierte entre ellos con la tabla que el NIST publica justamente para eso, y calcula los tamaños que la tabla no recoge.
La fuerza de seguridad es el número de operaciones que necesita el mejor ataque conocido, expresado como potencia de dos: 128 bits de fuerza significan unas 2^128 operaciones. La longitud de la clave es solo cuántos bits ocupa. El NIST lo dice con claridad en las notas de la Tabla 2: "la fuerza de seguridad no es necesariamente igual que la longitud de la clave, debido a ataques contra esos algoritmos que ofrecen ventajas computacionales". Triple-DES es el caso más claro. 3TDEA lleva tres claves de 56 bits, es decir 168 bits de material de clave, y aporta 112 bits de fuerza, porque un ataque de encuentro a medio camino se lleva el resto. RSA es el caso extremo: un módulo de 2048 bits aporta 112 bits, porque la criba general del cuerpo de números lo factoriza mucho más rápido que probar todas las claves. Las curvas elípticas pierden exactamente la mitad, ante el rho de Pollard. Solo los cifrados simétricos dan lo que dice su longitud de clave.
Fórmula de fuerza equivalente del CMVP para un módulo RSA de k bits
Un certificado ECDSA P-256 y uno RSA-3072 aportan los mismos 128 bits. Un saludo inicial es mucho más barato que el otro, y por eso el ecosistema se pasó a las curvas.
Confirma que la clave de transporte es al menos tan fuerte como la que transporta. El CMVP exige exactamente esto y anota el certificado del módulo cuando no se cumple.
Convierte un tamaño de clave en la cifra de fuerza efectiva en la que están escritos PCI DSS, FIPS y las políticas internas, con la tabla de origen al lado.
Localiza todos los componentes de 112 bits: RSA-2048, DH-2048, P-224, SHA-224. Son los primeros que la Tabla 4 deja de permitir.
Aporta unos 150 bits frente a los 128 de RSA-3072, por unas siete veces el coste de firma. La herramienta calcula la cifra exacta para que el intercambio sea visible.
Ve de un vistazo qué partes de un sistema acaba Shor y cuáles sobreviven, antes de dimensionar una migración poscuántica.
RSA-2048 tiene ocho veces los bits de AES-256 y aporta menos de la mitad de fuerza. Comparar las cifras en lugar de las fuerzas es como los sistemas acaban con un cifrado fuerte tras un intercambio de claves débil.
SP 800-57 es explícito: si envuelves una clave AES-256 con una clave RSA de 2048 bits, todo el intercambio aporta 112 bits, no 256. El número más grande de tu configuración no dice nada; la fuerza más baja sí.
La Tabla 4 marca la fuerza de 112 bits como aceptable hasta 2030 y prohibida desde 2031. RSA-2048 y P-224 están justo en esa línea, así que lo que deba seguir siendo confidencial más allá hay que planificarlo ahora.
PCI DSS define la criptografía robusta como un mínimo de 112 bits de fuerza efectiva y advierte en la misma frase de que puede ser menor que la longitud en bits de la clave. Ese requisito no se comprueba leyendo un tamaño de clave.
El algoritmo de Shor acaba con RSA, DH y ECC del todo, sea cual sea el tamaño de clave. Grover solo reduce la búsqueda simétrica, y menos de lo que sugiere la aritmética. Las dos mitades de tu sistema van en calendarios muy distintos.
El NIST publica cinco filas. Los sistemas reales usan RSA-4096, RSA-1536, P-521. La fórmula del CMVP los cubre todos, y es la misma a la que el NIST remite desde la propia tabla.
No, y la comparación solo tiene sentido a igual fuerza. RSA-2048 aporta 112 bits, menos que los 128 de AES-128, pese a tener dieciséis veces más material de clave. Para igualar a AES-256, una clave RSA necesita un módulo de 15.360 bits. Además hacen cosas distintas: AES cifra datos en volumen, RSA establece claves y firma. Casi todos los sistemas reales usan ambos.
No son sustitutos, pero solo en fuerza AES-256 aporta 256 bits frente a los 112 de RSA-2048: una diferencia de 2^144 en coste de ataque. En la práctica un sistema que use los dos vale lo que el más débil, así que combinar AES-256 con RSA-2048 da un sistema de 112 bits. El NIST lo dice literalmente en la sección 5.6.2 de SP 800-57.
Para desarrollos federales nuevos al nivel de 112 bits, sí: la Tabla 4 de NIST SP 800-57 prohíbe la fuerza de 112 bits, que incluye RSA-2048, desde 2031. Las claves RSA mayores siguen siendo aceptables en el plano clásico. Aparte de eso, RSA, DH y ECC quedan rotos del todo por el algoritmo de Shor en un ordenador cuántico suficientemente grande, y por eso el NIST ha normalizado sustitutos poscuánticos. Aumentar el tamaño de la clave RSA no ayuda frente a eso.
Los dos, en papeles distintos. El saludo inicial usa un algoritmo de clave pública —hoy normalmente ECDHE con un certificado ECDSA o RSA— para acordar un secreto compartido. Todo lo que viene después se cifra con un algoritmo simétrico, normalmente AES-GCM o ChaCha20-Poly1305. La fuerza real de la sesión es la menor de las dos, y por eso una curva de 128 bits se combina con un cifrado de 128 bits.
Unos 150. No está en la tabla del NIST, que salta de 3072 bits con 128 bits de fuerza a 7680 bits con 192, así que hay que calcularlo con la fórmula del CMVP. La ganancia frente a RSA-3072 es de unos 22 bits por varias veces el coste de cómputo, y por eso la mayoría de normas se quedan en 3072 y pasan a curvas elípticas.
Depende de qué propiedad necesites. Frente a colisiones —en lo que se apoya una firma digital— la paradoja del cumpleaños lo reduce a la mitad, 128 bits. Frente a preimágenes, que es lo que necesitan HMAC y la derivación de claves, aporta los 256 completos. La Tabla 3 de SP 800-57 mantiene ambas en columnas separadas precisamente por eso, y dar una sola cifra de "seguridad de SHA-256" siempre oculta una de las dos.