El ataque de Coppersmith describe una clase de ataques criptográficos contra el criptosistema de clave pública RSA basados en el método de Coppersmith . Algunas aplicaciones particulares del método de Coppersmith para atacar RSA incluyen casos en los que el exponente público e es pequeño o cuando se dispone de información parcial sobre un factor primo de la clave secreta.
Conceptos básicos de RSA
La clave pública en el sistema RSA es una tupla de números enteros.donde N es el producto de dos números primos p y q . La clave secreta viene dada por un número entero d que satisface; equivalentemente, la clave secreta puede ser dada porySi se utiliza el teorema chino del resto para mejorar la velocidad de descifrado, consulte CRT-RSA . El cifrado de un mensaje M produce el texto cifrado., que se puede descifrar usandomediante computación.
ataque de exponente público bajo
Para reducir el tiempo de cifrado o verificación de firma, es útil utilizar un exponente público pequeño (). [ 1 ] En la práctica, las opciones comunes parason 3, 17 y 65537. Estos valores para e son primos de Fermat , a veces denominadosyrespectivamenteSe eligen porque hacen que la operación de exponenciación modular sea más rápida. Además, habiendo elegido tales, es más sencillo comprobar siymientras se generan y prueban los números primos en el paso 1 de la generación de claves . Valores deoque no superen esta prueba pueden ser rechazados en ese mismo momento. (Mejor aún: si e es primo y mayor que 2, entonces la pruebapuede reemplazar la prueba más costosa.)
Si el exponente público es pequeño y el texto planoes muy corto, entonces la función RSA puede ser fácil de invertir, lo que hace posibles ciertos ataques. Los esquemas de relleno aseguran que los mensajes tengan longitudes completas, pero además elegir el exponente públicoSe recomienda. Cuando se utiliza este valor, la verificación de firma requiere 17 multiplicaciones, en comparación con aproximadamente 25 cuando se utiliza un valor aleatorio.de tamaño similar se utiliza. A diferencia del exponente privado bajo (ver el ataque de Wiener ), los ataques que se aplican cuando un pequeñoLos métodos utilizados están lejos de ser una ruptura total , que permitiría recuperar la clave secreta d . Los ataques más poderosos contra RSA de exponente público bajo se basan en el siguiente teorema, que se debe a Don Coppersmith .
El ataque televisivo de Håstad
Se presenta la forma más simple del ataque de Håstad para facilitar la comprensión. [ 2 ] El caso general utiliza el método del herrero de cobre.
Supongamos que un remitente envía el mismo mensaje.en forma encriptada a varias personas, cada uno utilizando el mismo pequeño exponente público, deciry diferentes módulosUn argumento simple muestra que tan pronto comoLos textos cifrados son conocidos, el mensajeya no es seguro: Supongamos que Eva intercepta, y, dóndePodemos suponera pesar de(de lo contrario, es posible calcular un factor de uno de los números)mediante computación.) Mediante el teorema chino del resto , puede calcularde tal manera que. Entonces; sin embargo, dado quea pesar de, tenemos. De este modose mantiene sobre los enteros, y Eve puede calcular la raíz cúbica depara obtener.
Para valores mayores de, se necesitan más textos cifrados, en particular,Los textos cifrados son suficientes.
Generalizaciones
Håstad también demostró que aplicar un relleno lineal aEl cifrado previo no protege contra este ataque. Supongamos que el atacante descubre queparay alguna función lineal, es decir, Bob aplica una almohadilla al mensajeantes de cifrarlo para que los destinatarios reciban mensajes ligeramente diferentes. Por ejemplo, siesbits de longitud, Bob podría cifrary envía esto al-el destinatario.
Si participa un grupo suficientemente grande de personas, el atacante puede recuperar el texto plano.de todo el texto cifrado con métodos similares. En términos más generales, Håstad demostró que un sistema de ecuaciones univariadas módulo compuestos relativamente primos , como aplicar cualquier polinomio fijopodría resolverse si se proporcionan suficientes ecuaciones . Este ataque sugiere que se debería utilizar relleno aleatorio en el cifrado RSA .
Ataque de mensajes relacionados de Franklin-Reiter
Franklin y Reiter identificaron un ataque contra RSA cuando se cifran varios mensajes relacionados: si dos mensajes difieren solo por una diferencia fija conocida entre los dos mensajes y están cifrados con RSA bajo el mismo módulo RSA, entonces es posible recuperar ambos. El ataque fue descrito originalmente con exponente público, pero funciona de manera más general (con un costo creciente a medida que aumenta)crece).
Dejarsea la clave pública de Alice. Supongamos queson dos mensajes distintos que satisfacenpara algún polinomio conocido públicamente. Para enviaryPara Alice, Bob puede, ingenuamente, cifrar los mensajes y transmitir los textos cifrados resultantes.Eve puede recuperarse fácilmente, dado, utilizando el siguiente teorema: Seay. Entonceses un factor de ambosyEn la mayoría de los casos, calcular el máximo común divisor del polinomio revela el mensaje directamente:
Una vezse encuentra,se recupera mediante computación.
El ataque de Coppersmith con almohadillas cortas
Al igual que los ataques de Håstad y Franklin-Reiter, este ataque explota una debilidad de RSA con exponente público.Coppersmith demostró que si el relleno aleatorio sugerido por Håstad se utiliza incorrectamente, el cifrado RSA no es seguro.
Supongamos que Bob envía un mensaje.a Alice usando un pequeño relleno aleatorio antes de cifrarlo . Una atacante, Eve, intercepta el texto cifrado e impide que llegue a su destino. Bob decide reenviarlo.a Alice porque Alice no respondió a su mensaje. Él rellena aleatoriamenteEve vuelve a intentarlo y transmite el texto cifrado resultante. Ahora tiene dos textos cifrados que corresponden a dos cifrados del mismo mensaje utilizando dos claves aleatorias diferentes.
Aunque Eve no sabe qué bloc de notas aleatorio se está utilizando, aún puede recuperar el mensaje.mediante el uso del siguiente teorema, si el relleno aleatorio es demasiado corto.
Véase también
Referencias
- ataques criptográficos
- Ataques a sistemas criptográficos de clave pública