AES Encryption in Hardware

This project implements an end-to-end system of Advanced Encryption Standard (AES) algorithm. The implementation includes encryption/decryption engine implemented on FPGA and full software stack for Linux for interface with the hardware.

The project uses featuring Zynq-7000 programmable system on chip as a base of the implementation. The main goal of this project was to implement a proof of concept of complete system featuring hardware accelerator for AES algorithm and software that utilizes it.

This project represents a module of an AES encryption and decryption embedded system consists of three layers:

  • Hardware encryption-decryption written on VHDL and running on FPGA of Zedboard.
  • Shared registers for hardware-software interface based on AXI-Lite protocol.
  • Software user application and driver written on C and running on Linux environment over a Zedboard’s arm processor.

These three layers merge into a complete system which is transparent to the end user that only have to insert the desired data and choose an encryption key.

As a part of the project, a comparison between the module and a full software Implementation was conducted.