Criptoanálisis diferencial


El criptoanálisis diferencial es una forma general de criptoanálisis aplicable principalmente a cifrados de bloque, pero también a cifrados de flujo y funciones hash criptográficas. En el sentido más amplio, es el estudio de cómo las diferencias en la entrada de información pueden afectar la diferencia resultante en la salida. En el caso de un cifrado de bloque , se refiere a un conjunto de técnicas para rastrear diferencias a través de la red de transformación, descubriendo dónde el cifrado exhibe un comportamiento no aleatorio y explotando tales propiedades para recuperar la clave secreta (clave criptográfica).

El descubrimiento del criptoanálisis diferencial generalmente se atribuye a Eli Biham y Adi Shamir a fines de la década de 1980, quienes publicaron una serie de ataques contra varios cifrados de bloque y funciones hash, incluida una debilidad teórica en el Estándar de cifrado de datos (DES). Biham y Shamir señalaron que DES era sorprendentemente resistente al criptoanálisis diferencial, pero pequeñas modificaciones al algoritmo lo harían mucho más susceptible. [1]

En 1994, un miembro del equipo DES original de IBM, Don Coppersmith , publicó un artículo que afirmaba que IBM conocía el criptoanálisis diferencial desde 1974, y que defenderse del criptoanálisis diferencial había sido un objetivo de diseño. [2] Según el autor Steven Levy , IBM había descubierto el criptoanálisis diferencial por su cuenta, y la NSA aparentemente conocía bien la técnica. [3]IBM guardó algunos secretos, como explica Coppersmith: "Después de conversaciones con la NSA, se decidió que la divulgación de las consideraciones de diseño revelaría la técnica de criptoanálisis diferencial, una técnica poderosa que podría usarse contra muchos cifrados. Esto a su vez debilitaría la competencia". ventaja que disfrutaba Estados Unidos sobre otros países en el campo de la criptografía". [2] Dentro de IBM, el criptoanálisis diferencial se conocía como "ataque T" [2] o "ataque de cosquillas". [4]

Si bien DES se diseñó teniendo en cuenta la resistencia al criptoanálisis diferencial, otros cifrados contemporáneos demostraron ser vulnerables. Uno de los primeros objetivos del ataque fue el cifrado de bloque FEAL . La versión original propuesta con cuatro rondas (FEAL-4) se puede romper usando solo ocho textos sin formato elegidos , e incluso una versión de 31 rondas de FEAL es susceptible al ataque. Por el contrario, el esquema puede criptoanalizar con éxito DES con un esfuerzo del orden de 2 47 textos sin formato elegidos.

El criptoanálisis diferencial suele ser un ataque de texto sin formato elegido , lo que significa que el atacante debe poder obtener textos cifrados para algún conjunto de textos sin formato de su elección. Sin embargo, existen extensiones que permitirían un ataque de texto sin formato conocido o incluso un ataque solo de texto cifrado . El método básico utiliza pares de texto sin formato relacionados por una diferencia constante . La diferencia se puede definir de varias maneras, pero la operación OR exclusiva (XOR) es habitual. Luego, el atacante calcula las diferencias de los textos cifrados correspondientes, con la esperanza de detectar patrones estadísticos en su distribución. El par de diferencias resultante se llamadiferencial _ Sus propiedades estadísticas dependen de la naturaleza de las cajas S utilizadas para el cifrado, por lo que el atacante analiza diferenciales donde