Como o AES funciona?

O Advanced Encryption Standard (AES) descreve uma fórmula matemática ou algoritmo para a conversão de dados eletrônicos em um formato ininteligível, chamado texto criptografado. O texto criptografado não pode ser lido por ninguém que não seja o destinatário. O AES funciona alimentando uma chave de criptografia, essencialmente uma sequência de dígitos no algoritmo de criptografia e executando uma série de operações matemáticas com base nessa chave de criptografia.

Operação básica

O AES pode ser descrito como um bloco criptografado iterativo e simétrico. O AES usa uma estrutura de loop para reordenar repetidamente dados ou permutações. O loop substitui uma unidade de dados por outra para dados de entrada. A rotina de criptografia usa a mesma chave para criptografar e descriptografar os dados e aplicar essa chave aos blocos de dados de comprimento fixo.

Programa-chave

A rotina de criptografia AES armazena a chave de criptografia primária em uma matriz. Uma matriz é um grupo de objetos com os mesmos atributos que podem ser endereçados individualmente. A matriz consiste em quatro linhas, cada uma contendo quatro, seis ou oito bytes, dependendo do tamanho da chave. Nos bastidores, a rotina de criptografia usa essa matriz para gerar uma tabela, conhecida como programa de chaves, que contém várias chaves. Essas chaves são chamadas de chaves redondas para distingui-las da chave mestra original.

Matriz de estado

O AES usa uma chave de criptografia que pode ter 128, 192 ou 256 bits e é aplicada em unidades de dados, chamadas de blocos, cada um com 128 bits. O algoritmo AES começa copiando cada bloco de 16 bits em um array bidimensional chamado State, para criar um array de 4×4 bytes. O algoritmo executa uma operação “O” exclusiva que retorna “true” se um ou outro de seus operandos for verdadeiro. Isso é conhecido como “AddRoundKey” e está entre as quatro primeiras linhas do programa principal e da matriz State.

Operações matemáticas

Após a operação inicial exclusiva “O”, o algoritmo de criptografia AES entra em seu loop principal, no qual executa repetidamente quatro operações matemáticas diferentes na matriz State: “SubBytes”, “ShiftRows”, “MixColumns” e “AddRoundKey” . Essas operações empregam uma combinação de adição, multiplicação, rotação e substituição para criptografar cada byte na matriz State. O loop principal é executado 10, 12 ou 14 vezes, dependendo do tamanho da chave de criptografia. Após a conclusão da execução, o algoritmo copia a matriz de status para sua saída na forma de texto criptografado.

Referências

 

Você pode estar interessado:

Deixe um comentário