Durante 25 años, la criptografía tuvo una pregunta incómoda sin respuesta: de dónde salieron los números semilla que definen las curvas ECDSA del NIST, el estándar que firma buena parte de internet. La respuesta llegó este octubre y la encontró Claude, el modelo de Anthropic, en menos de media hora: salieron de un generador de números aleatorios de la librería C de los años noventa, sembrado con la hora del reloj.
Lo cuenta la propia Anthropic en una investigación publicada el 16 de octubre. Un empleado le preguntó a un modelo interno de investigación si podía averiguar cómo se generaron las semillas de las curvas P-192, P-224, P-256, P-384 y P-521, sin darle pistas. Claude dedujo que el software original debía usar un generador pseudoaleatorio de la época, escribió un escáner para reconocer su firma estadística y dio con el patrón: las semillas son salidas de lrand48, inicializado con marcas de tiempo Unix entre mayo de 1997 y abril de 1998.
ECDSA es el algoritmo de firma digital más usado del mundo: está detrás de las conexiones seguras de los sitios web, de las carteras de criptomonedas y de buena parte de la mensajería cifrada. Las curvas que lo sustentan fueron adoptadas por el NIST en el año 2000 y sus parámetros vienen de una “semilla” numérica cuyo origen nunca se documentó.
¿Por qué el misterio importaba?
Las semillas de las curvas fueron entregadas al NIST por la NSA sin explicación ni justificación. Ese silencio alimentó durante décadas la sospecha de que los parámetros podían haber sido elegidos con una puerta trasera. La mejor historia disponible era la de Jerry Solinas, el empleado de la NSA que habría generado los números a partir de una frase humorística; Solinas murió en 2023 sin que nadie pudiera confirmar los detalles, y la comunidad llegó a ofrecer una recompensa por resolver el origen.
Te puede interesar: ¿Cómo identificar un SMS falso? Señales para reconocer una estafa
El hallazgo cambia ese panorama. Que las semillas sean reproducibles por cualquiera a partir de un reloj y un generador estándar deja mucho menos espacio para una manipulación deliberada. Anthropic lo dice sin rodeos: no es una vulnerabilidad, no hay nada que cambiar y el resultado refuerza la confianza en las curvas. De hecho, los 36.864 dólares de la recompensa serán donados al Internet Security Research Group.
Lo que Claude hizo (y lo que queda abierto)
El modelo no solo identificó el generador. Recuperó el estado interno del algoritmo resolviendo un problema de retículos con el método LLL, lo hizo correr hacia atrás hasta la inicialización y verificó que cada estado recuperado regenera los 160 bits de su semilla: diez coincidencias completas que no ocurren por azar. También explicó el origen de algunos puntos base, generados con la librería FreeLIP de Arjen Lenstra.
Quedan cabos sueltos: una semilla binaria (B-163) sigue sin explicación, y se desconoce cómo se eligieron los puntos base de P-224, P-256, P-384 y P-521. Tampoco se sabe por qué el software descartó algunas curvas candidatas válidas, aunque Anthropic considera poco plausible que hubiera selección maliciosa.
El episodio dice tanto de criptografía como del momento de la IA: un problema que resistió 25 años de trabajo humano especializado se resolvió con una tarde de cómputo. No es la primera sorpresa reciente de la casa: Enter ya contó cómo Anthropic filtró por error el código fuente de Claude Code y lo que eso reveló.
Fuentes: Anthropic, Claude reveals ECDSA curve origins; The Frontier, Claude traced NIST ECDSA seeds to lrand48 and 1997 timestamps.