Ataque de calderero

El ataque Coppersmith describe una clase de ataques criptográficos a la clave pública del criptosistema RSA basados ​​en el método Coppersmith . La peculiaridad de usar este método para ataques RSA incluye casos en los que el exponente público es pequeño o cuando la clave privada es parcialmente conocida.

Conceptos básicos de RSA

La clave pública del criptosistema RSA es un par de números naturales , donde es el producto de dos números primos y , y el número  es un exponente público. Un número entero ( , donde  es la función de Euler de ) coprima con valor . Por lo general , los números primos se toman como calidad y contienen una pequeña cantidad de bits individuales en notación binaria, por ejemplo, los números primos de Fermat 17, 257 o 65537.

La clave secreta se determina a través del exponente privado . El número es multiplicativamente inverso al número módulo , es decir, el número satisface la relación:

.

El par se publica como una clave pública RSA ( ing . RSA public key ), y el par desempeña el papel de una clave privada RSA ( ing . RSA private key ) y se mantiene en secreto.

Teorema del calderero

Redacción [1]

Sea y un polinomio normalizado de grado . Deje , . Entonces, dado el par, el atacante efectivamente encontrará que todos los enteros son satisfactorios . El tiempo de ejecución está determinado por la ejecución del algoritmo LLL en una red de dimensión , donde . [2]

Prueba

Sea un número natural , que definiremos más adelante. definamos

Usamos los polinomios para y como base de nuestra red . Por ejemplo, cuando y obtenemos una matriz reticular dividida por filas:

,

donde "—" denota elementos fuera de la diagonal distintos de cero cuyo valor no afecta al determinante . El tamaño de esta red es , y su determinante se calcula de la siguiente manera:

Requerimos eso . esto implica

que se puede simplificar a

,

donde y para todos . Si tomamos , entonces obtenemos a, por lo tanto, y . En particular, si queremos resolver para un , es suficiente tomar , donde . [3]

Ataque de Hasted

Redacción

Supongamos que un remitente envía el mismo mensaje en forma encriptada a un cierto número de personas , cada una de las cuales usa el mismo pequeño exponente de codificación , digamos , y diferentes pares , y . El remitente cifra el mensaje utilizando la clave pública de cada usuario y lo envía al destinatario correspondiente. Entonces, si el adversario escucha el canal de transmisión y recopila los textos cifrados transmitidos , entonces podrá recuperar el mensaje .

Prueba [4]

Supongamos que el enemigo interceptó y , dónde . Suponemos que son primos relativos , de lo contrario el máximo común divisor distinto de la unidad significaba encontrar un divisor de uno de . Aplicando el teorema chino del resto a y obtenemos , tal que , que tiene el valor . Sin embargo, sabiendo que , obtenemos . Por lo tanto , es decir, el adversario puede descifrar el mensaje tomando la raíz cúbica de .

Para recuperar un mensaje con cualquier valor del exponente de codificación abierta , es necesario que el adversario intercepte los textos cifrados .

Ataque de Coppersmith

Redacción

Suponga una clave pública RSA , donde la longitud es -bits. Tomemos mucho . Deje que el mensaje no sea más que bits de largo. Definamos and , donde y son enteros distintos , y y .Si el adversario recibe ambos cifrados de (pero no recibe o ), entonces puede recuperar el mensaje de manera efectiva .

Prueba [2]

Definamos y . Sabemos que cuando , estos polinomios tienen una raíz común. En otras palabras, esta es la raíz del "resultante" . grado con mayor frecuencia . Además, . Por lo tanto, es una raíz de módulo pequeño , y el adversario puede encontrarla eficientemente usando el teorema de Coppersmith . Una vez conocido, el ataque de Franklin-Reiter puede usarse para cubrir , por lo tanto, y .

Notas

  1. Don Calderero. Hallar una pequeña raíz de una ecuación modular univariada .  (enlace no disponible)
  2. ↑ 12 Dan Boneh . Veinte años de ataques al criptosistema RSA . Consultado el 1 de diciembre de 2016. Archivado desde el original el 26 de marzo de 2016.
  3. Glenn Durfee. CRIPTANÁLISIS DE RSA UTILIZANDO MÉTODOS ALGEBRAICOS Y ENREDADOS (Junio ​​2002). Consultado el 1 de diciembre de 2016. Archivado desde el original el 4 de marzo de 2016.
  4. Ushakov Konstantin. Hackear el sistema RSA . Fecha de acceso: 6 de diciembre de 2016. Archivado desde el original el 1 de diciembre de 2016.