IDEA (Algoritmo Internacional de Cifrado de Datos)

Download Report

Transcript IDEA (Algoritmo Internacional de Cifrado de Datos)

IDEA-International
Data
Encryption
Algorithm (Algoritmo Internacional de
Cifrado de Datos) es un cifrador por
bloques diseñado por Xuejia Lai
y
James L. Massey el Instituto de
Procesamiento de Señales e información
del Instituto Federal de Tecnología en
Zurich

IDEA fue diseñado junto con la
Fundación Hasler, la cual se hizo parte
de Ascom-Tech AG. IDEA es libre para
uso
no
comercial,
aunque
fue
patentado y sus patentes se vencerán
en 2010 y 2011. El nombre "IDEA" es una
marca registrada y está licenciado
mundialmente por MediaCrypt.

IDEA ha sido diseñado con el propósito
de resistir a ciertos ataques a los que DES
es vulnerable, especialmente
a los
denominadas
como
"criptoanálisis
diferenciales", y ofrece un tamaño de
clave lo suficientemente seguro para
evitar este tipo de ataques




1990: Xuejia Lai y James Massey proponen el
PES (Proposed Encryption Standard).
1991: los avances en el criptoanálisis hacen
necesario introducir mejoras y lo modifican
creando el IPES (Improved Proposed
Encryption Standard).
1992: incluyen nuevas mejoras y proponen
finalmente el algoritmo IDEA (International
Data Encryption Algorithm).
1999: el algoritmo IDEA demuestra ser mucho más
seguro que DES y sus derivados y se comienza
a usar en el sistema PGP
Son bloques del mismo tamaño, agrupa
por conjuntos o grupos de datos.
 Ejemplo

Texto plano 64 bits
A
16 bits
B
16 bits
C
16 bits
D
16 bits

Existen dos formas de operación las cuales son:

Modo ECB (ElectronicCodebook):
se divide el texto en bloques y se cifran cada uno de
ellos empleando la misma clave.
› Permite cifrar los bloques por separado. Facilidad de
paralelización.
›

Modo CBC (CipherBookChainingMode)
se
conoce como Mecanismo de retroalimentación
le
› el cifrado de los bloques anteriores condiciona el cifrado
del actual.
› Es común hacer XOR entre el bloque a cifrar y el último
criptograma obtenido (para el primer bloque, se emplea
un vector de inicialización que deberá ser conocido por
ambos interlocutores).

IDEA
› Es uno de los cifrados en bloque más seguros
›
›
›
›
›
que existen.
Usa bloques de 64 bits
claves de 128 bits.
Realiza
8
iteraciones
idénticas
y
una
transformación de salida.
El proceso para cifrar y descifrar es similar.
Gran parte de la seguridad de IDEA deriva de la
mezcla de operaciones de distintos grupos que
no conmutan entre ellas: XOR, suma módulo2 y
producto módulo 216+1.


IDEA es un algoritmo de encriptado robusto("bulk
encryption cypher") de 64 bits por bloque y es similar
al DES ("Data Encryption Standard") de 56 bits
utilizado por el Gobierno de los EE.UU.
Hay
340,282,366,920,938,463,463,374,607,431,768,211,456
claves posibles de 128 bits. Esto significa que para
descifrar un mensaje previamente encriptado en
base a IDEA sin la clave correspondiente, uno
tendría que probar estadísticamente la mitad de
éstas claves para hallar la clave correcta, o sea unas
170,141,183,460,469,231,731,687,303715,884,105,728
claves distintas

. Para poner a este gigantesco número
en
perspectiva,
si
se
tuviesen
1,000,000,000
de
computadoras
capaces
cada
una
de
probar
1,000,000,000 claves diferentes por
segundo, el tiempo promedio necesario
para descifrar un mensaje en particular
sería aún mayor al tiempo transcurrido
desde la creación del universo hasta
hoy día, según la teoría del “Big Bang”.
Las aplicaciones actuales de IDEA son
aproximadamente el doble de rápido
que el cifrado DES.
 IDEA en una maquina
386 a 33
megahertz encripta la información a 880
kilobits por segundo, y considerando
una maquina con las capacidades
actuales con un procesados a 3 Ghz la
información seria encriptada a razón de
1 Mbit por segundo.




IDEA
ha resultado inmune ante un criptoanálisis diferencial
y a los criptoanálisis lineales.
Joan Daemen descubrió en 1992 una clase de
claves débiles, las que responden al esquema
0000 0000 0*00 0000 0000 000* **** *000
que un atacante podría identificar en un ataque con texto
en claro elegido (las posiciones * pueden ser cualquier
dígito hexadecimal).


La probabilidad de que se usen esas claves débiles
es 2-96 y además se pueden eliminar en el diseño.
Actualmente no se conoce todavía ningún ataque
contra IDEA que haya tenido éxito



1. A = A x K( i )
2. B = B + K( i +1 )
3. C = C + K( i +2 )
4. D = D x K( i +3 )
5. E = A C
6. F = B D
7. E = E x K( i +4 )
8. F = F + E
9. F = F x K( i +5 )
10. E = F + E
11. A = A F
12. B = B E
13. C = C F
14. D = D E
15. Intercambiar B con C
- Después de la 8ª vuelta:
A = A x K( 49 )
B = C + K( 50 )
C = B + K( 51 )
D = D x K( 52 )
 Todas las operaciones se hacen con números positivos
 Para la suma módulo 216 y para la multiplicación (modulo 216
+ 1) se tuvo que hacer un AND con FFFF para hacer el
módulo.
 Se implementó la multiplicación módulo 216 + 1
 Debido a que todas las operaciones trabajan con los
acumuladores,
 Para realizar el paralelismo se hacen varios cambios, ya que
tiene muchas restricciones. Por ejemplo para hacer dos
movimientos en paralelo hay que hacerlo de la siguiente
manera: la memoria X sobre los registros x0 y x1, y la memoria
Y sobre y0 e y1.
De la clave de 128 bits se obtienen las
primeras 8 subclaves de 16 bits, K(1) a
K(8).
 Las siguientes subclaves se obtienen
después de una rotación circular de 25
lugares a la izquierda. Así
sucesivamente hasta la generación de
las 52 subclaves.

Inverso
del
producto
D1=k49-1
D7=k43-1
D13=k37-1
D19=k31-1
D25=k25-1
D31=k19-1
D37=k13-1
D43=k7-1
D49=k1-1
Inverso
suma
D2=-k50
D8=-k45
D14=-k39
D20=-k33
D26=-k27
D32=-k21
D38=-k15
D44=-k9
D50=-k2
Inverso
suma
D3=-k51
D9=-k44
D15=-k38
D21=-k32
D27=-k26
D33=-k20
D39=-k14
D45=-k8
D51=-k3
Inverso
del
producto
D4=k52-1
D10=k46-1
D16=k40-1
D22=k34-1
D28=k28-1
D34=k22-1
D40=k16-1
D46=k10-1
D52=k4-1
Inverso
del XOR
D5=k47
D11=k41
D17=k35
D23=k29
D29=k23
D35=k17
D41=k11
D47=k5
Inverso
del XOR
D6=k48
D12=k42
D18=k36
D24=k30
D30=k24
D36=k18
D42=k12
D48=k6
http://iie.fing.edu.uy/ense/asign/dsp/pro
yectos/1999/cripto/descripcion.html
 http://h2non.wordpress.com/2007/04/14
/algoritmos-de-la-criptologiainformatica/
