Mostrando entradas con la etiqueta Cracking. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cracking. Mostrar todas las entradas

jueves, octubre 01, 2026

Factorización de RSA Challenge RSA-896 en 10 días con 30 GPU Core-Years ... y un poco de ayuda de la IA

Esta semana ya hablamos de RSA, en el artículo de "Cómo Falsificar Firmas RSA, sin Factorizar el Módulo, usando 1.380 CPU Core-Years", un artículo que merece la pena que te leas para entender el mundo en el que estamos hoy en día respecto a la criptografía, pero no quería dejar pasar más tiempo sin hablar de la publicación de Stephen A. Weis que ha publicado la resolución del RSA Challenge para RSA-896.

El RSA Challenge es un viejo reto de RSA Laboratories, ya cerrado en cuanto a premios, pero que tenía como siguiente parada el RSA-896, tal y como podéis ver en esta captura que publiqué en uno de mis artículos de criptografía para ilustrar el estado actual de RSA.
Lo cierto es que con los avances en Inteligencia Artificial, hemos tenido una consecuencia menos esperada, y es que han proliferado los Centros de Cómputo, y la potencia de computo se ha abarato muchísimo, así que atacar a nuestro querido RSA es posible a precios manejables, como vimos en el artículo de "Cómo Falsificar Firmas RSA, sin Factorizar el Módulo, usando 1.380 CPU Core-Years" donde los investigadores tuvieron acceso a los recursos para conseguir esos 1.380 CPU Core-Years, algo impensable antes.
En el caso de Stephen A. Weiss, para resolver el RSA-896, necesitó de 10 días con 30 GPU Core-Years, utilizando 2048 GPUs que estuvieran en periodos de baja prioridad e inactividad en los Centros de Cómputo de Anthropic, lo que le ahorró muchos costes económicos, pero que sirvió para resolver el reto.
Para poder ejecutarlo, utilizó el algoritmo de Number Field Sieve (NFS) del que ya hemos hablado en el artículo anterior, usando el programa OpenSource CADOS-NFS, que está escrito en C/C++. Pero, con una mejora para la que utilizó Antrophic Claude.
Se utilizó la Inteligencia Artificial para migrar CADOS-NFS, construido para correr en CPUs, para que pudiera ejecutarse en en GPUs - una de las optimizaciones de las que los investigadores que hicieron las firmas falsas de RSA plantearon como mejora a su trabajo -.
La solución la ha publicado en su blog personal, y puedes verla aquí, sin mucho más que contar. El avance de la IA permitió acceder a centros de datos de GPUs a costes asequibles, y al mismo tiempo migrar el software que era necesario para romper el RSA-896 del reto.
Para los que entendáis el algoritmo NFS y el proceso de factorización, Steven A. Weis ha dejado los detalles del proceso. El polinomio utilizado era de grado 6, alfa -11,12, Murphy E 5,293e-10, Res(f,g) = -8N. 

La alerta está clara, RSA-1024 es asequible para cualquiera con un poco de recursos, por lo que hay que preocuparse. Si quieres animarte, el RSA-1024 del RSA Challenge lo tienes aún en la web de Archive.org, y aquí está.
La recomendación está clara, seguir acelerando la migración a Post-Quantum Cryptography, no ya porque lleguen los Quantum Computers, que puede que sean más o menos tarde, pero cada vez se están cercando más los algoritmos de criptografía basados en RSA.
Hay que recordar que este año, el equipo de Google Quantum AI, junto a la Fundación Ethereum, publicó en marzo otro paper clave titulado "Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities". En este caso, lograron reducir a menos de 500.000 cúbits físicos el requisito para romper la criptografía de curva elíptica (ECDLP-256) que protege a Bitcoin y Ethereum, permitiendo un ataque en cuestión de minutos.
Este paper aceleró en todas las compañías el proceso de migración a PQC en todas las empresas, y en Cloudflare, por ejemplo, se decidió ir Full Post-Quantum Security en 2029, y esta misma semana hemos anunciado un montón de nuevos despliegues de PQC en la plataforma. Os los dejo aquí:
Si a esto le sumamos los anuncios de este mes de Septiembre con el aviso del trabajo de "Cómo Falsificar Firmas RSA, sin Factorizar el Módulo, usando 1.380 CPU Core-Years" y el que tenemos aquí al resolverse tan "fácilmente" RSA-896, nos lleva claramente a un escenario de aceleración a Post-Quantum Cryptography lo antes posible.
Si te gusta todo este mundo, durante el mes de Noviembre vamos a dar el Programa de la Universiad de Deusto de Quantum y Post-Quantum Computing para Ciberseguridad. al cuál aún te puedes apuntar. Es online, y lo damos un grupo de amantes de la ciberseguridad y las tecnologías Quantum.


Y si quieres saber más sobre estos temas, te dejo una lista de artículos de Quantum Security que te recomiendo que te leas si no lo has hecho ya.
¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, septiembre 29, 2026

Cómo Falsificar Firmas RSA, sin Factorizar el Módulo, usando 1.380 CPU Core-Years

