Ciberseguridad

Claude resuelve el misterio de las curvas de la NSA

Según Anthropic, Claude descubrió en menos de media hora que las semillas de las curvas elípticas P-192, P-224, P-256, P-384 y P-521 del NIST, que aportó la NSA sin explicación, no salían del hash de una frase graciosa, sino de un generador de números pseudoaleatorios iniciado con la hora del reloj entre 1997 y 1998. La empresa sostiene que no es una rotura criptográfica y que el hallazgo da más confianza en esas curvas.

Recibe el resumen diario de IA

Cada mañana, lo esencial de la inteligencia artificial en tu correo, sin humo. Al día con la IA.

Frecuencia:

Ilustración: en un despacho de detective, todos los hilos rojos de un tablero de conspiración presidido por el sello de la NSA acaban en un reloj de pared corriente; sobre la mesa, un aparato blanco con el destello de Claude está conectado a ese último hilo y el detective, abatido, se rasca la cabeza bajo el sombrero.
📷 Imagen generada con IA

En resumen

  • Según Anthropic, las semillas de P-192, P-224, P-256, P-384 y P-521 son salidas del generador lrand48 de la biblioteca de C, iniciado con una marca de tiempo Unix.
  • Anthropic sostiene que no es una rotura criptográfica, ni un ataque nuevo, ni una debilidad de las curvas ECDSA, y que no hay que hacer nada distinto.
  • Según Anthropic, siguen sin explicación la semilla de la curva binaria B-163 y los puntos base de P-224, P-256, P-384 y P-521.
  • Según Anthropic, la compañía prevé donar los 36.864 dólares de la recompensa al Internet Security Research Group.

Unas semillas sin explicación

ECDSA es el estándar de criptografía de curva elíptica más usado, y el NIST (National Institute of Standards and Technology, Instituto Nacional de Estándares y Tecnología) lo adoptó en 2000 dentro de FIPS 186-2, que fija una serie de curvas estándar. Según el NIST, el organismo se fundó en 1901 y hoy forma parte del Departamento de Comercio de Estados Unidos.

Para las curvas sobre cuerpos primos y binarios, la especificación publicó un parámetro llamado semilla (seed) cuyo hash define el coeficiente b de la curva. Esas semillas las aportó la NSA sin ninguna explicación ni justificación. Según la NSA, la Agencia de Seguridad Nacional es una agencia de apoyo de combate del Departamento de Guerra de Estados Unidos y lidera la criptología del Gobierno.

Y no son curvas cualquiera: P-256 y P-384 son las que usan los certificados ECDSA que protegen buena parte de la web.

La frase graciosa que nunca existió

La versión más aceptada era que Jerry Solinas, empleado de la NSA durante años, había generado las semillas con el hash de una frase graciosa. Según Solinas, que lo contó en 2015, el mensaje era «algo como “Give Bob and Jerry a raise” o “Bob and Jerry rule”», y el código lo escribió Bob Reiter, que tampoco recordaba los detalles.

Solinas murió en 2023 y sus colegas de entonces no aclararon la cuestión. Según Anthropic, varios empleados de la compañía siguieron sin éxito la pista de la frase, que resultó ser falsa.

Según Filippo Valsorda, que la organizó, la recompensa anunciada en octubre de 2023 llegaba a 36.864 dólares por las cinco semillas de las curvas del NIST si el ganador la donaba a una entidad benéfica 501(c)(3).

La pista estaba en el reloj

Cuándo se generaron las semillas
Curva Marca de tiempo Candidata elegida
P-192 1997-05-18 14:45:34 139
P-521 1997-08-08 01:12:04 1.136
P-256 1997-08-16 01:52:34 1.842
P-384 1997-08-30 14:50:08 2.688
P-224 1998-04-03 12:52:07 7.026
Datos según Anthropic, tomados de la salida del código que publica para reproducir las semillas.

Según Anthropic, en octubre de 2026 un empleado curioso preguntó a un modelo interno de investigación si podía averiguar cómo se generaron las semillas, sin darle la pista de la frase. En menos de media hora, Claude descubrió el origen de las de P-192, P-224, P-256, P-384 y P-521.

