Criptografia Numaboa
A segurança do DES
Sex 12 Out 2007 09:12 |
- Detalhes
- Categoria: Cifras de bloco
- Atualização: Terça, 21 Abril 2009 20:51
- Autor: vovó Vicki
- Acessos: 10954
A enorme insistência do governo dos EUA para que o DES fosse adotado de forma abrangente na segurança de dados levantou uma série de suspeitas. Apesar das repetidas declarações oficiais de que o DES era um algoritmo criptográfico "inquebrável", a desconfiança só aumentou e os questionamentos se tornaram cada vez mais contundentes.
A segurança do DES
Para acompanhar melhor este texto sobre a segurança do DES, leia O algoritmo DES ilustrado II.
O DES foi adotado oficialmente como padrão de encriptação nos EUA em julho de 1977. A segurança do algoritmo foi questionada por muitos especialistas. Sempre houve muita especulação sobre o comprimento da chave, o número de iterações e a estrutura das caixas S (S-boxes). As caixas S, com todas aquelas constantes sem uma razão aparente para a disposição usada, eram particularmente misteriosas. Algumas pessoas temiam que a NSA (National Security Agency) tivesse colocado um "alçapão" (trap door) no algoritmo para que a agência tivesse um meio fácil de decifrar mensagens.
O assunto foi investigado em 1978 pelo Comitê de Inteligência do Senado dos EUA. Tendo acesso total aos mais altos segredos, o comitê elaborou um relatório que foi considerado matéria classificada. O resumo deste relatório, no entanto, foi liberado e revela que a NSA foi exonerada de qualquer envolvimento impróprio no projeto do algoritmo. "Foi dito que a IBM foi convencida que uma chave mais curta era adequada, que a NSA deu uma assistência indireta no desenvolvimento das estruturas das caixas S e de que havia certificado que a versão final do algoritmo DES, de acordo com o melhor do seu conhecimento, não apresentava qualquer fraqueza estatística ou matemática" [1]. No entanto, como o governo dos EUA nunca tornou públicos os detalhes da investigação, muitos não ficaram convencidos.
Tuchman e Meyer, dois dos criptógrafos da equipe da IBM que desenvolveu o DES, afirmaram que a NSA não alterou o projeto [2]:
Sua atitude básica era procurar funções fortes de substituição, permutação e chaves... A IBM classificou como segredo as anotações sobre os critérios de seleção a pedido da NSA... Tuchman declarou: "A NSA nos disse que, inadvertidamente, tínhamos reinventado alguns dos segredos mais bem guardados que ela usava para criar seus próprios algoritmos".
Apesar das várias explicações e declarações, a questão ainda perdurou por muitos anos. Em 1992, na National Computer Security Conference, a NSA voltou a afirmar que de forma alguma havia interferido no projeto do DES e que a investigação feita pelo Senado em 1978 respondia todas as questões. Talvez sim, talvez não... o fato é que os criptoanalistas continuaram a analisar o algoritmo à procura de possíveis "armadilhas" e fraquezas. As mais importantes são citadas neste artigo.
Chaves fracas
Devido ao modo como a chave inicial é modificada para se obter a sub-chave para cada rodada do algoritmo, certas chaves iniciais são chaves fracas [3,4].
O valor inicial é dividido em duas partes e cada metade é deslocada de forma independente. Se todos os bits em cada metade forem 0 ou 1, então a chave usada em qualquer ciclo do algoritmo é a mesma para todos os ciclos do algoritmo. Isto pode ocorrer se a chave for constituída apenas por 1s, apenas por 0s ou se uma das metades tiver apenas 1s e a outra apenas 0s. Além disto, duas das chaves fracas possuem outras propriedades que as tornam ainda menos seguras [4].
As chaves fracas são mostradas a seguir na notação hexadecimal (lembre-se de que cada oitavo bit é um bit de paridade e que a permutação inicial embaralha discretamente a ordem da chave).
--------------------------------------------------- VALOR DA CHAVE FRACA CHAVE OBTIDA --------------------------------------------------- 0101 0101 0101 0101 0000000 0000000 FEFE FEFE FEFE FEFE FFFFFFF FFFFFFF 1F1F 1F1F 1F1F 1F1F 0000000 FFFFFFF E0E0 E0E0 E0E0 E0E0 FFFFFFF 0000000
Além das chaves fracas, existem pares de chaves que encriptam o texto claro em textos cifrados idênticos. Em outras palavras: uma das chaves do par pode decifrar um texto encriptado pela outra chave do par. Isto também se deve ao modo como o DES gera as sub-chaves - ao invés de gerar 16 sub-chaves diferentes, estas chaves geram apenas duas sub-chaves diferentes e cada uma delas é usada oito vezes no algoritmo. Estas chaves são conhecidas como chaves semi-fracas:
-------------------- CHAVES SEMI- FRACAS -------------------- 01FE 01FE 01FE 01FE 1FE0 1FE0 1FE0 1FE0 01E0 01E0 01E0 01E0 1FFE 1FFE 1FFE 1FFE 011F 011F 011F 011F E0FE E0FE E0FE E0FE FE01 FE01 FE01 FE01 E01F E01F E01F E01F E001 E001 E001 E001 FE1F FE1F FE1F FE1F 1F01 1F01 1F01 1F01 FEE0 FEE0 FEE0 FEE0
Também existem chaves que produzem apenas quatro sub-chaves diferentes, cada uma delas usada quatro vezes no algoritmo. São as seguintes:
CHAVES POSSIVELMENTE FRACAS ----------------------------------------------------- 1F1F0101 0E0E0101 E00101E0 F10101F1 011F1F01 010E0E01 FE1F01E0 FE0E01F1 1F01011F 0E01010E FE011FE0 FE010EF1 01011F1F 01010E0E E01F1FE0 F10E0EF1 FE0101FE FE0101FE E0E00101 F1F10101 E01F01FE F10E01FE FEFE0101 FEFE0101 E0011FFE F1010EFE FEE01F01 FEF10E01 FE1F1FFE FE0E0EFE E0FE011F F1FE0E01 FEE0011F FEF1010E 1FFE01E0 0EFE01F1 E0FE011F F1FE010E 01FE1FE0 01FE0EF1 E0E01F1F F1F10E0E 1FE001FE 0EF101FE FEFE1F1F FEFE0E0E 01E01FFE 01F10EFE FE1FE001 FE0EF101 0101E0E0 0101F1F1 E01FFE01 F10EFE01 1F1FE0E0 0E0EF1F1 FE01E01F FE01F10E 1F01FEE0 0E01FEF1 E001FE1F F101FE0E 011FFEE0 010EFEF1 1F01E0FE 0E01F1FE 01E0E001 01F1F101 011FE0FE 010EF1FE 1FFEE001 0EFEF001 0101FEFE 0101FEFE 1FE0FE01 0EF1FE01 1F1FFEFE 0E0EFEFE 01FEFE01 01FEFE01 1FE0E01F 0EF1F10E FEFEE0E0 FEFEF1F1 01FEE01F 01FEF10E E0FEFEE0 F1FEFEF1 01E0FE1F 01F1FE0E FEE0E0FE FEF1F1FE 1FFEFE1F 0EFEFE0E E0E0FEFE F1F1FEFE
Antes de condenar o DES por ter chaves fracas, é bom lembrar que esta lista de 64 chaves é insignificante quando comparada com o conjunto de mais de 72 quatrilhões de chaves possíveis (para ser mais exata, são 72.057.594.037.927.936). Se escolhermos uma chave ao acaso, é mínima a possibilidade de pegar justamente uma das fracas. Bem, e se nos entregarmos à paranóia, basta checar se a chave escolhida é uma das apontadas :blush:
- Anterior
- Próximo >>