Después de haber publicado los últimos tres artículos seguidos mirando hacia la Criptografía PostQuántica - "Claude Mythos Preview debilita los algoritmos criptográficos PQC HAWK y AES con nuevos ataques", "El algoritmo que amenazó a la Criptografía Post-Cuántica" y "Cómo se desmontó el algoritmo que amenazaba a la Criptografía Post Cuántica 9 días después" -  hoy toca volver al viejo conocido: RSA. Pero esta vez no hay ordenador cuántico, no hay algoritmo de Shor y, de hecho, ni siquiera hay que factorizar el número que protege la clave.


Este fin de semana leyendo los blogs de referencia, vimos como Tom’s Hardware publicó una noticia con un titular de los que obligan a abrir una pestaña nueva: un ataque contra RSA clásico reducía de forma espectacular eltrabajo necesario en determinadas condiciones y colocaba algunos parámetros bastante máscerca de adversarios con recursos enormes. La noticia nace de un preprint de Laura Shea, Miro Haller, Adam Suhl, Nadia Heninger y Emmanuel Thomé, titulado "Forging 1024-bitRSA signatures in nearly SNFS time", y publicado el 20 de Septiembre de este año.


Y el resultado es de los que merece leer despacio. Los autores han realizado una falsificación real contra una clave RSA de 1024 bits empleando unas 1.380 CPU core-years, con alrededor de 232 consultas a un oráculo RSA y 5 meses de tiempo de calendario. Después de la pre-computación, fabricar una firma elegida por el atacante todavía cuesta unas 180 core-years, pero ya se puede hacer offline, sin volver a consultar al dispositivo que posee la clave.

Suena muchísimo a “RSA roto”. Pero no es eso. De hecho, la parte más interesante de esta historia consiste precisamente en entender qué se ha roto, qué no y por qué la diferencia importa. Y como recomendación previa, el Libro de Cifrado de las comunicaciones digitales: de la cifra clásica a RSA 2ª Edición de 0xWord de Alfonso Muñoz es de lectura obligatoria para entender bien el mundo de la criptografía.

La primera sorpresa: el ataque NO nació en 2026, es de 2007

Aquí llega el primer giro de guión. El algoritmo que hace posible todo esto No es nuevo. Tiene casi veinte años. En el año 2007 los investigadores Antoine Joux, David Naccache y Emmanuel Thomé publicaron un trabajo con un título que hoy parece escrito a propósito para esta noticia: "When e-th Roots Become EasierThan Factoring". Lo que demostraban era que, si un atacante dispone de acceso a un tipo muy concreto de oráculo RSA, calcular nuevas raíces e-ésimas módulo N puede ser sustancialmente más barato que factorizar N con los mejores métodos conocidos.


En lenguaje menos hostil: 

"Hay escenarios en los que falsificar una operación RSA 
puede costar mucho menos que reconstruir la clave privada".

El resultado de 2007 no era una receta para romper cualquier servidor del planeta. Requería acceso a una caja negra capaz de realizar operaciones RSA sobre valores elegidos por el atacante y seguía necesitando una cantidad de cálculo monstruosa. Durante casi dos décadas se quedó, en la práctica, en la zona gris que separa un resultado precioso de teoría de un ataque que alguien ha pagado de verdad.

Eso es exactamente lo que cambia ahora. El equipo de UC San Diego e INRIA ha construido una implementación pública, la ha ejecutado a escala criptográfica real y ha completado la falsificación para RSA-1024. Su propio repositorio en GitHub lo resume de forma bastante clara: es la primera implementación pública y ejecución a gran escala del algoritmo de 2007.


Por eso conviene corregir una pequeña tentación periodística desde el principio. No han inventado un ataque nuevo contra RSA; han demostrado que un viejo atajo matemático funciona de verdad a una escala que ya no cabe en una pizarra. 

RSA en treinta segundos: una cerradura con dos operaciones

La idea central del ataque es que la clave privada puede seguir encerrada y el atacante no necesita factorizar el módulo. Lo que intenta obtener es la capacidad de producir resultados válidos como si tuviera la clave. Y con este trabajo lo han probado. Para entender el truco sólo necesitamos recordar el esqueleto de RSA. 

Elegimos dos primos enormes p y q y publicamos su producto N= pq. La clave pública contiene N y un exponente e. La privada contiene el exponente d, relacionado con la estructura secreta de N. En RSA, de manual, si representamos un mensaje mediante un número m, la operación privada tiene esencialmente esta forma:

s = m^d (mod N ),

y cualquiera puede comprobar el resultado con la clave pública:

s^e ≡ m (mod N ).

Para firmas reales no se firma el mensaje desnudo de esta manera. Antes se aplica una codificación cuidadosamente diseñada, como RSA-PSS o PKCS#1v1.5, precisamente porque el RSA “en crudo” es demasiado algebraico, demasiado maleable y deja abiertas puertas que un esquema de firma serio debe cerrar.

Y aquí entra una palabra que aparece constantemente en el trabajo: Oráculo. No tiene nada de místico. Imaginad un HSM (Hardware Secure Module), un dispositivo diseñado para guardar una clave privada sin que nadie pueda extraerla. La aplicación le envía una entrada, el HSM realiza la operación privada y devuelve la salida. La clave sigue dentro. Desde fuera solo vemos una API. Eso es un Oráculo Criptográfico: una caja negra que responde preguntas sin enseñarnos el secreto con el que las responde.

