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.