13.04.2013 Views

Capítulos 5,6 - Departamento de Ciência da Computação

Capítulos 5,6 - Departamento de Ciência da Computação

Capítulos 5,6 - Departamento de Ciência da Computação

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.

Critérios <strong>de</strong> projeto para cifras <strong>de</strong> bloco<br />

• Princípios básicos (Shannon, 1949) -<br />

1. Difusão - Espalhamento <strong>da</strong> influência <strong>de</strong> bits individuais <strong>da</strong> chave ou<br />

mensagem através <strong>da</strong> maior parte possível do criptograma.<br />

2. Confusão - Ocultação <strong>da</strong> relação entre mensagem, criptograma e chave no<br />

sentido <strong>de</strong> tornar complexa sua análise estatística.<br />

• Caso i<strong>de</strong>al versus caso viável -<br />

• A confusão é uma proprie<strong>da</strong><strong>de</strong> suficiente para as cifras <strong>de</strong> bloco serem<br />

seguras, e teoricamente tais cifras existem em abundância, já que são<br />

apenas permutações do conjunto <strong>da</strong>s ca<strong>de</strong>ias <strong>de</strong> bits que formam blocos<br />

• Por outro lado, um algoritmo contendo somente uma S-box 64x64 ocuparia<br />

2 64 *64 bits (~ <strong>de</strong>z mil terabytes) <strong>de</strong> memória. Na prática intercala-se<br />

cama<strong>da</strong>s <strong>de</strong> confusão (tabelas pequenas) e difusão, geralmente por meio <strong>de</strong><br />

substituições e permutações, para construi-las.<br />

• Re<strong>de</strong>s <strong>de</strong> Feistel (Horst Feistel, 1973) -<br />

Desenho <strong>de</strong> intercalação on<strong>de</strong> a proprie<strong>da</strong><strong>de</strong> nilpotente <strong>da</strong> operação lógica<br />

<strong>de</strong> "ou" exclusivo (⊕) é combina<strong>da</strong> com a permutação dos operandos<br />

para permitir a introdução <strong>de</strong> uma confusão qualquer na construção <strong>da</strong><br />

classe <strong>de</strong> funções inversíveis que constituem a cifra.<br />

Li = Ri-1 ;Ri = Li-1 ⊕ f(Ri-1,Ki)<br />

∀f [ Li-1 = Li-1 ⊕ f(Ri-1,Ki) ⊕ f(Ri-1,Ki) ]<br />

18

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

Saved successfully!

Ooh no, something went wrong!