Figura 6: El HSM puede cumplir perfectamente su misión de no revelar
la clave privada. El problema aparece si la interfaz permite al
atacante pedir justo la operación algebraica que necesita el ataque.

Y esta es una de las ideas más bonitas del trabajo: la caja fuerte puede no abrirse nunca y, aun así, el mostrador de la puerta puede aceptar demasiados encargos.

La propiedad peligrosa de RSA raw: las firmas se multiplican

¿Por qué importa tanto que el oráculo sea “raw”, sin el acolchado criptográfico habitual? Porque RSA desnudo conserva una estructura multiplicativa muy fuerte. Si tenemos

s1 = m1^d (mod N )

y

s2 = m2^d (mod N )

entonces al multiplicarlas obtenemos

s1s2 = (m1m2)^d (mod N )

Las respuestas del oráculo, por tanto, no son piezas aisladas. Se relacionan entre sí mediante la misma aritmética modular que define RSA. Esa maleabilidad es conocida desde hace décadas y es una de las razones por las que los esquemas reales introducen padding y codificaciones antes de aplicar la operación privada.

El algoritmo de Joux, Naccache y Thomé lleva esa idea muchísimo más lejos. En vez de intentar recuperar p, q o d, el atacante pide al oráculo raíces RSA de una colección enorme de valores cuidadosamente elegidos. Después usa maquinaria de Number Field Sieve para construir relaciones algebraicas suficientes como para sintetizar la raíz —o, en el lenguaje de firmas, la firma— de un valor que el oráculo nunca firmó directamente.

Lo importante aquí no es memorizar el detalle del cribado. Es entender el cambio de objetivo: el atacante deja de preguntar “¿cuál es la clave?” y pasa a preguntar “¿puedo aprender suficiente sobre lo que esta clave hace como para imitarla más tarde?”. Y la respuesta del paper de 2026 es que Sí, bajo ese modelo concreto.

La parte inquietante: el acceso puede acabarse antes del ataque final

Para RSA-1024, el equipo hizo alrededor de 232 consultas al oráculo: algo más de cuatro mil millones. Es una barbaridad. Pero una vez recogida esa información, la parte gruesa del trabajo se convierte en una pre-computación ligada principalmente a la clave pública. Cuando termina, el atacante puede fabricar firmas elegidas posteriormente sin volver a tocar el HSM.



Figura 7: El flujo conceptual del ataque. El detalle importante está en la línea
roja: el acceso al oráculo puede terminar antes de la falsificación final.
La fórmula de la última tarjeta representa la condición matemática de
una firma RSA válida; el atacante no ha recuperado el exponente privado d.

Eso cambia la intuición habitual sobre una intrusión temporal. Si un atacante roba una contraseña durante una hora y después la cambiamos, solemos pensar que el acceso ha muerto con la credencial. Aquí la historia puede ser distinta: unas horas, días o meses de acceso a una operación RSA vulnerable pueden convertirse, si se consiguen suficientes consultas, en una capacidad que sobrevive después. La clave privada sigue sin salir de la caja. El módulo sigue sin factorizarse. Pero la frontera de seguridad se ha movido.

Por qué “casi SNFS” es la frase importante del título

Hasta aquí sabemos que el ataque funciona, pero todavía falta entender por qué puede ser tan distinto de factorizar directamente la clave. Vamos a ello.

El mejor algoritmo  clásico conocido para factorizar un entero RSA genérico grande es el General Number Field Sieve, o GNFS. La palabra “general” importa: un módulo RSA bien generado está pensado precisamente para no tener una estructura especial que nos regale un atajo.

El Special Number Field Sieve, o SNFS, vive en un mundo más amable. Cuando el número que queremos atacar tiene una forma algebraica especial, el cribado puede ser considerablemente más rápido. Esa diferencia no convierte un problema gigantesco en algo trivial, pero sí puede recortar muchos bits de seguridad. 

El trabajo de 2007 demostró que, con el Oráculo adecuado, el problema de extraer raíces RSA puede alcanzar una complejidad del mismo tipo que SNFS, sin necesidad de factorizar el módulo. No significa que hayan convertido un módulo RSA normal en un número “especial”. Significa que el oráculo cambia el problema que estamos resolviendo y permite llegar a una ruta algorítmica más favorable.


De ahí el título del nuevo paper: "nearly SNFS time". Y conviene subrayar también el “nearly”. Esto sigue siendo un ataque subexponencial, enormemente caro y muy lejos de cualquier algoritmo polinómico. No es un Shor clásico disfrazado usando Quantum Computing. No es “descargar el código y romper RSA-2048 esta tarde”. Los propios autores son muy explícitos al respecto. Pero una cosa puede ser carísima y, al mismo tiempo, obligarnos a revisar lo que entendíamos por margen de seguridad.

Los números: 1.380 core-years frente a medio millón

Aquí es donde la historia deja de ser una curiosidad asintótica. La estimación que manejan los autores para factorizar directamente un módulo RSA de 1024 bits mediante GNFS está entre 500.000 y 1.000.000 CPU Core-Years. La ejecución real de su ataque consumió unas 1.380 core-years y terminó después de cinco meses de calendario, lo que es mucho menos de lo planteado inicialmente.

