Anthropic publicó el 16 de octubre que Claude, en uso interno, descubrió cómo se produjeron las "semillas" de las curvas elípticas del NIST usadas en el ECDSA, un misterio abierto desde que el estándar FIPS 186-2 las dio a conocer en 2000. Según la empresa, las semillas salieron de un generador de números pseudoaleatorios común en los años 90, iniciado con una marca de tiempo Unix, y no del hash de una frase, como sugería un relato antiguo. La propia Anthropic subraya que esto no es un fallo de las curvas.

Por qué esas semillas eran un misterio

Curvas como la P-256 se definen con parámetros y una semilla que, en teoría, demuestra que no se eligieron a dedo. Las semillas de las curvas del NIST llegaron de la NSA sin explicación, lo que alimentó durante años la sospecha de posibles puertas traseras. Anthropic recuerda el artículo de 2015 de Koblitz y Menezes sobre el tema y el relato de Jerry Solinas, que sugería un hash de una frase humorística. Solinas murió en 2023 y la pregunta siguió sin respuesta, con una recompensa abierta para quien la resolviera.

Cómo llegó Claude

Según Anthropic, un empleado pidió a un modelo interno que descubriera el origen de las semillas, sin señalarle la pista de la frase. Claude planteó la hipótesis de un generador de números aleatorios incluido en las bibliotecas C de los años 90 y escribió un escáner que probó 34 combinaciones de generador y fragmentos de salida. Notó que los bits más altos de algunas semillas eran cero, lo que apuntaba a lrand48, un generador congruencial lineal.

En las curvas primas, que guardan menos bits por salida, el modelo recuperó el estado interno del generador con el algoritmo de reducción de retículos LLL, retrocedió el estado hasta la llamada inicial a srand48 y leyó las marcas de tiempo. La empresa también examinó cómo se generaron los puntos base.

Qué se encontró

  • Curvas primas: las semillas de P-192, P-224, P-256, P-384 y P-521 salieron de lrand48 iniciado con una marca de tiempo. Diez semillas de curvas primas corresponden a fechas entre mayo de 1997 y abril de 1998.
  • Curvas binarias: las cuatro semillas se inicializan con marcas de febrero de 1984. Duplicadas, llegan al 17 de abril de 1998, dos semanas después de la ejecución de P-224; Anthropic trata como hipótesis la idea de que el programa dividía el valor del reloj entre dos.
  • Puntos base: seis puntos (el de P-192 y los de cinco curvas de ejemplo de ANSI X9.62) provienen del generador de FreeLIP, el paquete de enteros largos de Arjen Lenstra, que las primeras versiones de la biblioteca NTL de Victor Shoup también incluían.

Anthropic publicó código en Python que regenera las semillas listadas y algunos puntos base, con una salida igual a los valores publicados. La cobertura secundaria informa que Filippo Valsorda, organizador de la recompensa, verificó el resultado; esa verificación no aparece en el resumen oficial que consultamos.

Lo que Anthropic dice que esto no es

La empresa afirma que "esto no es una ruptura criptográfica, un nuevo ataque ni una debilidad en las curvas ECDSA". Su argumento va en sentido contrario: como las semillas salieron de un proceso simple y reproducible, la tesis de la puerta trasera resulta menos plausible. La recompensa de 36.864 dólares se donará a Internet Security Research Group. Participaron John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini y Steve Weis.

Lo que aún no se sabe

  • La semilla de la curva binaria B-163 sigue sin explicación.
  • Los puntos base de P-224, P-256, P-384, P-521 y de las curvas binarias del NIST siguen sin origen conocido.
  • Algunos candidatos válidos se omitieron durante la generación (por ejemplo, el candidato 876 de la P-256), sin motivo conocido. Los autores dicen que el número de omitidos es demasiado pequeño para sugerir curvas debilitadas a propósito.
  • Nada en los números muestra cuántas ejecuciones de generación hubo.

Por qué importa para el portal

El caso es pariente de los proyectos de ingeniería inversa con IA que sigue Portal GTA 6, como la descompilación completa de Super Smash Bros. Melee: un modelo parte de pistas parciales, prueba hipótesis y valida el resultado contra algo verificable. Aquí la validación es la regeneración exacta de valores publicados hace más de 25 años. Como el relato viene de la propia Anthropic, conviene leer también el código abierto y los análisis independientes.