Você está na página 1de 26

Universidade Federal de Pernambuco - UFPE Departamento de Eletrnica e Sistemas - DES Grupo de Pesquisas em Comunicaes - CODEC

IDEA
International Data Encryption Algorithm

Histrico
Swiss Federal Institute of Technology/ Ascom Xuejia Lai & James Massey PES (Proposed Encryption Standard) IPES (Improved PES), Biham/Shamir

Aspectos Bsicos
Cifra de bloco iterativa de 8 rodadas e uma funo de sada. Blocos de 64 bits. Chave de 128 bits.

Caractersticas
Oferece alto nvel de segurana, baseada apenas no desconhecimento da chave e no na falta de informao sobre o algoritmo. Completamente especificado (algoritmo aberto). Implementvel de forma eficiente componentes eletrnicos (VLSI Chip). com

Caractersticas
Aplicvel em diversas situaes
Computadores Pessoais. Comrcio Eletrnico. Redes de Telecomunicaes (ATM, SONET). Redes de Computadores (WAN, LAN).

Princpio Bsico do IDEA


Utilizar operaes de grupos algbricos diferentes. Difuso e Confuso.

Processo de Cifragem
Trs operaes de grupo diferentes em pares de sub-blocos de 16 bits:
XOR bit-a-bit. Adio de inteiros mdulo 216. Multiplicao de inteiros mdulo 216+1. (S-Box do Idea).

Processo de Cifragem O bloco de 64 bits de texto claro particionado em 4 sub-blocos - X = {X1, X2, X3, X4} Transformado em 4 sub-blocos de 16 bits de texto cifrado - Y = {Y1, Y2, Y3, Y4} So usadas 52 (= 8 x 6 + 4) subchaves.

Confuso & Difuso


Confuso oculta a relao entre o texto claro e o texto cifrado: C = Ek(M) Difuso reduz a redundncia do texto claro espalhando-a pelo texto cifrado.

Confuso
Sem distributividade a (b c) (a b) (a c) Sem associatividade a (b c) (a b) c

Difuso - Estrutura MA

Estrutura MA
Para qualquer Z5 e Z6, MA(, ,Z5,Z6) inversvel; para qualquer U1 e U2, MA(U1,U2,,) tambm inversvel. Cada sub-bloco de sada depende de todos os sub-blocos de entrada (Difuso Completa).

Esquema do IDEA

Gerao das Chaves


Key Schedule O Algoritmo utiliza 52 subchaves - 6 a cada rodada (das 8) e 4 subchaves para a transformao de sada. As subchaves so obtidas atravs de divises e rotaes na chave original de 128 bits.

Subchaves
Chave Secreta (128 bits) Z1( 1 ) Z2( 1 ) Z3( 1 ) Z4( 1 ) Z5( 1 ) Z6( 1 ) Z1( 2 ) Z2( 2 ) Rotao da Chave Secreta em 25 bits esquerda Z3( 2 ) Z4( 2 ) Z5( 2 ) Z6( 2 ) Z1( 3 ) Z2( 3 ) Z3( 3 ) Z4( 3 )

Mais uma rotao de 25 bits esquerda da Chave Secreta Z5( 3 ) Z6( 3 ) Z1( 4 ) Z2( 4 ) Z3( 4 ) Z4( 4 ) Z5( 4 ) Z6( 4 )

Mais uma rotao de 25 bits esquerda da Chave Secreta Z1( 5 ) Z2( 5 ) Z3( 5 ) Z4( 5 ) Z5( 5 ) Z6( 5 ) Z1( 6 ) Z2( 6 )

Mais uma rotao de 25 bits esquerda da Chave Secreta Z1( 9 ) Z2( 9 ) Z3( 9 ) Z4( 9 )

Decifragem do IDEA
O IDEA utiliza o mesmo algoritmo de cifragem para decifrar. A decifragem, entretanto, utiliza subchaves diferentes.

Subchaves
Para i, i := 1..9 Se i < 9 {Rodada} Chave de Cifragem Z1(i), Z2(i), Z3(i), Z4(i), Z5(i), Z6(i) Chave de Decifragem [Z1(10-i)]-1,-Z2(10-i),-Z3(10-i), [Z4(10-i)]-1, Z5(9-i), Z6(9-i) Seno, Transformao de Sada.

Criptoanlise do IDEA
Chave de 128 bits - duas vezes maior que a do DES Fora Bruta em Nmeros:
2128 cifragens para descobrir a chave; Um chip que processe 109 chaves/s, gastaria 1013 anos (Idade do Universo = 1010 anos) 1024 chips achariam a chave em 1 dia. Porm, no h tanto silcio assim no universo para construir essa mquina.

PES

Criptoanlise
X. Lai indicou, sem prova, que o IDEA imune a criptoanlise diferencial aps 4 das 8 rodadas. Biham admite que seu ataque criptoanaltico related-keys ineficaz contra o IDEA.

Modos de Operao
Duplo IDEA vtima do ataque meet-inthe-middle. Mas como a chave grande, a memria para armazenar as chaves seria da ordem de 1039 bytes! Possivelmente no h tanta matria assim no Universo para essa memria. Preocupado com Universos paralelos? Use um Triplo-IDEA.
C = EK3(DK2(EK1(P))) P = DK1(EK2(DK3(C)))

Modos de Operao
Nada impede o uso de subchaves independentes. Sabe-se que este procedimento aumenta a segurana, mas no de quanto. A chave resultante de 832 bits (=52 x 16 bits)

Implementao em Hardware
Ascom implementa o IDEACrypt Kernel com cifragem taxa de 720 Mbit/s a 100MHz.

Benchmarks (Cdigo em C)
Processador VAX 8650 486DX2-66 Pentium, 90 MHz PentiumPro, 180 MHz Performance 430 kbits/s 1.700 kbits/s 4.600 kbits/s 16.000 kbits/s

Cdigo Fonte em C do IDEA


http://www.ascom.ch http://proplan.ufpe.br/~rjsc/idea

Eplogo
O IDEA parece ser o melhor e mais seguro algoritmo disponvel ao pblico. PGP usa o IDEA para cifragem. O IDEA um grupo? (X. Lai no acha). Muitos esto agora tentando quebrar o IDEA, sem sucesso. Apesar disso, o IDEA recente (92).

Você também pode gostar