Un Core-Year no quiere decir que una persona se sentó a esperar 1.380 años. Es una unidad de trabajo que habla de mantener un núcleo de CPU ocupado durante un año. Con un clúster suficientemente grande, muchos años de CPU se convierten en meses de tiempo real. Aun así, la comparación es brutal. No estamos hablando de ahorrar un 20%, o de una implementación especialmente afinada. Estamos hablando de reducir el trabajo estimado en varios cientos de veces frente al extremo bajo de la factorización.

Figura 9: Orden de magnitud del trabajo para RSA-1024.
El eje es logarítmico: 1.380 core-years sigue siendo muchísimo cómputo,
pero queda muy por debajo de la estimación de una factorización directa.

Además hay dos cifras que evitan que salgamos corriendo a poner “RSA muerto” en el titular. La primera son esas 232 consultas al Oráculo. La segunda es que, incluso después de terminar la pre-computación, la falsificación elegida todavía requiere unas 180 core-years. Es decir, el ataque es real, pero no es cómodo ni totalmente rápido. 

Y, al mismo tiempo, tampoco conviene tratar esos números como una constante de la naturaleza. Los investigadores indican que su implementación no utilizó GPUs y que esperan margen de optimización importante. Eso no nos autoriza a inventarnos cuánto bajará el coste mañana, pero sí nos recuerda una regla clásica del criptoanálisis: la primera ejecución pública rara vez es la última palabra en ingeniería.

De 1024 a 4096 bits: el margen de seguridad también cambia

El experimento completo se hizo para 1024 bits, pero el paper publicado extrapola sus mediciones a tamaños mayores. La noticia de Tom’s Hardware recoge las estimaciones en una forma bastante intuitiva: si expresamos el coste como “bits de trabajo”, las cifras aproximadas pasan de 80, 112, 128 y 144 bits para la referencia basada en factorización a 65, 90, 105 y 119 bits bajo el modelo de ataque con oráculo para RSA-1024, RSA-2048, RSA-3072 y RSA-4096, respectivamente.

La forma correcta de leer el gráfico siguiente no es “RSA-2048 tiene 90 bits de seguridad siempre”. Eso sería falso. La lectura correcta es: si un atacante consigue el tipo de oráculo que exige este ataque, el margen efectivo puede caer mucho respecto a la estimación basada únicamente en factorizar N.

Figura 10: Estimaciones de trabajo recogidas para distintos tamaños de RSA.
El azul corresponde únicamente al escenario con el oráculo requerido
por el ataque; no describe la seguridad de todo uso de RSA.

Para RSA-2048, 290 sigue siendo una cantidad enorme de trabajo. Los propios autores señalan que está aproximadamente tres órdenes de magnitud por encima del coste de referencia de 280 asociado a RSA-1024, y no existe una factorización pública completa de un módulo RSA-1024 genérico. Así que tampoco estamos delante de un ataque que mañana vaya a vaciar Internet.

Pero hay una lección incómoda, ya que subir el tamaño de la clave no arregla por sí solo un cambio de modelo de ataque. Si el problema ya no es factorizar, la tabla mental que usábamos para traducir “2048 bits de RSA” a un margen de seguridad deja de ser toda la historia.

Entonces, ¿está roto RSA? Depende de qué RSA estemos hablando

Llegados aquí, la respuesta corta es NO: este trabajo no rompe las firmas RSA-PSS ni PKCS#1 v1.5 convencionales cuando se usan mediante interfaces normales. Los autores lo dicen expresamente en su FAQ: esos esquemas no exponen el oráculo raw que necesita el ataque. El padding no es decoración; es parte esencial del diseño de seguridadde la firma.


Pero hay sistemas en los que la propia funcionalidad exige algo mucho más parecido a ese oráculo. El ejemplo más claro son las firmas RSA ciegas. En un protocolo de Blind RSA, el cliente oculta matemáticamente el mensaje, el servidor aplica la operación privada sobre el valor cegado y el cliente elimina después el cegado. El RFC 9474 especifica precisamente este tipo de construcción, y la firma final puede verificarse como una firma RSA-PSS.


Ese detalle es importante porque evita una aparente contradicción: una API normal de RSA-PSS no da al atacante un oráculo raw, pero un protocolo de Blind RSA puede necesitar internamente una operación privada sobre valores que el cliente controla. El problema no es la etiqueta “PSS” que aparece al final; es qué inputs puede hacer procesar el atacante por la clave privada durante el protocolo.

Privacy Pass, por ejemplo, estandariza un tipo de token públicamente verificable basado en Blind RSA de 2048 bits. Para ese tamaño, los autores estiman aproximadamente 290 de trabajo y 243 consultas al oráculo. Es una cifra descomunal y probablemente fuera del alcance de casi cualquier atacante real, pero ya no es una afirmación puramente académica sobre una construcción inventada para un paper: hay protocolos modernos cuya forma se parece exactamente al escenario que merece revisar.

Figura 13: Privacy Pass

También entran en esta categoría ciertas APIs de HSM que permiten operaciones RSA de bajo nivel. Y aquí hay que afinar el lenguaje: un HSM no es vulnerable por ser un HSM. De hecho, el HSM puede estar haciendo perfectamente su trabajo de no dejar salir la clave. 