Según Anthropic, ninguna salió de un algoritmo de hash: son salidas de lrand48, el generador de números aleatorios de la biblioteca de C, inicializado con una marca de tiempo Unix. El programa sacaba 20 bytes del generador en cada iteración como semilla candidata, y para P-256 hicieron falta 1.842 iteraciones.

El generador lrand48 solo devuelve los 31 bits altos de un estado interno de 48 bits. Anthropic afirma que las semillas de curvas de cuerpo primo conservaban menos bits de cada salida y que Claude recuperó su estado interno con la reducción de retículos LLL (Lenstra–Lenstra–Lovász); el mismo patrón apareció en otras cinco semillas del estándar ANSI X9.62. Cada estado recuperado regenera los 160 bits de su semilla, algo que no ocurre por azar.

Según Anthropic, todas las inicializaciones de las curvas de cuerpo primo son marcas de tiempo de entre mayo de 1997 y abril de 1998. Las de cuatro curvas binarias se leen como febrero de 1984; con la marca duplicada caen en el 17 de abril de 1998, dos semanas después de la ejecución de P-224, así que el programa podría haber dividido el reloj por dos.

Los puntos base y los cabos sueltos

Según Anthropic, Claude explicó además los puntos base de las seis curvas generadas en mayo de 1997: P-192 y cinco curvas de ejemplo de ANSI X9.62. Salen del generador de números aleatorios de FreeLIP, el paquete de aritmética de enteros largos de Arjen Lenstra, iniciado con un número entero pequeño; las primeras versiones de NTL, la biblioteca de Victor Shoup, incluían el mismo código.

Anthropic afirma que, hasta donde sabe, nadie había explicado antes ningún punto base del NIST.

Según Anthropic, la semilla de la curva binaria B-163 no encaja con nada de lo que Claude ha probado, y no se sabe cómo se generaron los puntos base de P-224, P-256, P-384 y P-521 ni los de las curvas binarias del NIST.

Tampoco está claro por qué se saltaron candidatas válidas, según Anthropic. En P-256 la semilla publicada es la candidata 1.842, pero la 876 de la misma ejecución también daba una curva válida de orden primo; la ejecución de P-224 pasó por encima de tres curvas así, y las dos de las curvas de ejemplo de ANSI X9.62, de siete más. No se sabe con qué criterio se hizo ni si fue involuntario.

Más confianza, no menos

Anthropic sostiene que no es una rotura criptográfica, ni un ataque nuevo, ni una debilidad de las curvas ECDSA. Al contrario, según la empresa, el hallazgo da más confianza en que se eligieron sin puertas traseras: las semillas salieron de un generador pseudoaleatorio común iniciado con el reloj, que ahora cualquiera puede reproducir, y eso deja mucho menos margen para manipularlas.

Según Anthropic, como se saltaron pocas candidatas, no es plausible que se eligieran curvas debilitadas, porque eso implicaría que las curvas débiles son comunes y fáciles de encontrar. Aun así, la empresa reconoce que en principio alguien podría haber buscado entre marcas de tiempo una curva con alguna propiedad concreta.

Para quien usa estas curvas, nada cambia: según Anthropic, no hay que hacer nada distinto, y la mayoría de los investigadores ya confiaba en ellas.

Según Anthropic, la compañía prevé donar los 36.864 dólares de la recompensa al Internet Security Research Group (ISRG), la corporación californiana de beneficio público fundada en 2013 para albergar proyectos como Let's Encrypt. Según el ISRG, lo patrocinan desde pequeñas empresas hasta compañías del Fortune 100.

Conclusión

Según Anthropic, años de especulación sobre las semillas que aportó la NSA acaban en un generador de la biblioteca de C y en la hora del reloj. Solo la semilla de B-163 se resiste.

Fuentes primarias

Comentarios

Sé respetuoso. Los comentarios se moderan.

    Recibe el resumen diario de IA

    Cada mañana, lo esencial de la inteligencia artificial en tu correo, sin humo. Al día con la IA.

    Frecuencia:

    ← Volver al blog