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
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