Lo que hay que revisar es si su política permite un volumen enorme de operaciones del tipo que actúa como oráculo. El equipo realizó su demostración usando un HSM como caja negra, precisamente para mostrar que la clave puede No filtrarse ni una sola vez.

La parte que el titular borra: NO basta con capturar tráfico

Aquí es donde algunos titulares pueden llevarnos demasiado lejos. No es correcto imaginar el ataque como “grabo tráfico TLS hoy, hago el cálculo mañana y descifro Internet”. El propio repositorio de los autores recuerda que el intercambio de claves moderno de TLS usa mecanismos como ECDH y está migrando hacia ML-KEM; este ataque no se aplica a esos algoritmos.

Para que exista una falsificación o un descifrado útil tiene que haber una clave RSA concreta expuesta mediante la operación vulnerable, suficiente acceso al oráculo y un protocolo en el que esa capacidad posterior tenga valor. En otras palabras, el ataque es contra una interfaz y un modelo de uso de RSA, no contra la existencia del algoritmo RSA en abstracto.

Esto también explica por qué los miles de millones de consultas son algo más que un detalle de implementación. Contra un servicio público bien monitorizado, pedir cuatro mil millones de operaciones anómalas no es precisamente discreto. Ratelimits, rotación de claves, telemetría y controles de acceso pueden hacer que un ataque matemáticamente posible sea operacionalmente absurdo. Contra una clave muy longeva, una API interna poco vigilada o un dispositivo con políticas demasiado permisivas, la historia puede cambiar.

Y esa es, para mí, una de las mejores lecciones del paper: la seguridad real nunca vive solo en una ecuación. Vive en la ecuación y en la API, y en la política de claves, y en cuántas veces dejamos que alguien pulse el botón, y en cuantas capas de seguridad se construyan para proteger un sistema.

Qué debería cambiar ahora mismo

Para la inmensa mayoría de administradores que usan RSA-2048 o RSA-3072 con firmas estándar y padding correcto, no hay una orden de evacuación. Los propios autores dicen que el ataque no parece viable contra firmas PKCS o PSS usadas de la forma habitual.

Figura 14: La frontera práctica del trabajo. El ataque no convierte cualquier
uso de RSA en vulnerable. La condición decisiva es si el atacante
dispone de la clase de oráculo que necesita la construcción.

Para quien mantenga Blind RSA, servicios de privacidad con firmas ciegas o HSM que expongan operaciones raw, Sí hay trabajo que hacer. Los investigadores sugieren, en el caso de Blind RSA de 2048 bits, medidas de corto plazo como reducir la duración de las claves y aumentar tamaños; a medio plazo, introducir mecanismos que cierren esta clase de oráculo; y a largo plazo, aprovechar la transición Postc-Cuántica para abandonar construcciones RSA heredadas cuando exista una alternativa adecuada.


Fijaos en la ironía. Llevamos años hablando de abandonar RSA porque un Quantum Computer suficientemente grande podrá factorizarlo con Shor. Y justo en mitad de esa transición aparece un recordatorio completamente clásico: aunque la factorización siga siendo durísima, la seguridad de RSA puede degradarse por un camino que no intenta factorizar nada. No invalida la migración Post-Cuántica. La refuerza desde otro ángulo.

Por qué este resultado me parece especialmente interesante

Hay una tendencia muy humana a meter todos los ataques criptográficos en dos cajas: “práctico” o “irrelevante”. Este no cabe bien en ninguna. No es práctico contra la mayoría del RSA desplegado hoy. Necesita una interfaz muy concreta, un número gigantesco de consultas y una barbaridad de cómputo. Pero tampoco es irrelevante, porque hace tres cosas que merece la pena recordar:
  • Primero, convierte una ventaja asintótica publicada en 2007 en una medición real. Hasta que alguien ejecuta el algoritmo a escala, las constantes viven en un limbo. Ahora tenemos una factura: 1.380 Core-Years para el experimento de 1024 bits.
  • Segundo, separa dos ideas que solemos usar como si fueran sinónimas: factorizar RSA y obtener una capacidad equivalente a usar la clave privada. En este modelo, la segunda puede ser muchísimo más barata que la primera.
  • Y tercero, coloca el foco en una zona bastante menos glamourosa que la teoría de números, pero igual de importante: la interfaz. Podemos construir una caja fuerte perfecta y arruinar parte de su seguridad si el botón de la puerta acepta demasiadas operaciones elegidas por quien está fuera.
El algoritmo de 2007 decía que esa posibilidad existía. El trabajo de 2026 ha hecho algo mucho más incómodo: ha ido hasta la caja, ha pulsado el botón miles de millones de veces y ha vuelto con una falsificación.

Conclusión

RSA No ha muerto esta semana. Nadie ha factorizado un módulo RSA-1024 genérico, no ha aparecido un algoritmo clásico polinómico y las firmas RSA-PSS o PKCS#1 v1.5 usadas de forma convencional no han quedado rotas por este resultado.

Lo que sí ha muerto un poco es una simplificación muy cómoda: pensar que la seguridad de RSA se resume siempre en preguntar “¿cuánto cuesta factorizar N?”. Si el atacante consigue acceso temporal al tipo adecuado de operación privada, la pregunta cambia. Y cuando cambia la pregunta, también puede cambiar brutalmente el coste.

