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