Algoritmo de encriptacion IDEA


International Data Encryption Algorithm

El siguiente es un esquema general del funcionamiento del algoritmo IDEA. Fue trasncrito del sitio http://www.lci.ulsa.mx/seguridad/appli/win/Cifrado/IDEA.TXT La intencion de este post es netamente de caracter educativo y no nos hacemos responsables del uso que terceros puedan hacer de este texto. En cada paso elemental por el que pasa el texto de 64 bits, este sufre las siguientes alteraciones para dar el cifrado: 1¦ División 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 m s complicados, y se tratar n aparte. 2¦ Multiplicación de X1 por el primer subbloque de la clave Z1 3¦ A ello se añade X2 y el segundo subbloque de la clave Z2 4¦ A lo que se añade X3 y el segundo subbloque de la clave Z3 5¦ Lo que se multiplica por X4 y por el cuarto subbloque de la clave 6¦ Se hace una operación de or exclusivo (XOR) entre el bloque resultado de las operaciones segunda y cuarta 7¦ XOR entre el resultado de la tercera y la quinta operación 8¦ Se multiplican los resultados de la sexta operación con el quinto subbloque de la clave, Z5 9¦ Se suma el resultado de las operaciones sexta y séptima 10¦ Se multiplica el resultado de la novena operación con el sexto subbloque de la clave, Z6 11¦ Se suman los resultados de la octava y la décima operación 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 cuando el texto pasa varias veces por el algoritmo, y el IDEA lo hace 8 veces. Para retroalimentarlo, basta con permutar los bloques segundo y tercero de la salida, y hacerlos entrar de nuevo, en todas las etapas menos en la última. Después de la octava ronda, hay una transformación final, que consiste en los cuatro pasos siguientes: 1§ Multiplicar X1 por el primer subbloque de la clave 2§ Añadir X2 al segundo bloque de la clave 3§ Añadir X3 al tercer subbloque de la clave 4¦ Multiplicar X4 por el cuarto subbloque de la clave Finalmente, se concatenan estos últimos cuatro bloques para conseguir el texto cifrado de salida. La creación 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 sólo 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 funci¢n de desplazamiento de los bits en la palabra que proporciona el operador "<<" del lenguaje de programación 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.
Anuncio publicitario

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.