Durante décadas hemos imaginado la clave privada como una llave física. Mientras no salga de la caja fuerte, respiramos tranquilos. Este paper recuerda que en criptografía una clave no es solo un objeto secreto: es también una capacidad. Si damos acceso a esa capacidad mediante una API, tenemos que proteger con el mismo cuidado no solo los bits de la clave, sino todas las cosas que permitimos hacer con ellos.


Quizá esa sea la mejor forma de contar esta historia. Los autores no han robado la llave, no han abierto la cerradura y no han encontrado los primos que hay detrás de RSA. Han demostrado que, bajo unas condiciones muy concretas, se puede aprender a fabricar una firma válida sin hacer ninguna de esas tres cosas. Y eso es bastante más interesante que otro titular de “RSA está roto”. Porque la moraleja no sirve solo para RSA: una caja fuerte deja de ser segura mucho antes de abrirse si su ventanilla concede las operaciones equivocadas. Eso sí, no perdamos el foco de migrar a Post-Quantum Cryptography que es lo que debemos hacer cuanto antes.


Otros artículos sobre Quantum Computing publicados:

sábado, agosto 22, 2026

Cómo se desmontó el algoritmo que amenazaba a la Criptografía Post Cuántica 9 días después

En el artículo anterior os contaba que el 6 de agosto de 2026 apareció en el archivo ePrint de la IACR un manuscrito de Daniel R. Simon, del grupo de Criptografía de AmazonWeb Services, que afirmaba haber resuelto en tiempo polinómico el Problema del CosetDiedral. Si aquello era cierto, por una reducción que Oded Regev demostró en 2004 caía en cascada la seguridad teórica de toda la familia de los retículos, y con ella la de ML-KEM y ML-DSA, es decir, la de los dos algoritmos que el mundo entero está desplegando ahora mismo para sobrevivir a la llegada de los ordenadores cuánticos.

Figura 1: Cómo se desmontó el algoritmo que amenazaba
a la Criptografía Post Cuántica 9 días después

Aquel artículo lo cerré en el peor momento posible: con el manuscrito recién colgado, la comunidad criptográfica abriéndolo en fin de semana y nadie en condiciones de decir todavía si aquello se sostenía o no. Lo que ocurrió a partir de ahí es, en mi opinión, bastante más interesante que el propio anuncio.

Figura 2: Los nueve días, de un vistazo. Del envío del preprint
al resultado de imposibilidad verificado por máquina

Así que os ahorro la intriga, porque el final no es lo importante: el trabajo no era correcto. Lo que merece la pena contar es cómo se demostró que lo era, en cuánto tiempo y con qué herramientas. Desde que el manuscrito se hizo público hasta que quedó formalmente descartado pasaron nueve días. Nueve. Sin comités, sin revisión por pares a seis meses vista y con todo el proceso a la vista de cualquiera que quisiera mirar.

Un recordatorio de treinta segundos: dónde estaba la dificultad

Para que lo que viene se entienda, hay que tener presente una sola idea del artículo anterior. En un algoritmo cuántico la respuesta casi nunca está guardada en un sitio concreto: está repartida en las fases relativas entre todas las ramas de la superposición. Es una propiedad del conjunto, no de ninguna pieza suelta.

Durante el cálculo se van acumulando restos, información residual enganchada al estado que hay que borrar para que las amplitudes puedan volver a interferir entre sí. Y ahí está el problema: si borráis esa basura midiéndola, os lleváis la fase por delante. Es como intentar desmontar el andamio de un edificio sin tocar el edificio. Regev resolvía esa papeleta suponiendo un oráculo de suma de subconjuntos, una caja negra que nadie sabe construir. La aportación de Simon consistía, precisamente, en prescindir de ella. 

Retened la palabra andamio. Va a volver.

El fin de semana siguiente: la comunidad se pone a leer

Aquí es donde el episodio resulta más revelador, porque enseña cómo funciona de verdad la ciencia cuando nadie la está mirando desde fuera.

El manuscrito se hizo público un jueves. El fin de semana siguiente ya había criptógrafos leyéndolo con el lápiz en la mano y comentando en abierto lo que iban encontrando, y la discusión se concentró enseguida en unos pocos resultados intermedios del artículo, muy enparticular en el Lema 3. 

No voy a poner aquí frases entrecomilladas ni a atribuir juicios técnicos concretos a nadie, porque buena parte de aquella conversación ocurrió en canales y foros que no dejan un enlace estable al que poder apuntaros, y prefiero no atribuir a un investigador una frase que no pueda enseñaros. Lo que sí podéis comprobar vosotros mismos, y no depende de que nadie os lo cuente, es lo que trae el propio manuscrito.


Cuatro de los resultados que sostienen el teorema principal llevan sus demostraciones marcadas como ”(Sketch)”: el Lema 1 en la página 7, el Lema 3 en la 11, el corolario del Lema 3 en la 12 y el Lema 4 en la 13. El único de los lemas centrales que viene con demostración completa es el Lema 2. Dicho de otro modo: en un paper que reclama tumbar los cimientos de la Criptografía Post-Cuántica mundial, ninguna de las piezas críticas venía demostrada del todo. El 11 de agosto Simon subió una versión revisada del manuscrito, y esa es la que hoy encontraréis en ePrint. Cuatro días después llegó el golpe definitivo.


