quinta-feira, 16 de abril de 2015

Advanced Encryption Standard - AES

Seguindo então na nossa cronologia, em 1997 o NIST iniciou o processo de substituição do DES, e abriu novamente um concurso para avaliar as propostas de novos algoritmos. Concurso este similar ao que o DES entrou como algoritmo padrão.

No início do concurso foram recebidas 21 propostas, mas para final 5 foram selecionadas. Os 5 algoritmos classificados para a final são:

  • Rijndael
  • MARS
  • RC6
  • Serpent
  • Twofish
Alguns desses algoritmos podem ser vistos hoje em dia. Não são o algoritmo padrão nacional dos Estados Unidos, mas ainda são fortes e usáveis hoje em dia. O famoso TrueCrypt e seu fork não autorizado VeraCrypt, utilizam os algoritmos Serpent e Twofish na criptografia de dados.

Como o título deste texto indica, o ganhador foi o AES, que se chamava Rijndael na época que o projeto foi submetido.

Esta seleção levou alguns anos para ser concluída, apenas em 2001 que o AES foi escolhido como padrão.

Algumas características que podemos ressaltar no algoritmo é o comprimento da chave que é grande e pode ser variado (128/192/156 bits), e que não utilizada a estrutura da cifra de Feistel.

Veja abaixo uma representação gráfica do AES, similar as usadas como demonstração do algoritmo DES nos posts anteriores dessa série:


Só de olhar já da pra ver que ele é um pouco mais complexo né?


AES Simplificado

Sim! O AES também tem uma versão simplificada. Mas dessa vez não vou me aprofundar como foi feito no DES/S-DES. Acredito que não tenha necessidade, as operações mudaram, mas o sentido da coisa continua o mesmo. Caso você tenha interesse em brincar com o AES ou o S-AES você já vai ter uma noção.

Vamos ver aqui apenas alguns detalhes superficiais do S-AES.

Este algoritmo foi desenvolvido por um professor da Universidade de Santa Clara, com o auxílio de seus alunos. Seu objetivo é similar ao S-DES, ou seja, apenas para uso educacional.

Veja abaixo a representação do S-AES e compare com a versão S-DES e com a versão AES:


O algoritmo S-AES utiliza chaves e blocos de texto de 16 bits.

Efeito Avalanche

O efeito avalanche também está presente no algoritmo AES. Do mesmo modo que no DES, o efeito avalanche acontece quando uma modificação em 1 bit afeta completamente a saída do algoritmo, e quanto mais rodadas maior é o impacto da mutação.


Possivelmente em um próximo texto eu volte a falar um pouco mais sobre AES e criptografia simétrica, mas não se preocupe, nada tão complexo e aprofundado como o exemplo do S-DES! ;)

Eu fico hoje por aqui e aguardo você novamente para a próxima etapa desta série!

0 comentários:

Postar um comentário

Subscribe to RSS Feed Follow me on Twitter!