Análise e Otimização do Algoritmo Criptográfico AES para Utilização em Aplicações IoT
Resumo
O universo de Internet das Coisas (IoT) vem se expandindo a cada ano, apresentando
aplicações nos mais diversos segmentos. Contudo, esse crescimento gera
uma quantidade massiva de dados que circulam pela Internet diariamente, logo,
a preocupação com a segurança dessas informações é primordial. Criptografia é
uma boa estratégia para a proteção dos dados, porém, os algoritmos criptográficos
clássicos são muito custosos em termos de desempenho e consumo energético, o
que é não é adequado para aplicações IoT, onde normalmente são implementadas
em dispositivos com recursos computacionais limitados. Esta dissertação propõe
otimizações no algoritmo criptográfico AES, especificamente nos estágios SubBytes
e MixColumns, com o objetivo de viabilizar aplicações IoT seguras em dispositivos
de pouco poder computacional, o tornando um algoritmo leve (lightweight algorithm).
As otimizações propostas apresentam resultados significativos em termos de desempenho,
sem impactar a segurança do algoritmo, e também em termos de consumo
energético. Em termos de desempenho, a versão proposta obteve uma redução
média de 86,71% em tempo de execução e ainda, reduções de 31,82% e 89,04% em
alocação de memória de programa e memória dinâmica, respectivamente, comparado
ao AES original. Já em questões de segurança, foi obtido 50,41% de efeito avalanche
e uma melhor distribuição de 0’s e 1’s no ciphertext comparado a versão original, além
de ser aprovado nos testes do NIST. Por fim, em questões de consumo energético,
a versão otimizada proposta por esta dissertação atingiu reduções de 63,87% e
70,86% quando executada nas plataformas ESP-WROOOM-32 e Raspberry Pi Pico,
respectivamente, o que o torna muito mais atrativo para aplicações IoT.