Michael Stanton

WirelessBrasil

Ano 2000       Página Inicial (Índice)    


06/11/2000
Rijndael: o sucessor do DES

Quando se quer transmitir informação digital em sigilo, o método normalmente usado á a criptografia simétrica, onde o remetente e receptor compartilham um segredo, chamado de chave secreta, que é usado tanto para cifrar como para decifrar a mensagem.
Algoritmos de criptografia simétrica são usados amplamente hoje em dia.
Entre eles, os mais comuns são
- o IDEA (International Data Encryption Algorithm), usado no software PGP (Pretty Good Privacy) de correio eletrônico seguro;
- o RC4, usado em comércio eletrônico via WWW; e
- o DES (Data Encryption Standard) do governo norte-americano.

Uma das medidas de segurança de uma algoritmo criptográfico é a dificuldade de decifrar uma mensagem protegida, sem conhecimento anterior da chave secreta.
Para algoritmos bons, isto seria possível apenas por força bruta, o que envolve tentar todas as chaves possíveis, até encontrar a correta.
O grau de dificuldade disto depende do comprimento da chave, medido em bits - se a chave tiver N bits, então o número de chaves possíveis é 2**N (2 elevado ao expoente N).

Os algoritmos IDEA e RC4 normalmente usam 128 bits, o que implica em 2**128, ou aproximadamente 10**38 ("1", seguido por 38 zeros), chaves distintas.
O DES, por outro lado, usa chaves de apenas 56 bits, e tem, portanto 2**56, ou aproximadamente 10**17 (100.000.000.000.000.000), chaves diferentes.
Embora seja grande este último número, avanços na velocidade dos computadores já permitem que seja possível que uma empresa privada adquira equipamentos para testar todas as chaves possíveis numa questão de poucas horas.

Por outro lado o uso de chaves de 128 bits é considerado seguro pelo futuro previsível, pois um ataque de força bruta nelas levaria 10**21 vezes o tempo que para o DES.
Para entender o que significa isto, vamos supor que seja possível construir uma máquina que examine todas as chaves de 56 bits do DES em apenas 1 segundo.
Esta mesma máquina levaria mais de 100.000.000.000.000 (10**17) anos para examinar todas as possíveis chaves de 128 bits.
Porém, estima-se em apenas 20.000.000.000 (2´10**10) anos a idade do universo. Portanto, na prática, é absolutamente inviável um ataque de força bruta para encontrar uma chave de 128 bits.

O DES foi desenvolvido por pesquisadores da IBM, e adotado para uso governamental em 1977 pelo então National Bureau of Standards, hoje o National Institute of Standards and Technology (NIST).
Sua adoção pelo governo norte-americano naturalmente levou a seu uso também pelo setor privado.
Por causa da sua relativa fragilidade a ataques, nos últimos tempos foi adotado um variante de DES, chamado DES-triplo, que aplica o algoritmo DES três vezes, com três chaves diferentes (csrc.nist.gov/fips/fips46-3.pdf). Pode se mostrar que isto equivale a uma única chave de 168 bits.
Porém, o DES-triplo é uma espécie de "bacalhau", e em 1997 o NIST lançou um concurso para selecionar um novo algoritmo para ser adotado como o AES - Advanced Encryption Standard, em substituição do DES (e DES-triplo).

Há um mês, foi encerrado este concurso com o anúncio do vencedor, o algoritmo Rijndael (www.nist.gov/public_affairs/releases/g00-176.htm).

Rijndael é a criação de dois recém doutores belgas, Joan Daemen e Vincent Rijmen, e pode utilizar chaves de 128, 192 e 256 bits.
Maiores informações técnicas podem ser encontradas na página www.esat.kuleuven.ac.be/~rijmen/rijndael/index.html.

O concurso para selecionar o AES teve cinco finalistas, sendo os outros quatro o MARS (da IBM), RC6 (de RSA Laboratories (EUA)), Serpent (de Ross Anderson (Inglaterra), Eli Biham (Israel) e Lars Kundsen (EUA)), e Twofish (da equipe de Bruce Schneier (EUA)).
O processo de avaliação foi público, com a ativa participação das comunidades governamental, industrial e acadêmica.
Todos os algoritmos concorrentes foram considerados seguros - o Rijndael seria o mais apropriado por motivos de eficiência e facilidade de implementação em equipamentos de recursos limitados.
O NIST mantém um website que documenta todo o processo de seleção do AES (csrc.nist.gov/encryption/aes). A princípio, o novo padrão deverá ser publicado em seis meses, e espera-se que ele seja adotado amplamente, inclusive em outros países.

O concurso para o AES demonstra mais uma vez a colaboração tecnológico em escala global, levando à provável adoção de práticas homogêneas em diferentes países (para evitar a falta de interoperabilidade).
Também é uma vitória para processos abertos, pois não há segredos industriais envolvidos.
O algoritmo vencedor está há dois anos no domínio público, e pode ser obtido gratuitamente do website dos seus criadores software que o implementa.
É mais um tijolo para a construção do edifício da Internet segura de amanhã.

A diferença entre um verme e um vírus

O leitor Márcio de Souza Almeida acha inapropriado meu uso de "verme", em vez de "vírus", para descrever os contágios "QAZ" e "ILOVEYOU" na coluna passada (30 de outubro).
Porém, apenas traduzi para o português as palavras "worm" e "virus" utilizadas para descrever duas formas distintas de atacar computadores.
O vírus, de forma análoga ao agente biológico, atua parasiticamente, modificando um outro software para realizar suas ações, inclusive promover sua replicação através de modificação de programas em disco ou disquete. Somente é ativado quando acionado o software modificado.
O verme, por outro lado, é um programa independente. Uma vez acionado, talvez por descuido de um usuário que "executa" um attachment de correio, ele alça vôo próprio, promovendo sua replicação através da rede, através do correio eletrônico, ou modificação de arquivos remotos.
O termo "verme" foi primeiro usado por dois pesquisadores da Xerox (Schoch e Hupp) para descrever programas que podiam localizar computadores ociosos numa rede.
Ele ganhou notoriedade depois do verme de Robert Morris Jr, que infestou milhares de servidores da Internet em novembro de 1988 (vide www.msnbc.com/news/209745.asp).