Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo Idea
Algoritmo Idea
Algoritmo Idea
Facultad de Ingeniera
Criptografa
Proyecto IDEA
Integrantes
&adillo 'orres (ernica )allardo *ern+nde% $uis ,nri#ue *ern+nde% -+nc.e% $eticia Mendo%a (arela "eanette /ocio Pac.eco Aguilar "ose "aime
+,,,= el algoritmo IDEA demuestra ser mucho m5s seguro que DE- y sus deri)ados y se comien*a a usar en el sistema $4$/lo que hi*o que tu)iera muchos usuarios
CARACTERSTICAS Es uno de los cifrados en bloque m5s seguros que e?isten" @sa bloques de :; bits y cla)es de +6< bits" Aeali*a < transformaciones id%nticas (cada una llamada un ronda) y una transformaci.n de salida (llamada media ronda)" El proceso para cifrar y descifrar es similar" 4ran parte de la seguridad de IDEA deri)a de la me*cla de operaciones de distintos grupos que no conmutan entre ellas= X0A/ suma m.dulo6 y producto m.dulo 6+:B+"
SEG!RIDAD IDEA ha resultado inmune ante un criptoan5lisis diferencial (sus autores conoc1an esta debilidad de DE-) y a los criptoan5lisis lineales" !oan Daemen descubri. en +,,6 una clase de cla)es d%biles/ las que responden al esquema """" """" "#"" """" """" """# #### #""" que un atacante podr1a identificar en un ataque con te?to en claro elegido (las posiciones C pueden ser cualquier d1gito he?adecimal)" a probabilidad de que se usen esas cla)es d%biles es 6 -,: y adem5s se pueden eliminar en el diseo" Actualmente no se conoce toda)1a ning(n ataque contra IDEA que haya tenido %?ito
M!LTI$LICACI%& M%D!LO '()*( Antes de presentar este algoritmo deben decirse algunas palabras con respecto a la aritm%tica m.dulo 6+:B+" Due el producto de dos n(meros a y b sea r m.dulo 6+:B+ significa que= p E a F b E r B GF(6+:B+) con G y r naturales tal que 7 H r I 6+:B+
Esto significa que el )erdadero resultado es el resto (r) resultante de la di)isi.n entera de p entre 6+:B+" $or lo tanto cada producto se transforma en una multiplicaci.n y una di)isi.n entera" Dado que esta operaci.n es central en el
algoritmo de encriptado la pregunta que se plantea es como hacer esto en pocas instrucciones" o que sigue fue inspirado mientras se trabajaba con el J:<++ que tiene largo de palabra de +: bits" Imagine por un momento que se est5 trabajando con palabras de +: bits" -i se reali*a el producto aFb sobre el registro A del acumulador se tiene lo siguiente= p E a F b E r B GF(6+:B+) E r B G B GF6+: De este resultado se quiere recuperar el )alor de r" -e obser)a que el n(mero G al estar multiplicado por 6+: est5 corrida +: bits hacia la i*quierda/ por lo que se encuentra almacenado enteramente en A+" $or lo que para obtener r s.lo es necesario restar el n(mero en A+ del n(mero en A7" A7E G B r A+E G K A7 - A+ E G Esto no es siempre tan sencillo pues podr1a suceder que la suma G B r que se supone que est5 almacenada en A7 sea mayor que 6 +:/ caso en el cual se tendr1a acarreo de un bit al registro A+" Es este caso el esquema reci%n presentado falla" #irando esta situaci.n un poco m5s a fondo/ se obser)a lo siguiente= A7E G B r-6+: A+E G B + Al hacer la resta tenemos A7-A+ E GB r -6 +:-(GB+) E r - (6+:B+)" Esto es claramente un n(mero negati)o" $ara obtener r/ sumamos 6 +:B+ al n(mero anterior/ contenido en el acumulador" 9uando se empie*a a trabajar con un largo de palabra de 6; bits/ el problema se resuel)e de la misma manera (aunque la soluci.n pierde su elegancia)" Despu%s de reali*ar la multiplicaci.n/ los bits entre el L+ y el +: se separan y se colocan en un registro aparte (alineados a la derecha) y se reali*a un algoritmo completamente an5logo al reci%n descrito" $ara lograrlo se deben reali*ar corrimientos y aplicar m5scaras en )arias oportunidades lo que hace que la operaci.n sea m5s larga y engorrosa que con una arquitectura de +: bits"
3odas las operaciones se hacen con n(meros positi)os de +: bits y el resultado se de)uel)e en +: bits" -e adapt. los datos del 9odec que )ienen alineados sobre el bit 6L/ para tenerlos alineados al bit +J y poder reali*ar las distintas operaciones" $ara la suma m.dulo 6+: y para el resultado de la multiplicaci.n (modulo 6 +: B +) se tu)o que hacer un AND con &&&& para hacer el m.dulo/ o sea dejarlo en +: bits" -e implement. la multiplicaci.n m.dulo 6 +: B +/ que como se )er5 no es tri)ial (#ultiplicaci.n m.dulo 6+: B +)" Debido a que todas las operaciones trabajan con los acumuladores/ surgi. el problema de pasar de un n(mero de 6; bits sin signo a uno de ;< bits m5s signo y )ice)ersa/ ya que la e?tensi.n de signo de los acumuladores es en a6" El problema en s1 es que con los acumuladores se puede representar n(meros m5s chicos que los que se puede representar con los registros" Este problema se solucion. trabajado con los 6; bits que nos interesaban del acumulador" $ara reali*ar el paralelismo se tu)o que hacer )arios cambios/ ya que tiene muchas restricciones" $or ejemplo para hacer dos mo)imientos en paralelo hay que hacerlo de la siguiente manera= la memoria X sobre los registros ?7 y ?+/ y la memoria O sobre y7 e y+" Adem5s las operaciones deben hacerse siempre sobre los acumuladores/ lo que en conjunto limit. la optimi*aci.n" 0tras restricciones fueron que no se puede mo)er de la memoria direccionando con corrimientos absolutos/ o sea ?=(r;B;)/ y que no se puede reali*ar preincrementos de los registros de direccionamiento" $or estas ra*ones se guardaron las cla)es en la memoria O y los datos a encriptar en la memoria X/ y se utili*aron los incrementos y decrementos unitarios"
GE&ERACI%& DE LAS S!,CLA-ES+ Di)idiendo la cla)e de +6< bits se obtienen las primeras < subcla)es de +: bits/ P(+) a P(<)" as siguientes subcla)es se obtienen de la misma forma/ despu%s de una rotaci.n circular de 6J lugares a la i*quierda" As1 sucesi)amente hasta la generaci.n de las J6 subcla)es de encriptado" En cuanto a la implementaci.n en asembler de este algoritmo de generaci.n de subcla)es/ puede decirse que no presenta grandes complicaciones" $or ejemplo/ para generar P(,) se toman los Q bits m5s bajos de P(6) y los , bits m5s altos de P(L)"
GRFICAMENTE:
http=RRleebyte"iespana"esRcursosRseguridadRelS67pgpS67e?plicadoS67para S67tontos"doc