En criptografía , el Algoritmo Internacional de Cifrado de Datos ( IDEA ), originalmente llamado Estándar de Cifrado Propuesto Mejorado ( IPES ), es un cifrador de bloques de clave simétrica diseñado por James Massey de la ETH Zúrich y Xuejia Lai , y descrito por primera vez en 1991. El algoritmo fue concebido como un reemplazo para el Estándar de Cifrado de Datos (DES). IDEA es una revisión menor de un cifrador anterior , el Estándar de Cifrado Propuesto (PES).
El cifrado se diseñó en el marco de un contrato de investigación con la Fundación Hasler, que posteriormente se integró en Ascom-Tech AG. El cifrado fue patentado en varios países, pero su uso no comercial era gratuito. El nombre "IDEA" también es una marca registrada . Las últimas patentes expiraron en 2012, por lo que IDEA ahora está libre de patentes y, por lo tanto, es completamente gratuito para cualquier uso. [ 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 , era inseguro. [ 3 ] IDEA es un algoritmo opcional en el estándar OpenPGP .
Operación
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 , véase la ilustración) y una transformación de salida (la media ronda ). Los procesos de cifrado y descifrado son similares. IDEA basa gran parte de su seguridad en la intercalación de operaciones de diferentes grupos —suma y multiplicación modulares , y OR exclusivo bit a bit (XOR) — que son algebraicamente "incompatibles" en cierto sentido. En detalle, estos operadores, que trabajan con cantidades de 16 bits, son:
- XOR bit a bit (OR exclusivo) (denotado con un signo más ⊕ en un círculo azul ).
- Suma módulo 2 16 (denotada con un signo más ⊞ en un recuadro verde ).
- Multiplicación módulo 2 16 + 1, donde la palabra de ceros (0x0000) en las entradas se interpreta como 2 16 , y 2 16 en la salida se interpreta como la palabra de ceros (0x0000) (denotada por un punto rojo en un círculo ⊙ ).
Después de las 8 rondas llega una "media ronda" final, cuya transformación de salida se ilustra a continuación (el intercambio de los dos valores centrales cancela el intercambio al final de la última ronda, de modo que no hay intercambio neto):
Estructura
La estructura general de IDEA sigue el esquema de Lai-Massey . Se utiliza la operación XOR tanto para la resta como para la suma. IDEA emplea una función de media ronda dependiente de la clave. Para trabajar con palabras de 16 bits (lo que implica 4 entradas en lugar de 2 para un tamaño de bloque de 64 bits), IDEA utiliza el esquema de Lai-Massey dos veces en paralelo, con las dos funciones de ronda paralelas intercaladas. Para garantizar una difusión suficiente, dos de los subbloques se intercambian después de cada ronda.
Horario clave
Cada ronda utiliza 6 subclaves de 16 bits, mientras que la media ronda utiliza 4, lo que da 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 grupos posteriores de 8 claves se crean rotando la clave principal 25 bits a 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.
Descifrado
El descifrado funciona igual que el cifrado, pero el orden de las claves de ronda se invierte, al igual que 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 correspondiente, y K5 y K6 de cada grupo deben reemplazarse por K47 y K48 para el descifrado.
Seguridad
Los diseñadores analizaron IDEA para medir su resistencia frente al criptoanálisis diferencial y concluyeron que es inmune bajo ciertas suposiciones. No se han reportado vulnerabilidades lineales o algebraicas exitosas. A partir de 2007El mejor ataque aplicado a todas las claves podría romper IDEA reducido a 6 rondas (el cifrado IDEA completo utiliza 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 planos conocidos y 2 126,8 operaciones.
Bruce Schneier tenía una opinión muy favorable 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». ( Criptografía Aplicada , 2.ª ed.) Sin embargo, en 1999 dejó de recomendar 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 logró romper la seguridad de IDEA completa de 8,5 rondas mediante un ataque de encuentro en el medio. [ 6 ] De forma independiente, en 2012, se logró romper la seguridad de IDEA completa de 8,5 rondas mediante un ataque de bicliques estrecho , con una reducción de la seguridad criptográfica de aproximadamente 2 bits, similar al efecto del ataque de bicliques anterior sobre AES ; sin embargo, este ataque no amenaza la seguridad de IDEA en la práctica. [ 7 ]
Claves débiles
El esquema de claves tan simple hace que IDEA sea susceptible a una clase de claves débiles ; algunas claves que contienen una gran cantidad de bits 0 producen un cifrado débil . [ 8 ] En la práctica, esto no representa un problema, ya que es suficientemente raro como para que no sea necesario evitarlo explícitamente al generar claves aleatoriamente. Se propuso una solución simple: aplicar la operación XOR a 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 ]
La probabilidad de que esto sea un problema para una clave elegida al azar sigue siendo insignificante, y algunos de los problemas se solucionan con la operación XOR constante propuesta anteriormente, pero el artículo no está seguro de que se solucionen todos. Podría ser conveniente un rediseño más completo del esquema de claves de IDEA. [ 10 ]
Disponibilidad
La solicitud de patente para IDEA se presentó inicialmente en Suiza (CH A 1690/90) el 18 de mayo de 1990, y posteriormente se presentó una solicitud de patente internacional en virtud del Tratado de Cooperación en materia de Patentes el 16 de mayo de 1991. Finalmente, se concedieron patentes en Austria , Francia , Alemania , Italia , los Países Bajos , España , Suecia , Suiza , el Reino Unido ( entrada en el Registro Europeo de Patentes para la patente europea n.º 0482154 , presentada el 16 de mayo de 1991, expedida el 22 de junio de 1994 y caducada el 16 de mayo de 2011), Estados Unidos ( patente estadounidense 5,214,703 , expedida el 25 de mayo de 1993 y caducada el 7 de enero de 2012) y Japón (JP 3225440, caducada el 16 de mayo de 2011). [ 11 ]
MediaCrypt AG ofreció un sucesor de IDEA, lanzado en mayo de 2005, IDEA NXT , anteriormente llamado FOX. [ 12 ]
Literatura
- Demirci, Hüseyin; Selçuk, Ali Aydin; Türe, Erkan (2004). «Un nuevo ataque de encuentro en el medio contra el cifrado por bloques IDEA». Áreas selectas en criptografía . Notas de clase en ciencias de la computación. Vol. 3006. págs. 117–129 . doi : 10.1007/978-3-540-24654-1_9 . ISBN 978-3-540-21370-3.
- Lai, Xuejia; Massey, James L. (1991). «Una propuesta para un nuevo estándar de cifrado por bloques». Avances en criptología — EUROCRYPT '90 . Notas de clase en ciencias de la computación. Vol. 473. págs. 389–404 . CiteSeerX 10.1.1.14.3451 . doi : 10.1007/3-540-46877-3_35 . ISBN 978-3-540-53587-4.
- Lai, Xuejia; Massey, James L.; Murphy, Sean (1991). «Cifrados de Markov y criptoanálisis diferencial». Avances en criptología — EUROCRYPT '91 . Notas de clase en ciencias de la computación. Vol. 547. págs. 17–38 . doi : 10.1007/3-540-46416-6_2 . ISBN 978-3-540-54620-7.
Referencias
- ↑ "Narrow-Bicliques: Criptoanálisis de Full IDEA" (PDF) . www.cs.bris.ac.uk .
- ^ "Espacenet - Bibliografische Daten" (en alemán). Worldwide.espacenet.com . Consultado el 15 de junio de 2013 .
- ↑ Garfinkel, Simson (1 de diciembre de 1994), PGP: Pretty Good Privacy , O'Reilly Media , págs. 101–102 , ISBN 978-1-56592-098-9.
- ↑ Biham, E. ; Dunkelman, O.; Keller, N. "Un nuevo ataque a IDEA de 6 rondas". Actas de Cifrado rápido de software, 2007, Lecture Notes in Computer Science . Springer-Verlag .
- ↑ "Slashdot: El gurú de las criptomonedas Bruce Schneier responde" . slashdot.org. 29 de octubre de 1999. Consultado el 15 de agosto de 2010 .
- ↑ Biham, Eli ; Dunkelman, Orr; Keller, Nathan; Shamir, Adi (22 de agosto de 2011). "Nuevos ataques a IDEA con al menos 6 rondas" . Journal of Cryptology . 28 (2): 209–239 . doi : 10.1007/s00145-013-9162-9 . ISSN 0933-2790 .
- ↑ Khovratovich, Dmitry; Leurent, Gaëtan; Rechberger, Christian (2012). «Narrow-Bicliques: Criptoanálisis de Full IDEA». Avances en Criptología – EUROCRYPT 2012. Notas de clase en Ciencias de la Computación. Vol. 7237. págs. 392–410 . doi : 10.1007/978-3-642-29011-4_24 . ISBN 978-3-642-29010-7.
- 1 2 Daemen, Juana ; Govaerts, René; Vandewalle, Joos (1994). "Claves débiles para IDEA". Avances en criptología - CRYPTO '93 . Apuntes de conferencias sobre informática. vol. 773, págs. 224–231 . CiteSeerX 10.1.1.51.9466 . doi : 10.1007/3-540-48329-2_20 . ISBN 978-3-540-57766-9.
- ^ Nakahara, Jorge Jr.; Preneel, Bart; Vandewalle, Joos (2002), Una nota sobre las claves débiles de PES, IDEA y algunas variantes extendidas , CiteSeerX 10.1.1.20.1681
- 12Biryukov, Alex; Nakahara, Jorge Jr.; Preneel, Bart; Vandewalle, Joos, "New Weak-Key Classes of IDEA"(PDF), Information and Communications Security, 4th International Conference, ICICS 2002, Lecture Notes in Computer Science 2513: 315–326,
While the zero-one weak keys problem of IDEA can be corrected just by XORing a fixed constant to all the keys (one such constant may be 0DAEx as suggested in [4]) the problem with the runs of ones may still remain and will require complete redesign of the IDEA key schedule.
- ↑"GnuPG 1.4.13 released". Werner Koch. 21 December 2012. Retrieved 2013-10-06.
- ↑"MEDIACRYPT UNVEILS NEWEST ENCRYPTION ALGORITHM | Kudelski Group". www.nagra.com. Retrieved 2026-05-08.
External links
- RSA FAQ on Block Ciphers
- SCAN entry for IDEA
- IDEA in 448 bytes of 80x86
- IDEA Applet
- Java source code
- Block ciphers
- Broken block ciphers