You are on page 1of 3

El algoritmo de cifrado IDEA.

Debido a la previsible caducidad del DES, los ms prestigiosos criptlogos de todo el mundo trabajan en el desarrollo de algoritmos que le sustituyan con la mayor compatibilidad posible. Este es el caso del IDEA, que ha sido diseado con el propsito de resistir a ciertos ataques a los que el DES es vulnerable, es especial a los denominados como "criptoanlisis diferenciales", y ofrecer un tamao de la clave suficientemente seguro. El International Data Encryption Algorithm fue inventado en Suiza por el doctorando chino Xuejia Lai y James Massey cuando ambos trabajaban en el Institute for Signal and Information Processing del Instituto Federal de Tecnologa Suizo, en Zurich. Se patent en Noviembre de 1991. El titular de la patente (naturalmente slo en los pocos pases en los que pueden protegerse los derechos industriales de un algoritmo matemtico, entre los que no se encuentra Espaa, ni la Unin Europea o Japn) es la empresa de telecomunicaciones suiza Ascom Tech AG, la cual permite el uso gratuito del programa para fines no comerciales. Los t rminos de la licencia para fines comerciales parecen bastante razonables incluso para pequeas y medianas empresas de tecnologa bsica para informtica y comunicaciones. El IDEA es un cifrador de bloques que opera sobre secuencias de 64 bits en cada ciclo, es decir, que a partir de 64 bits de texto en claro, obtiene otros 64 bits de texto cifrado, segn determina una clave de 128 bits de tamao, lo cual es ms que suficiente con la actual potencia de clculo para garantizar la invulnerabilidad frente a ataques exhaustivos. Tal y como sus autores exponen en su propuesta ["A proposal for a new block encryption standard", X. Lai y J. Massey, Advances in Cryptology EUROCYPT`90], el algoritmo de cifrado est basado en conceptos de diseo que mezclan operaciones procedentes de grupos algebricos diferentes, persiguiendo las mejores porpiedades contra criptoanlisis. Al ser un algoritmo de clave secreta, el procedimiento y la clave de descifrado es el mismo que el utilizado para el cifrado. Sin embargo, el algoritmo IDEA es perfectamente combinable con otros asim tricos, como el RSA, y funciones resumen, como el MD-5 de RSA Inc. La confusin necesaria en todo algoritmo criptogrfico, entendida como catica independencia del texto cifrado respecto al claro, se consigue en el IDEA mediante tres grupos diferentes de operaciones sobre parejas de subbloques de 16 bits, y la estructura del cifrador se ha elegido de forma que proporcione una ptima difusin, es decir, que un slo bit cambiado en el texto claro provoca que sea diferente todo el texto cifrado, lo que facilita la divergencia en sucesivas reiteraciones. Por otro lado, los criterios de diseo han pretendido que sea fcil su construccin tanto en dispositivos fsicos como lgicos. Despu s de dar los detalles del diseo, es posible formarse una psinopsis aproximada de lo considerablemente robusto que es este algoritmo frente a los principales ataques criptoanalticos conocidos. Una descripcin esquemtica del IDEA En cada paso elemental por el que pasa el texto de 64 bits, siguientes alteraciones para dar el cifrado: ste sufre las

Divisin del bloque de 64 bits de texto en cuatro subbloques de 16 bits: X1, X2, X3 y X4, y de los 128 de la clave en 8: Z1 ... Z8. Estos ltimos son intencionadamente ms complicados, y se tratarn aparte. Multiplicacin de X1 por el primer subbloque de la clave Z1 A ello se aade X2 y el segundo subbloque de la clave Z2 A lo que se aade X3 y el segundo subbloque de la clave Z3 Lo que se multiplica por X4 y por el cuarto subbloque de la clave Se hace una operacin de or exclusivo (XOR) entre el bloque resultado de las operaciones segunda y cuarta XOR entre el resultado de la tercera y la quinta operacin Se multiplican los resultados de la sexta operacin con el quinto subbloque de la clave, Z5 Se suma el resultado de las operaciones sexta y s ptima

2 3 4 5 6 7 8 9

10 Se multiplica el resultado de la novena operacin con el sexto subbloque de la clave, Z6 11 Se suman los resultados de la octava y la d cima operacin 12 XOR del resultado de la segunda y la d cima 13 XOR del resultado de la cuarta y la d cima 14 XOR del resultado de la tercera y la und cima 15 XOR del resultado de la quinta y la und cima De esta forma se consigue el texto cifrado, juntando los cuatro bloques resultantes de las operaciones cuatro ltimas operaciones. Evidentemente, la seguridad del cifrador aumenta varias veces por el algoritmo, y el IDEA lo hace retroalimentarlo, basta con permutar los bloques salida, y hacerlos entrar de nuevo, en todas las ltima. cuando el texto pasa 8 veces. Para segundo y tercero de la etapas menos en la

Despu s de la octava ronda, hay una transformacin final, que consiste en los cuatro pasos siguientes: 1 2 3 4 Multiplicar X1 por el primer subbloque de la clave Aadir X2 al segundo bloque de la clave Aadir X3 al tercer subbloque de la clave Multiplicar X4 por el cuarto subbloque de la clave

Finalmente, se concatenan estos ltimos cuatro bloques para conseguir el texto cifrado de salida. La creacin de los subbloques de la clave, en el 1er paso del algoritmo,

consiste en dividir los 128 bits de dicha clave en ocho subbloques de los cuales slo seis se utilizan en la primera vuelta, reservando dos para la segunda. Tras esto, la clave se hace rotar 25 bits a la izquierda (mediante la funcin de desplazamiento de los bits en la palabra que proporciona el operador "<<" del lenguaje de programacin C), y de nuevo se divide la clave en ocho subclaves. Las cuatro primeras se utilizan en la segunda etapa del algoritmo, y las cuatro ltimas en la tercera. La clave se rota otros 25 bits a la izquierda para conseguir las ocho siguientes subclaves, y as sucesivamente. En esencia, para lograr la simetra computacional necesaria para la clave secreta, se aprovecha la siguiente igualdad: 216215 mod (216 + 1) = 215 + 1 Rendimiento del cifrador IDEA Las actuales implementaciones de este algoritmo son de dos a cuatro veces ms rpidas que las equivalentes del DES (Data Encryption Standard). En un Intel 386 a 33 Mhz es capaz de ofrecer una velocidad de cifrado de unos 880 Kbps, y en un VAX 9000 de unas cuatro veces ms. Un chip VLSI desarroollado en el ETH de Zurich, formado por 251.000 transistores en una pastilla de 107.9 mm de lado, cifra con el algoritmo IDEA a una velocidad de 177 Mbits/sec. con un reloj de 25 MHz. Los interesados deben saber que el fabricante proporciona en disquete la versin 1.0 para Unix, que incluye un manual completo en ingl s del criptosistema IDEA segn ASCOM. Tambi n puede obtenerse el cdigo fuente idea.c e idea.h tomados del programa libre uso para firmas electrnicas PGP. Estas son las instrucciones para instalar el programa idea en Unix: 1 Transferir desde un PC al sistema UNIX mediante emulacin de terminal y protocolo de transferencia de ficheros (Zmodem, Kermit u otros), o bien si se utiliza SCO, Xenix o similar, copiar de la diquetera con doscp 2 Descomprimir el fichero idea.tar con el comando: $ tar xvd idea.tar 3 Cambiar al directorio de trabajo de idea con: $ cd idea 4 Compilar en C mediante el comando: $ make Y ya se puede ejecutar con todas sus opciones. Tambi n se debe instalar el manual en el formato estndar de UNIX (man) siguiendo el README del IDEA.

You might also like