En criptografía, el criptoanálisis rotacional es un ataque criptoanalítico genérico contra algoritmos que se basan en tres operaciones: adición modular , rotación y XOR - ARX para abreviar. Los algoritmos que se basan en estas operaciones son populares porque son relativamente baratos tanto en hardware como en software y se ejecutan en un tiempo constante, lo que los protege de los ataques de tiempo en implementaciones comunes.
La idea básica del criptoanálisis rotacional es que tanto la rotación de bits como las operaciones XOR conservan las correlaciones entre pares de entradas con rotación de bits, y que la adición de entradas con rotación de bits también preserva parcialmente las correlaciones de rotación de bits. Por lo tanto, los pares rotacionales de entradas se pueden usar para "ver a través" de las operaciones ARX en cascada del cifrado en un grado mayor de lo que cabría esperar. [1] Esta capacidad de "ver" correlaciones a través de rondas de procesamiento se puede aprovechar para romper el cifrado de una manera similar al criptoanálisis diferencial .
El término "criptoanálisis rotacional" fue acuñado por Dmitry Khovratovich e Ivica Nikolić en el artículo de 2010 "Criptoanálisis rotacional de ARX", que presentaba los mejores ataques criptoanalíticos en ese momento contra un cifrado Threefish de ronda reducida , parte de la función hash Skein , un SHA -3 candidato a concurso . [1] [2] Un ataque de seguimiento de los mismos autores y Christian Rechberger rompe la resistencia a la colisión de hasta 53 de 72 rondas en Skein-256 y 57 de 72 rondas en Skein-512. También afecta al cifrado Threefish . [3]
Referencias
- ↑ a b Dmitry Khovratovich y Ivica Nikolić (2010). "Criptoanálisis rotacional de ARX" (PDF) . Universidad de Luxemburgo. Cite journal requiere
|journal=
( ayuda ) - ^ Bruce Schneier (7 de febrero de 2010). "Schneier sobre seguridad: nuevo ataque a Threefish" .
- ^ Dmitry Khovratovich; Ivica Nikolic; Christian Rechberger (20 de octubre de 2010). "Ataques de rebote rotacional en madeja reducida" . Cite journal requiere
|journal=
( ayuda )