En criptografía , el Algoritmo Internacional de Cifrado de Datos ( IDEA ), originalmente llamado Estándar de Cifrado Propuesto Mejorado ( IPES ), es un cifrado de bloques de clave simétrica diseñado por James Massey de ETH Zurich y Xuejia Lai y fue descrito por primera vez en 1991. El algoritmo fue pensado como un reemplazo para el Estándar de Cifrado de Datos (DES). IDEA es una revisión menor de un cifrado anterior , el Estándar de Cifrado Propuesto (PES).
El sistema de cifrado fue diseñado en el marco de un contrato de investigación con la Fundación Hasler, que pasó a formar parte de Ascom-Tech AG. El sistema de cifrado fue patentado en varios países, pero estaba disponible gratuitamente para uso no comercial. El nombre "IDEA" también es una marca registrada . Las últimas patentes expiraron en 2012 y, a partir de ahora, IDEA está libre de patentes y, por lo tanto, es completamente gratuito para todos los usos. [2]
IDEA se utilizó en Pretty Good Privacy (PGP) v2.0 y se incorporó después de que se descubriera que el cifrado original utilizado en v1.0, BassOmatic , no era seguro. [3] IDEA es un algoritmo opcional en el estándar OpenPGP .
IDEA opera en bloques de 64 bits utilizando una clave de 128 bits y consta de una serie de 8 transformaciones idénticas (una ronda , vea la ilustración) y una transformación de salida (la media ronda ). Los procesos de cifrado y descifrado son similares. IDEA obtiene gran parte de su seguridad intercalando operaciones de diferentes grupos ( suma y multiplicación modulares y OR exclusivo bit a bit (XOR) ), que son algebraicamente "incompatibles" en cierto sentido. En más detalle, estos operadores, que tratan con cantidades de 16 bits, son:
Después de las 8 rondas viene una “media ronda” final, la transformación de salida ilustrada a continuación (el intercambio de los dos valores del medio cancela el intercambio al final de la última ronda, de modo que no hay intercambio neto):
La estructura general de IDEA sigue el esquema de Lai-Massey . Se utiliza XOR tanto para la resta como para la suma. IDEA utiliza una función de semirredondo dependiente de la clave. Para trabajar con palabras de 16 bits (es decir, 4 entradas en lugar de 2 para el tamaño de bloque de 64 bits), IDEA utiliza el esquema de Lai-Massey dos veces en paralelo, con las dos funciones de semirredondo paralelas entrelazadas entre sí. Para garantizar una difusión suficiente, se intercambian dos de los subbloques después de cada semirredondo.
Cada ronda utiliza 6 subclaves de 16 bits, mientras que la media ronda utiliza 4, un total de 52 para 8,5 rondas. Las primeras 8 subclaves se extraen directamente de la clave, siendo K1 de la primera ronda los 16 bits inferiores; los siguientes grupos de 8 claves se crean rotando la clave principal 25 bits hacia la izquierda entre cada grupo de 8. Esto significa que se rota menos de una vez por ronda, en promedio, para un total de 6 rotaciones.
El descifrado funciona como el cifrado, pero se invierte el orden de las claves de las rondas y las subclaves de las rondas impares. Por ejemplo, los valores de las subclaves K1–K4 se reemplazan por el inverso de K49–K52 para la operación de grupo respectiva, K5 y K6 de cada grupo deben reemplazarse por K47 y K48 para el descifrado.
Los diseñadores analizaron IDEA para medir su fortaleza frente al criptoanálisis diferencial y concluyeron que es inmune bajo ciertas suposiciones. No se han reportado debilidades lineales[actualizar] o algebraicas exitosas. A partir de 2007 , el mejor ataque aplicado a todas las claves podría romper IDEA reducido a 6 rondas (el cifrado IDEA completo usa 8,5 rondas). [4] Nótese que una "ruptura" es cualquier ataque que requiera menos de 2 128 operaciones; el ataque de 6 rondas requiere 2 64 textos simples conocidos y 2 126,8 operaciones.
Bruce Schneier tenía una muy buena opinión de IDEA en 1996, escribiendo: "En mi opinión, es el mejor y más seguro algoritmo de bloques disponible para el público en este momento" ( Applied Cryptography , 2.ª ed.). Sin embargo, en 1999 ya no recomendaba IDEA debido a la disponibilidad de algoritmos más rápidos, algunos avances en su criptoanálisis y el problema de las patentes. [5]
En 2011, se rompió el IDEA de 8,5 rondas completo usando un ataque de encuentro en el medio. [6] Independientemente, en 2012, se rompió el IDEA de 8,5 rondas completo usando un ataque bicliques estrecho , con una reducción de la fuerza criptográfica de aproximadamente 2 bits, similar al efecto del ataque bicliques anterior en AES ; sin embargo, este ataque no amenaza la seguridad de IDEA en la práctica. [7]
La sencillez de la programación de claves hace que IDEA esté sujeta a una clase de claves débiles ; algunas claves que contienen una gran cantidad de bits 0 producen un cifrado débil . [8] Estas son de poca importancia en la práctica, ya que son lo suficientemente raras como para que no sea necesario evitarlas explícitamente cuando se generan claves aleatoriamente. Se propuso una solución sencilla: realizar una operación XOR en cada subclave con una constante de 16 bits, como 0x0DAE. [8] [9]
En 2002 se encontraron clases más grandes de claves débiles. [10]
Todavía es de probabilidad insignificante que esto sea un problema para una clave elegida aleatoriamente, y algunos de los problemas se solucionan con el XOR constante propuesto anteriormente, pero el artículo no está seguro de si todos ellos lo son. Tal vez sea conveniente un rediseño más integral del programa de claves de IDEA. [10]
Una solicitud de patente para IDEA fue presentada por primera vez en Suiza (CH A 1690/90) el 18 de mayo de 1990, luego una solicitud de patente internacional fue presentada bajo el Tratado de Cooperación en materia de Patentes el 16 de mayo de 1991. Finalmente se otorgaron patentes en Austria , Francia , Alemania , Italia , Países Bajos , España , Suecia , Suiza , Reino Unido (entrada en el Registro Europeo de Patentes para la patente europea n.º 0482154, presentada el 16 de mayo de 1991, emitida el 22 de junio de 1994 y vencida el 16 de mayo de 2011), Estados Unidos ( patente estadounidense 5.214.703 , emitida el 25 de mayo de 1993 y vencida el 7 de enero de 2012) y Japón (JP 3225440, vencida el 16 de mayo de 2011). [11]
MediaCrypt AG ofrece ahora un sucesor de IDEA y se centra en su nuevo cifrado (lanzamiento oficial en mayo de 2005) IDEA NXT , que anteriormente se llamaba FOX.
Si bien el problema de las claves débiles cero-uno de IDEA se puede corregir simplemente mediante la operación XOR de una constante fija para todas las claves (una de esas constantes puede ser 0DAE
x
como se sugiere en [4]), el problema con las ejecuciones de unos aún puede permanecer y requerirá un rediseño completo del programa de claves de IDEA.