Claude resolvió el misterio de 25 años sobre el origen de las curvas NIST
En octubre de 2026, un empleado de Anthropic le pidió a un modelo de investigación interno que averiguara cómo se generaron los seeds de las curvas elípticas estándar de NIST. Menos de media hora después, Claude tenía la respuesta: los seeds salieron de lrand48, el generador de números pseudoaleatorios que venía en las librerías C de los 90, inicializado con un timestamp Unix. Ni hash, ni proceso clasificado, ni backdoor. Un reloj y un PRNG débil.
La pregunta que nadie pudo responder
ECDSA es el estándar de firma elíptica más usado. NIST lo adoptó en 2000 dentro de FIPS 186-2, y la especificación publica un seed de 20 bytes para cada curva estándar. El hash de ese seed define la curva, así que de dónde salió el seed importa. Los seeds los entregó la NSA sin ninguna explicación, y se convirtieron en un misterio de 25 años en la comunidad criptográfica. Neal Koblitz y Alfred Menezes escribieron la historia en "A Riddle Wrapped in an Enigma", aficionados lo persiguieron, y Filippo Valsorda organizó un bounty de 36.864 dólares para quien los encontrara.
La historia que más circulaba era que Jerry Solinas, ingeniero de la NSA, generó los seeds hasheando una passphrase humorística del tipo "Give Bob and Jerry a raise". En 2015 Solinas le dijo a un reportero que creía que había un contador o varios hash, pero que nadie acordaba los detalles. Murió en 2023, los colegas de esa época no respondieron, y la pregunta quedó abierta.
Lo que encontró Claude
Ninguno de los seeds era el resultado de un hash. Cada uno salió de lrand48, sembrado con srand48(t) donde t es un timestamp Unix. El programa generaba 20 bytes por candidato de seed y seguía iterando hasta encontrar una curva aceptable. P-256, la curva de trabajo detrás de la mayor parte del TLS y de las firmas, resultó ser el candidato número 1.842 de una corrida iniciada el 16 de agosto de 1997.
La parte interesante es cómo llegó. El rumor de la passphrase ya estaba buscado y no daba nada. Claude conjeturó que el software usaba un PRNG de una librería C de los 90, escribió un escáner que deslizaba cada seed publicado y testeaba si los chunks adyacentes eran salidas consecutivas de generadores viejos, y notó un patrón: los bits altos de algunos seeds estaban todos en cero. Esa es la firma de lrand48, que devuelve solo los 31 bits altos de su estado de 48 bits, una coincidencia con probabilidad de 1/5.810. Fuerza bruta sobre los bits ocultos recuperó el estado interno de cuatro seeds, y en los truncados Claude usó reducción de retículos LLL, la herramienta de manual para recuperar el estado de un LCG truncado. Corriendo el generador en reversa, la inicialización de cada seed de curva prima resuelve en un timestamp Unix entre mayo de 1997 y abril de 1998. Los cuatro seeds de curvas binarias leen como febrero de 1984, que mapea al 17 de abril de 1998 si el programa había dividido el reloj por dos.
Claude también localizó el origen de los base points (el punto fijo G de donde salen todas las claves públicas ECDSA) de P-192 y de cinco curvas de ejemplo de ANSI X9.62: venían del generador de FreeLIP, el paquete de aritmética de enteros largos de Arjen Lenstra, que las primeras versiones de la librería NTL de Victor Shoup también traían.
Qué significa
No es una quiebra criptográfica, ni un ataque nuevo, ni una debilidad. Anthropic deja en claro que esto se debe leer como un capítulo cerrado: no hay nada que hacer, y que los seeds se puedan reproducir desde un reloj hace mucho menos plausible una debilidad plantada a propósito, no más. El bounty de 36.864 dólares se donará al Internet Security Research Group.
Las piezas abiertas quedan como están: algunas curvas candidatas viables se saltearon durante las corridas y nadie sabe por qué, el seed binario B-163 no encaja con nada que Claude haya probado, y los base points de P-224, P-256, P-384 y P-521 siguen sin explicación. El trabajo es del Frontier Red Team de Anthropic, con John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini y Steve Weis.
Si usás ECDSA, que en la práctica es usar, no cambia nada. Las curvas con las que firmás todos los días se generaron de un modo que cualquiera puede reproducir ahora, y la sospecha de 25 años sobre ellas pierde buena parte de piso.
Fuente: anthropic.com