Cifrado y Descifrado IDEA
Algoritmo Internacional de Cifrado de Datos - Cifrado por bloques simétrico de 128 bits
Advertencia de Seguridad
IDEA es un algoritmo heredado. Aunque históricamente significativo, se recomienda usar AES para nuevas aplicaciones que requieran alta seguridad.
Acerca de IDEA
IDEA (International Data Encryption Algorithm) fue diseñado por Xuejia Lai y James Massey en la ETH Zúrich en 1991 como sucesor de DES. A diferencia de la clave de 56 bits de DES, IDEA emplea una clave completa de 128 bits y procesa bloques de 64 bits en 8,5 rondas mediante una estructura matemáticamente singular que combina tres operaciones de grupos algebraicos incompatibles: XOR, suma módulo 2¹⁶ y multiplicación módulo 2¹⁶+1.
IDEA fue el cifrador simétrico predeterminado de PGP 2.x, el software de cifrado de correo electrónico más extendido de los años 90. Su patente (de MediaCrypt AG) expiró en 2012, quedando disponible gratuitamente. A pesar de su antigüedad, no se ha publicado ningún ataque práctico contra la versión completa de 8,5 rondas — el criptoanálisis con rondas reducidas muestra debilidades a partir de 5 rondas, pero el diseño completo permanece invulnerado.
Características Principales
- Clave de 128 bits expandida en 52 subclaves de 16 bits mediante rotación cíclica
- Tamaño de bloque de 64 bits — igual que DES, pero con clave considerablemente mayor y más rondas
- 8,5 rondas alternando XOR, suma mod 2¹⁶ y multiplicación mod (2¹⁶+1)
- Patente expirada globalmente en 2012 — uso libre en proyectos de código abierto y comerciales
Modos de Cifrado
- CBC: Encadenamiento de bloques de cifrado — cada bloque IDEA de 64 bits se combina con XOR con el bloque cifrado anterior antes del cifrado. El IV de 64 bits impide que bloques de texto plano idénticos generen texto cifrado idéntico. Recomendado para el cifrado de archivos IDEA de propósito general.
- ECB: Libro de códigos electrónico — cada bloque de 64 bits se cifra independientemente con las mismas 52 subclaves. Los bloques de texto plano idénticos siempre producen bloques cifrados idénticos, revelando posiblemente la estructura de los datos. Solo apto para cifrar un bloque aleatorio aislado.
- CFB: Retroalimentación de cifrado — IDEA actúa como generador de flujo de clave; el bloque cifrado anterior se cifra y el resultado se combina con XOR con el texto plano. Convierte el cifrador de bloques de 64 bits en un cifrador de flujo autosincronizante, útil para datos orientados a bytes.
- OFB: Retroalimentación de salida — el flujo de clave se genera independientemente del texto plano cifrando el IV repetidamente. El flujo de clave es precalculable y los errores no se propagan, lo que lo hace adecuado para canales ruidosos donde un error de bit no debe contaminar bloques posteriores.
- RAW: Bloque Bruto - Cifrado directo de un solo bloque sin modo de encadenamiento. No requiere IV.
Comparación de Algoritmos
| Algoritmo | Longitud de Clave | Tamaño de Bloque | Seguridad | Velocidad |
|---|---|---|---|---|
| IDEA | 128 bits | 64 bits | Bueno | Rápido |
| AES | 128/192/256 bits | 128 bits | Excelente | Rápido |
| Blowfish | 32-448 bits | 64 bits | Bueno | Rápido |
| DES | 56 bits | 64 bits | Débil | Rápido |
Consideraciones de Seguridad
- El tamaño de bloque de 64 bits introduce riesgo de colisión de cumpleaños: tras cifrar unos 2³² bloques (32 GB) con la misma clave, la probabilidad de colisión aumenta significativamente — rota las claves antes de alcanzar este umbral en aplicaciones de alto volumen
- La combinación de tres grupos algebraicos incompatibles fue elegida deliberadamente para neutralizar el criptoanálisis diferencial y lineal — las dos familias de ataques que rompieron DES a principios de los 90; ninguna es efectiva contra las 8,5 rondas completas de IDEA
- Existe una pequeña clase de claves débiles donde grandes porciones de subclaves son todas cero o todas uno; son extremadamente raras (probabilidad ≈ 2⁻¹¹⁴) pero documentadas — rechaza cualquier clave cuyo segmento de 16 bits sea todo ceros o todo unos
- Para nuevos sistemas, elige AES-256-GCM o ChaCha20-Poly1305; usa IDEA solo para compatibilidad con archivos PGP 2.x heredados o protocolos que exijan explícitamente este algoritmo
Casos de Uso
- Descifrado de archivos de correo PGP 2.x y mensajes S/MIME que usaban IDEA como cifrador simétrico predeterminado, antes de que OpenPGP RFC 4880 estandarizara AES
- Plataformas embebidas con aceleración hardware IDEA ya integrada en el silicio, donde sustituir el algoritmo requeriría un costoso rediseño de la placa
- Cursos académicos de criptografía que comparan el diseño de cifrado de grupo algebraico mixto con las redes de sustitución-permutación puras, ilustrando por qué la multiplicación en Z/(2¹⁶+1) neutraliza los ataques diferenciales
- Descifrado forense de archivos archivados en los años 90, donde el software original usaba IDEA por defecto sin notificarlo al usuario
Referencias
Herramientas Relacionadas
Cifrado/Descifrado AES
Cifrar y descifrar texto de forma segura usando el algoritmo AES
Cifrado/Descifrado Blowfish
Cifrado de bloques simétrico rápido diseñado por Bruce Schneier, con longitud de clave variable (32-448 bits)
Cifrado/Descifrado DES/3DES
Cifrar y descifrar con algoritmos DES y 3DES, múltiples modos y opciones de relleno