Fijaos en un detalle que se pierde con facilidad: aquí hay dos modos de refutación encadenados, y son cualitativamente distintos. Primero, la comunidad encuentra errores en las demostraciones, que en principio son reparables. Después, tres investigadores demuestran algo mucho más fuerte. Ver las dos cosas ocurrir en menos de una semana, en abierto y a la vista de todos, es una lección de método científico que difícilmente encontraréis mejor contada en un libro de texto.

Día 15: no encontraron el error, demostraron que no hay arreglo

El 15 de agosto, Aparna Gupte (MIT), Seyoon Ragavan (Google Quantum AI y MIT) y Mark Zhandry (Google Quantum AI y Stanford) publicaron una nota demoledora. Y conviene fijarse bien en el matiz, porque es lo más importante de todo el artículo: No encontraron un error en la demostración. Demostraron que el algoritmo no puede funcionar.

La diferencia es abismal: un fallo en una demostración se parchea, pero un resultado de imposibilidad no deja nada que parchear. Lo dicen ellos mismos en el abstract, sin rodeos: 

”We are showing directly that the algorithm cannot possibly work”. 

No están hablando del análisis que Simon hace de su algoritmo, están mostrando directamente que el algoritmo no puede funcionar. 

¿Y cuál es el argumento? Volvamos al andamio.

Durante el proceso, el algoritmo genera unas etiquetas clásicas al aplicar la Transformada de Fourier, y las utiliza por última vez en el tercer paso del procedimiento, únicamente para calcular unos pocos bits altos de cada bloque. A partir de ahí no vuelven a aparecer.

Los autores demuestran que, en consecuencia, todo el estado del algoritmo se puede reconstruir con un error minúsculo, del orden de poly(n) 2−n/3, empleando solo el tercio más significativo de esas etiquetas. Dos tercios de la información se descartan por el camino. Y aquí está la clave: esas etiquetas eran precisamente lo que mantenía la coherencia entre las distintas ramas de la superposición, y en esa coherencia era donde vivía el secreto. El andamio era el edificio.

Figura 7: La idea del argumento. Mientras el algoritmo conserva
las etiquetas de Fourier, las ramas de la superposición mantienen
una relación de fase definida y el secreto es recuperable. Al
descartarlas, esa relación se pierde y con ella toda la información

El teorema que demuestran es además más general que el algoritmo de Simon: cualquier procedimiento que siga la plantilla de Regev y descarte suficiente información sobre esas etiquetas resulta incapaz de distinguir el último bit del secreto con ventaja apreciable, por sofisticado que sea el post-procesado posterior. No es que Simon lo hiciera mal: es que por ese camino no se puede pasar. Si habéis estudiado algo de física, el argumento os resultará familiar, porque es del mismo tipo que un límite fundamental de medida. Si la información ya no está en el sistema, no hay procesado que la recupere.


Lo que el paper enuncia formalmente es una disyuntiva: o el algoritmo tarda del orden de 2n/9 en promedio para al menos uno de los dos secretos, o su ventaja al distinguirlos es a lo sumo poly(n) 2−n/9. Las dos cosas a la vez no pueden ser. Bernstein comprimió despuésesa disyuntiva en una sola cifra en su microblog: el cociente entre coste y probabilidad de éxito del algoritmo sería de al menos 2n/9. Exponencial, no polinómico.

Figura 9: Lo que el paper prometía frente a lo que la refutación demuestra.
Un algoritmo cuyo coste crece como 2n/9 no es un algoritmo eficiente
en ningún sentido útil de la palabra

Los autores son además escrupulosamente honestos: dicen que no conocen ninguna vía de reparación que esquive su teorema de forma significativa, pero se abstienen de afirmar que no exista. Y dejan una moraleja constructiva para quien quiera seguir intentándolo, que cualquier algoritmo para el DCP que siga la plantilla de Regev tendrá probablemente que usar las etiquetas de Fourier casi enteras durante la fase de descomputación.


Y hay un último detalle que dice mucho de cómo funciona esta comunidad: en los agradecimientos de la refutación, los tres autores dan las gracias, entre otros, al propio Daniel R. Simon. No hay aquí ningún ánimo de humillar a nadie.

El detalle friki: la refutación viene con código (y con IA)

Llegamos ahora a la parte que a mí me parece la más significativa de todo el episodio, aunque no salga en los titulares. Gupte, Ragavan y Zhandry no se limitaron a publicar un PDF con su argumento. Publicaron también un repositorio con una especificación en Lean 4 del algoritmo de Simon y las demostraciones verificadas por máquina tanto del teorema principal como del corolario de imposibilidad. Cualquiera puede descargarlo, compilarlo y comprobar que el argumento cierra sin tener que fiarse de la buena fe de nadie.


Y no es una formalización de escaparate. En los 83 ficheros .lean del repositorio no aparece ni un solo sorry —la palabra con la que Lean marca un hueco que aún hay que demostrar— ni un solo axioma propio: cero objetivos sin resolver y cero atajos. Lo he comprobado clonando el repositorio y pasando el rastreo que los propios autores documentan en su README, que busca sorry, admit, axiom y compañía y debe salir vacío. Sale vacío. El mismo fichero añade una auditoría de axiomas del núcleo sobre los tres teoremas principales, cuyo resultado solo puede contener los principios lógicos estándar que Lean y Mathlib arrastran de serie —propext, Classical.choice y Quot.sound—, nunca uno inventado para la ocasión.

