AES - Advanced Encryption Standard

Diogo Ventura Nomiya

DES e AES

UFRJ—Redes de Computadores

 

                 O Data Encryption Standard (DES) é um algoritmo de criptografia de chave simétrica escolhido em 1976 como padrão pelo NIST (National Institute of Standards and Tecnology), orgão de padrões do governo dos Estados Unidos, passando a ser utilizado amplamente pelo mundo todo.

 

Histórico

 

                 O DES foi proposto em 1974 pela IBM, sendo baseado num algoritmo mais antigo, o Lucifer de Horst Feistel. Lucifer foi inicialmente projetado para chaves de 128 bits, mas este tamanho acabou sendo trocado para 64 bits, com apoio da NSA (National Security Agency). Esta questão foi bastante polêmica, e houveram rumores de que a NSA quereria quebrar as chaves.

                 Academicamente foram propostas várias máquinas visando quebrar o DES. Em 1977 uma máquina que seria capaz de testar todas as chaves em apenas um dia foi proposta, custando 20 milhões de dólares. Com o tempo, o preço das máquinas e o tempo necessário para quebra foram reduzidos, mas ainda assim não houve nenhuma implementação.

                 Em 1997 foram abertos concursos nos quais eram oferecidos 10.000 dólares para quem conseguisse decifrar uma mensagem criptografada com o DES, sendo vencido pela DESCHALL Project que utilizou o processamento de vários computadores ao redor da internet. Em 1998 a Electronic Frontier Foundation construiu o DES-Cracker, uma máquina de 250 mil dólares que quebrou a chave em aproximadamente 2 dias. Outra máquina capaz de quebrar o DES foi a Copacobana, mais recente, construída por duas universidades alemãs custando 10 mil dólares.

 

DES

 

                 A codificação DES trabalha com blocos de 64 bits utilizando uma chave de 64 bits. Na verdade, 8 desses bits são de paridade, e portanto redundantes. Por isso na prática o tamanho efetivo da chave é de 56 bits. Desta forma, são possíveis 256 chaves diferentes, algo na ordem 1016 chaves.

                 O DES faz uso de diversas operações, dentre elas substituições e permutações, para criptografar os dados. Cada bloco de dados passa por 16 rodadas dessas operações, isto é, um certo conjunto de operações é aplicado 16 vezes a cada bloco de dados.

 

O concurso AES

 

                 Com a quebra do DES, ficou comprovado que ele não era mais um algoritmo seguro. Sendo assim, o NIST abriu um novo processo de seleção em 1997 para escolher um outro algoritmo de chave simétrica para substituir o DES. O algoritmo vencedor foi o Rijndael, criado por Vincent Rijmen e Joan Daemen. O AES (Advanced Encryption Standard), como passou a ser chamado, trabalha com blocos de dados de 128 bits e pode utilizar chaves de 128, 192 e 256 bits.

                 Por ser de fácil implementação e exigir pouca memória, o AES passou a ser utilizado também em PDAs e celulares. Apesar disso, estima-se que se uma máquina fosse capaz de quebrar o DES em 1 segundo, essa máquina levaria aproximadamente 150 trilhões de anos para quebrar o AES.