| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 11.66 MB | Adobe PDF |
Orientador(es)
Resumo(s)
This dissertation explores the design and evaluation of hardware implementations of
the Advanced Encryption Standard (AES), following a structured progression from a software
reference model to Register-Transfer Level (RTL), system integration and ASIC level analysis.
The work begins with a software implementation used as a baseline and progresses to multiple
Verilog RTL architectures.
Two main architectures were evaluated and developed, iterative and fully pipelined, as
well as alternative SubBytes implementations based on both lookup tables and composite field
arithmetic. These two architectures are complete opposites, while one focus on minimising
area the other aims to archive maximum throughput, these two design styles enable a deeper
study of the relationship between performance and area usage. This work covers all three
standard AES configurations (128, 192 and 256), with both encryption and decryption. This
enables a broad comparison of architectural trade-offs. Finally, one last non-standard variation
was explored, AES-512 (encryption).
All designs were implemented using open-source tools and integrated into an FPGA
system with an ESP32 that enabled an interface for end-to-end validation. All RTL cores were
then synthesized and analysed with ASIC flows, allowing quantitative comparison in terms
of area, timing and throughput. The final layout implementations provide physical insight
and visual interpretation of the resulting digital circuits. Finally, the results obtained are quan-
titatively compared with state of art AES hardware implementations.
Esta dissertação explora o design e avaliação da implementação do Advanced Encryption Standard (AES) em hardware, seguindo uma progressão estruturada desde um modelo de referência em software até ao desenvolvimento em Register-Transfer Level (RTL), integração em um sistema e análise ao nível ASIC. O trabalho inicia-se com a implementação em software utilizada como base funcional e evolui para múltiplas arquiteturas RTL descritas em Verilog. Duas arquiteturas principais foram desenvolvidas uma iterativa e outra totalmente pipelined, bem como duas implementações do bloco SubBytes, uma baseada em tabelas de substituição (lookup tables) e outra em aritmética de campos compostos. Estas duas arquiteturas representam extremos opostos no espaço de projeto, enquanto a arquitetura iterativa foca a minimização de área, a arquitetura totalmente pipeline tenta maximizar o throughput. Esta dualidade permite o estudo aprofundado da relação entre desempenho e utilização de área. O trabalho abrange as três configurações normalizadas do AES (128, 192 e 256 bits), suportando tanto encriptação como desencriptação, o que possibilita uma comparação ampla dos compromissos arquiteturais. Adicionalmente, é explorada uma variante não normalizada, o AES-512. Todos os projetos foram implementados recorrendo a ferramentas gratuitas e abertas. As arquiteturas foram integradas num sistema utilizando uma FPGA e um ESP32, permitindo validação ponta a ponta. Posteriormente, todos os núcleos RTL foram sintetizados e analisados através de fluxos ASIC, possibilitando uma comparação quantitativa em termos de área, temporização e débito. As implementações finais de layout fornecem ainda uma perspetiva física e visual dos circuitos digitais implementados. Por fim, os resultados obtidos são comparados quantitativamente com implementações de hardware AES de referência.
Esta dissertação explora o design e avaliação da implementação do Advanced Encryption Standard (AES) em hardware, seguindo uma progressão estruturada desde um modelo de referência em software até ao desenvolvimento em Register-Transfer Level (RTL), integração em um sistema e análise ao nível ASIC. O trabalho inicia-se com a implementação em software utilizada como base funcional e evolui para múltiplas arquiteturas RTL descritas em Verilog. Duas arquiteturas principais foram desenvolvidas uma iterativa e outra totalmente pipelined, bem como duas implementações do bloco SubBytes, uma baseada em tabelas de substituição (lookup tables) e outra em aritmética de campos compostos. Estas duas arquiteturas representam extremos opostos no espaço de projeto, enquanto a arquitetura iterativa foca a minimização de área, a arquitetura totalmente pipeline tenta maximizar o throughput. Esta dualidade permite o estudo aprofundado da relação entre desempenho e utilização de área. O trabalho abrange as três configurações normalizadas do AES (128, 192 e 256 bits), suportando tanto encriptação como desencriptação, o que possibilita uma comparação ampla dos compromissos arquiteturais. Adicionalmente, é explorada uma variante não normalizada, o AES-512. Todos os projetos foram implementados recorrendo a ferramentas gratuitas e abertas. As arquiteturas foram integradas num sistema utilizando uma FPGA e um ESP32, permitindo validação ponta a ponta. Posteriormente, todos os núcleos RTL foram sintetizados e analisados através de fluxos ASIC, possibilitando uma comparação quantitativa em termos de área, temporização e débito. As implementações finais de layout fornecem ainda uma perspetiva física e visual dos circuitos digitais implementados. Por fim, os resultados obtidos são comparados quantitativamente com implementações de hardware AES de referência.
Descrição
Palavras-chave
Cryptography AES FPGA Hardware
