Articles

Advanced Encryption Standard

Advertisements

br>

O algoritmo de encriptação simétrica mais popular e mais amplamente adoptado, susceptível de ser encontrado hoje em dia, é o Advanced Encryption Standard (AES). É encontrado pelo menos seis vezes mais rápido do que o triplo DES.

Era necessário um substituto para DES, uma vez que o seu tamanho de chave era demasiado pequeno. Com o aumento do poder computacional, era considerado vulnerável contra um ataque exaustivo de busca de chaves. O DES triplo foi concebido para superar este inconveniente, mas foi encontrado lentamente.

As características do AES são as seguintes –

  • Cifra de bloco simétrico de chave simétrica
  • 128 bits de dados, 128/192/256-bit keys
  • Escrita mais forte e mais rápida do que Triple-DES
  • li>Fornecer especificação completa e detalhes de designli>Software implementável em C e Java

Operação de AES

AES é uma cifra iterativa em vez de Feistel. Baseia-se na ‘rede de substituição-permutação’. Compreende uma série de operações ligadas, algumas das quais envolvem a substituição de entradas por saídas específicas (substituições) e outras envolvem a troca de bits (permutações).

Interessantemente, a AES executa todos os seus cálculos em bytes em vez de bits. Assim, a AES trata os 128 bits de um bloco de texto em placas como 16 bytes. Estes 16 bytes estão dispostos em quatro colunas e quatro filas para processamento como uma matriz –

Desemelhante a DES, o número de rondas no AES é variável e depende do comprimento da chave. A AES usa 10 rondas para chaves de 128 bits, 12 rondas para chaves de 192 bits e 14 rondas para chaves de 256 bits. Cada uma destas rondas usa uma chave redonda diferente de 128-bit, que é calculada a partir da chave AES original.

O esquema da estrutura AES é dado na seguinte ilustração –

Estrutura AES

Processo de encriptação

Aqui, restringimo-nos à descrição de uma ronda típica de encriptação AES. Cada ronda é composta por quatro subprocessos. O primeiro processo redondo é descrito abaixo –

Primeira ronda de processos

Substituição por bytes (SubBytes)

Os 16 bytes de entrada são substituídos pela procura de uma tabela fixa (S-box) dada no desenho. O resultado está numa matriz de quatro filas e quatro colunas.

Shiftrows

Cada uma das quatro filas da matriz é deslocada para a esquerda. Quaisquer entradas que ‘caem’ são reinseridas no lado direito da fila. O deslocamento é efectuado da seguinte forma –

  • p>A primeira fila não é deslocada.
  • p>A segunda fila é deslocada uma posição (byte) para a esquerda.
  • p>A terceira fila é deslocada duas posições para a esquerda.
  • p>>p>A quarta fila é deslocada três posições para a esquerda.
  • p> O resultado é uma nova matriz constituída pelos mesmos 16 bytes mas deslocados um em relação ao outro.

MixColunas

Cada coluna de quatro bytes é agora transformada utilizando uma função matemática especial. Esta função toma como entrada os quatro bytes de uma coluna e produz quatro bytes completamente novos, que substituem a coluna original. O resultado é outra nova matriz que consiste em 16 novos bytes. Note-se que este passo não é executado na última ronda.

Addroundkey

Os 16 bytes da matriz são agora considerados como 128 bits e são XORADOS para os 128 bits da chave redonda. Se esta for a última ronda, então a saída é o texto cifrado. Caso contrário, os 128 bits resultantes são interpretados como 16 bytes e iniciamos outra ronda semelhante.

Processo de descodificação

O processo de descodificação de um texto cifrado AES é semelhante ao processo de encriptação na ordem inversa. Cada ronda consiste nos quatro processos conduzidos na ordem inversa –

  • Adicionar chave redonda
  • Mix colunas
  • Li>Selecção de linhas
  • Substituição de bytes

Sub-processos em cada ronda são de modo inverso, ao contrário de uma cifra de Feistel, os algoritmos de encriptação e desencriptação precisam de ser implementados separadamente, embora estejam muito intimamente relacionados.

AES Analysis

Na actual criptografia, o AES é amplamente adoptado e suportado tanto em hardware como em software. Até à data, não foram descobertos ataques criptográficos práticos contra a AES. Além disso, o AES tem incorporado uma flexibilidade de comprimento de chave, o que permite um grau de ‘prova de futuro’ contra o progresso na capacidade de realizar pesquisas exaustivas de chaves.

No entanto, tal como para o DES, a segurança AES só é assegurada se for correctamente implementada e se for empregada uma boa gestão de chaves.

Advertisements

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *