23.11.2014 Views

CRIPTOGRAFIA - FESP

CRIPTOGRAFIA - FESP

CRIPTOGRAFIA - FESP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fontes<br />

• "The DES Algorithm Illustrated", de J. Orlin Grabbe. Grabbe é o autor do<br />

"International Financial Markets", internacionalmente conhecido como um<br />

especialista em derivativos. Atua em criptografia, segurança de transações<br />

bancárias e dinheiro eletrônico. Sua home page está em<br />

http://orlingrabbe.org/.<br />

• Simon Singh, autor de vários livros de sucesso, também escreveu "The<br />

Code Book", livro sobre criptologia rico em detalhes históricos e<br />

extremamente didático.<br />

• Cracking DES no site da EFF.<br />

O DES trabalha com bits ou números binários - os 0s e 1s dos computadores<br />

digitais. Cada grupo de 4 bits corresponde a um valor hexadecimal, cuja base é<br />

16. O binário "0001" corresponde ao número hexadecimal "1", o binário "1000" é<br />

igual ao número hexadecimal "8", "1001" é igual ao hexadecimal "9", "1010" é<br />

igual a o hexadecimal "A" e "1111" é igual ao hexadecimal "F".<br />

O DES funciona encriptando grupos de 64 bits de mensagem, o que significa 16<br />

números hexadecimais. Para realizar a encriptação, o DES utiliza "chaves" com<br />

comprimento aparente de 16 números hexadecimais, ou comprimento aparente<br />

de 64 bits. Entretanto, no algoritmo DES, cada oitavo bit da chave é ignorado, de<br />

modo que a chave acaba tendo o comprimento de 56 bits. Mas, para todos os<br />

efeitos, o DES é organizado baseando-se no número redondo de 64 bits (16<br />

dígitos hexadecimais).<br />

Por exemplo, se tomarmos a mensagem clara hexadecimal 8787878787878787 e<br />

a encriptarmos com a chave DES hexadecimal 0E329232EA6D0D73, obteremos<br />

o texto cifrado hexadecimal 0000000000000000. Se o criptograma for decifrado<br />

com a mesma chave secreta, o resultado será o texto claro original<br />

8787878787878787 hexadecimal.<br />

Este exemplo é limpo e metódico porque nosso texto claro tinha o comprimento<br />

de exatos 64 bits. O mesmo seria verdade caso nosso texto claro tivesse um<br />

comprimento múltiplo de 64 bits. Mas a maioria das mensagens não cairá nesta<br />

categoria. Não serão um múltiplo exato de 64 bits (isto é, um múltiplo exato de<br />

16 números hexadecimais).<br />

Por exemplo, considere a seguinte mensagem: "Criptologia sempre NumaBoa".<br />

Esta mensagem clara possui 28 bytes (56 dígitos hexadecimais) de comprimento.<br />

Neste caso, para encriptar a mensagem, seu comprimento precisa ser ajustado<br />

com a adição de alguns bytes extras no final. Depois de decifrar a mensagem,<br />

estes bytes extras são descartados. É lógico que existem vários esquemas<br />

diferentes para adicionar bytes. Aqui nós iremos adicionar apenas zeros no final,<br />

de modo que a mensagem total seja um múltiplo de 8 bytes (ou 16 dígitos<br />

hexadecimais, ou 64 bits).<br />

O texto claro "Criptologia sempre NumaBoa" é, em hexadecimal,<br />

43 72 69 70 74 6F 6C 6F<br />

67 69 61 20 73 65 6D 70<br />

72 65 20 4E 75 6D 61 42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!