Criptografia Numaboa

Home Criptografia Cifras de bloco O algoritmo IDEA ilustrado

Na Aldeia

Há 57 visitantes online

2904 registros
0 hoje
6 nesta semana
13 neste mês

Boas vindas: tiagotc

Estatística

Artigos: 863
Artigos lidos: 4121705
Arquivados: 42
Downloads: 417
Baixados: 164261
Glossário: 1199
Bibliografia: 24
JoomlaWatch Stats 1.2.7 by Matej Koval

Visitas de onde?

87,4%Brasil Brasil
9,7%Portugal Portugal
0,8%EUA EUA
0,2%Espanha Espanha
0,1%Japão Japão

Visitantes

Hoje: 32
Ontem: 1311
Esta semana: 2679
Semana passada: 6313
Este mês: 6146
Mês passado: 55669
Total: 166467

Registro/Login

Para fazer login ou registrar-se

Usuários registrados têm algumas regalias!
O algoritmo IDEA ilustrado PDF Imprimir Indique esta página
Avaliação: / 16
PiorMelhor 
Criptografia Numaboa - Cifras de bloco
Escrito por vovó Vicki   
Dom, 11.09.2005 18:16
Índice do Artigo
O algoritmo IDEA ilustrado
Chave e Decifração
Programação
Programação II
Programação III
Todas as páginas

O algoritmo IDEA (International Data Encryption Algorithm) foi desenvolvido em 1990, na ETH Zurique - Suíça, por James L. Massey e Xueija Lai. O IDEA é um algoritmo simétrico que utiliza uma chave de 128 bits.

Originalmente, o IDEA foi chamado de PES (Proposed Encryption Standard). Um ano após o seu lançamento, em 1991, Biham e Shamir demonstraram que o algoritmo era susceptível à criptoanálise diferencial e os autores fizeram modificações substanciais. Chamaram o novo algoritmo de IPES (Improved Proposed Encryption Standard). Em 1992, o IPES foi rebatizado transformando-se no IDEA, um dos melhores algoritmos de bloco. O proprietário da patente deste método é a ASCOM. Visando sua disseminação, a ASCOM autorizou o uso não comercial do algoritmo.

O algoritmo IDEA

O algoritmo é usado tanto para a cifragem quanto para a decifração e, como outras cifras de bloco, usa a confusão e a difusão (maiores detalhes na {vicki_il}Teoria da Informação@337@99{/vicki_il}) para produzir o texto cifrado. A filosofia que norteou este projeto foi "misturar operações de grupos algébricos diferentes". O IDEA possui três grupos algébricos cujas operações são misturadas. Estas operações, que podem ser facilmente implementadas via hardware e/ou software, são:

XOR
Adição módulo 216
(adição ignorando qualquer overflow)
Multiplicação módulo 216+1 (multiplicação ignorando qualquer overflow)

Todas estas operações são feitas com blocos de 16 bits, o que faz com que este algoritmo também seja eficiente em processadores de 16 bits.

Descrição do IDEA

Fluxograma
Fluxograma do algoritmo IDEA

Na cifragem, o texto claro é dividido em blocos de 64 bits. Cada um destes blocos é dividido em quatro sub-blocos de 16 bits: B1, B2, B3 e B4. Estes quatro sub-blocos são a entrada da primeira volta ou rodada do algoritmo. No total, são oito rodadas. Em cada rodada, os quatro sub-blocos são submetidos à operação lógica XOR, somados e multiplicados entre si e com seis sub-blocos de 16 bits oriundos da chave (K1, K2, K3, K4, K5 e K6). Entre cada rodada, o segundo e o terceiro sub-bloco são trocados.

Em cada rodada, a sequência de eventos é a seguinte (acompanhe no fluxograma acima):

  1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1.
  2. Adição de B2 com o segundo sub-bloco da chave K2.
  3. Adição de B3 com o terceiro sub-bloco da chave K3.
  4. Multiplicação de B4 pelo quarto sub-bloco da chave K4.
  5. XOR entre os resultados obtidos nas etapas (1) e (3).
  6. XOR entre s resultados obtidos nas etapas (2) e (4).
  7. Multiplicação do resultado da etapa (5) pelo quinto sub-bloco da chave K5
  8. Adição dos resultados das etapas (6) e (7).
  9. Multiplicação do resultado da etapa (8) pelo sexto sub-bloco da chave K6.
  10. Adição dos resultados das etapas (7) e (9).
  11. XOR entre os resultados obtidos nas etapas (1) e (9).
  12. XOR entre os resultados obtidos nas etapas (3) e (9).
  13. XOR entre os resultados obtidos nas etapas (2) e (10).
  14. XOR entre os resultados obtidos nas etapas (4) e (10).

A saída da rodada são os quatro sub-blocos resultantes das etapas (11), (13), (12) e (14). Exceto na última rodada, os sub-blocos (13) e (12) trocam de lugar e esta nova sequência de sub-blocos será a entrada para a próxima rodada.

Após a oitava rodada, a saída final é transformada com:

  1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1.
  2. Adição de B2 com o segundo sub-bloco da chave K2.
  3. Adição de B3 com o terceiro sub-bloco da chave K3.
  4. Multiplicação de B4 pelo quarto sub-bloco da chave K4.

No final, os quatro sub-blocos obtidos (G1, G2, G3 e G4) são concatenados para produzir o texto cifrado.



Atualização Seg, 12.09.2005 23:12