Criptografia Numaboa
O algoritmo DES ilustrado II
Seg 29 Ago 2005 01:53 |
- Detalhes
- Categoria: Cifras de bloco
- Atualização: Segunda, 20 Abril 2009 13:37
- Autor: vovó Vicki
- Acessos: 37585
Na próxima rodada obteremos L2 = R1, que é o sub-bloco que acabamos de calcular, e depois precisamos calcular R2 = L1 + f(R1, K2) e assim sucessivamente por 16 rodadas. No final da décima sexta rodada temos os sub-blocos L16 e R16. Invertemos então a ordem dos dois sub-blocos num bloco de 64 bits, ou seja, R16L16, e aplicamos a permutação final IP-1 definida na seguinte tabela:
IP-1 --------------------------------------------- 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 ---------------------------------------------
É isto aí, a saída do algoritmo possui o bit 40 do bloco de pre-saída como seu primeiro bit, bit 8 como seu segundo bit, e assim sucessivamente, até o bit 25 do bloco de pre-saída como seu último bit.
Exemplo: Se processarmos todos os 16 blocos usando o método definido previamente, obteremos, na 16ª rodada
L16 = 0100 0011 0100 0010 0011 0010 0011 0100
R16 = 0000 1010 0100 1100 1101 1001 1001 0101
Invertendo a ordem destes dois blocos e aplicando a permutação final em
R16L16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100
IP-1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101
o que, em formato hexadecimal, é 85E813540F0AB405.
Portanto, a forma cifrada de M = 0123456789ABCDEF é C = 85E813540F0AB405.
Decifrar é simplesmente o inverso de cifrar, seguindo os mesmos passos acima descritos porém invertendo a ordem das sub-chaves aplicadas.
MODOS DE OPERAÇÃO DO DES
O algoritmo DES transforma um bloco de mensagem M de 64 bits num bloco cifrado C. Se cada bloco de 64 bits for cifrado individualmente, então o modo de encriptação é denominado Electronic Code Book (ECB). Existem outros dois modos de cifragem DES, os modos Chain Block Coding (CBC) e Cipher Feedback (CFB), os quais tornam cada bloco cifrado dependente de todos os outros blocos de mensagem anteriores através de uma operação inicial de XOR.
QUEBRANDO O DES
Antes que o DES fosse adotado como padrão nacional (estadunidense), durante o período em que o NBS estava solicitando comentários sobre o algoritmo proposto, os criadores da criptografia de chave pública, Martin Hellman e Whitfield Diffie, registraram algumas objeções quanto ao uso do DES como algoritmo de encriptação. Hellman escreveu: "Whit Diffie e eu ficamos preocupados com o fato de que o padrão de encriptação de dados proposto, enquanto provavelmente seguro em relação a assaltos comerciais, pode ser extremamente vulnerável a ataques efetuados por uma organização de inteligência" (carta ao NBS, 22 de Outubro de 1975).
Diffie e Hellman planejaram então um ataque de "força bruta" ao DES ("força bruta" significa aplicar sequencialmente as 256 chaves possíveis até encontrar a chave correta que decifra a mensagem cifrada). Propuseram o uso específico de "computadores paralelos usando um milhão de chips para testar um milhão de chaves cada um" por segundo e estimaram o custo de uma máquina deste tipo em US$ 20 milhões.
Um salto para 1998. Sob a direção de John Gilmore do EFF, uma equipe gastou menos do que US$ 250.000 para construir uma máquina que analisou todo o espaço de chaves de 56 bits do DES e precisou, em média, 4.5 dias para completar a tarefa. Em 17 de Julho de 1998 eles anunciaram que haviam quebrado uma chave de 56 bits em 46 horas. O computador, chamado de Deep Crack, usa 27 placas, cada uma com 64 chips, e é capaz de testar 90 bilhões de chaves por segundo.
Apesar disso, em 8 de Junho de 1998, Robert Litt, principal representante procurador geral do Departamento de Justiça dos Estados Unidos, negou que fosse possível o FBI quebrar o DES: "Deixe-me colocar o problema técnico no contexto: foram precisos 14.000 computadores Pentium trabalhando durante quatro meses para decifrar uma única mensagem... Não estamos falando apenas do FBI e da NSA [precisando de um poder de processamento maciço], estamos falando a respeito de cada departamento de polícia."
Respondeu o especialista em criptografia Bruce Schneier: "... o FBI ou é incompetente ou está mentindo, ou ambos". Schneier continua: "A única solução neste caso é pegar um algoritmo com uma chave maior; não existe silício suficiente na galáxia ou tempo suficiente antes do sol se apagar para quebrar com força bruta o triple-DES" (Crypto-Gram, Counterpane Systems, 15 de Agosto de 1998).
TRIPLE-DES
O triple-DES é apenas o DES com duas chaves de 56 bits aplicadas. Dada uma mensagem em texto claro, a primeira chave é usada para cifrar a mensagem em DES. A segunda chave é usada para decifrar o DES da mensagem cifrada. Como a segunda chave não é a correta para decifrar, esta decifração apenas embaralha ainda mais os dados. A mensagem duplamente embaralhada é, então, cifrada novamente com a primeira chave para se obter o criptograma final. Este procedimento em três etapas é chamado de triple-DES ou triplo DES.
Triple-DES é apenas o DES efetuado três vezes com duas chaves usadas numa determinada ordem. O triple-DES também pode ser feito usando-se três chaves diferentes, ao invés de apenas duas. No primeiro caso, o espaço das chaves é de 2112, no segundo, é de 2168.
Agradecimentos
- Agradeço ao daimao por ter me alertado sobre os bits de paridade da chave.
- Agradeço ao Luis Cláudio por ter me alertado a respeito do espaço das chaves.
Texto publicado pela primeira vez na Aldeia em 5 de Agosto de 2003.
- << Anterior
- Próximo