Y aquí se cierra el círculo con el que abría el primer artículo. En la declaración sobre uso de inteligencia artificial que incluyen en su nota, los autores cuentan que la versión general de su teorema(la que convierte una refutación puntual en un resultado de imposibilidad amplio) la encontraron conversando con modelos de lenguaje, y que emplearon esos mismos modelos para producir la formalización en Lean, asumiendo ellos toda la responsabilidad sobre la corrección del resultado. El propio README del repositorio lo repite en una sola línea: la formalización se preparó con ayuda de un modelo. No es una interpretación mía. Lo dicen ellos, con nombres y apellidos, en un párrafo del propio paper:


Merece la pena detenerse un momento en esto. Hace unas semanas os contaba en el en el artículo de "Claude Mythos Preview debilita los algoritmos criptográficos PQC HAWK y AES con nuevos ataques" que la IA había encontrado grietas reales en algoritmos criptográficos, y yo terminaba aquel artículo preguntándome qué pasaría el día que apareciese una grieta en un candado de verdad. Pues bien: la grieta llegó, y la IA no estaba en el bando que yo esperaba.

Estaba ayudando a demostrar que la grieta no existía. Ideas propuestas con ayuda de una máquina, verificadas por otra máquina, publicadas en abierto y todo ello en menos de dos semanas. Hace diez años esto habrían sido meses de correos cruzados entre departamentos de medio mundo. Si alguien os pregunta alguna vez para qué sirven los asistentes de demostración formal, este es el ejemplo que hay que dar.

Entonces, ¿hay que preocuparse?

La respuesta corta es que no. Los supuestos de dificultad sobre los que descansan ML-KEM y ML-DSA están exactamente donde estaban el 2 de agosto: ningún algoritmo estandarizado roto, ningún ataque calculado contra ningún conjunto de parámetros y ningún despliegue que haya que pausar.

La respuesta larga es más incómoda, y es la que de verdad deberíamos llevarnos a casa. Durante nueve días, mucha gente responsable de infraestructura crítica descubrió que su plan de migración postcuántica dependía por completo de una única rama de las matemáticas. Que el susto fuera falso no cambia el hecho de que era estructuralmente posible, y la puerta que Regev construyó en 2004 sigue ahí, abierta y señalizada. Que este intento de cruzarla haya fracasado no dice nada sobre el siguiente.


Por eso conviene fijarse en quién estaba mejor preparado. El BSI alemán lleva añosempujando la hibridación como norma —su posición es que la criptografía postcuántica se despliegue siempre junto a RSA o Curva Elíptica, no en solitario— y mantiene en su guía técnica esquemas ajenos a los retículos estructurados, como Classic McEliece, basado en códigos. 


De esos nueve, ocho no están basados en retículos. Hay isogenias (SQIsign),MPC-in-the-Head (MQOM, SDitH), multivariantes (UOV, MAYO, QR-UOV, SNOVA) yesquemas simétricos (FAEST). El único de la familia de los retículos era HAWK, y ya nisiquiera sigue en pie: su equipo lo retiró de la competición este mismo verano, después deque Mythos le encontrara una simetría oculta —un automorfismo no trivial en el retículo— que rebaja el coste de recuperar una clave de HAWK-256 de 2 elevado a 64 a 2 elevado a 38 y obliga a doblar el tamaño de clave para mantener el nivel de seguridad prometido. Si entráis hoy en la página del NIST, HAWK figura expresamente como retirado.

Dicho de otro modo: la tercera ronda de firmas adicionales del NIST es, a día de hoy, una ronda enteramente ajena a los retículos. La red de seguridad existe y está tejida a propósito, y el último hilo que quedaba de la familia sospechosa se soltó él solo apenas unas semanas antes de que Simon subiera nada a ePrint. Nadie podrá decir que no lo habían pensado. La pregunta abierta, y no es retórica, es si esa tubería se movería lo bastante rápido el día que la contingencia sea de verdad.

Conclusión

Este episodio no ha demostrado que la criptografía de retículos sea frágil. Ha demostrado algo mucho más valioso: que la comunidad que la vigila es rapidísima, transparente y capaz de autocorregirse en cuestión de días. Un investigador de primer nivel lanzó una piedra enorme al estanque, la comunidad se puso a leer el fin de semana, tres investigadores demostraron con ayuda de una máquina que la piedra no llegaba al fondo, publicaron la prueba en abierto para que cualquiera pueda compilarla, y le dieron las gracias al que la había tirado. 

Eso es exactamente lo que uno espera de quienes custodian los cimientos matemáticos de Internet. La próxima vez, sin embargo, puede que la piedra sí llegue al fondo.Y entonces la pregunta ya no será si nuestros retículos aguantan, sino si tuvimos la prudencia de no apostarlo todo a una sola rejilla. Porque construir el futuro de la criptografía sobre un único pilar, por muy bien pintado que esté, sigue siendo construir sobre un único pilar. ¿Y si el próximo que venga a ponerlo a prueba no se equivoca? 


Otros artículos sobre Quantum Computing publicados:

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares