AES CryptoCore
Students: Mihai Olaru
Cătălina Sârbu
Teacher: Dan Dobrea
Encyption process
Steps of the encryption process:
1. Expanding the key that results in round keys; (using an algorithm
from the main key)
2. Initial round in which the function is executed:
- AddRoundKey
3. Intermediate rounds containing 4 transformations each:
- SubBytes: non-linear transformation;
- ShiftRows: a line transposition:
- MixColumns: a mix of operations on the column;
- AddRoundKey;
4. Last Round: containing follow transformations:
- SubBytes;
- ShiftRows;
- AddRoundKey.
Decryption process
In the decryption process the steps are similar to the encryption.
Steps to the decryption process:
1. Transformation InvAddRoundKey
2. Transformation InvMixColumns
3. Transformation InvShiftRow
4. InvSubBytes transformation.
AES CryptoCore Design
AES is a symmetric-key block cipher. It is an iterative cipher,
which means that bots decryption and encryption
consist of multiple iterations of the same basic round function.
In each round, a different key is generated according
to the rounds index.
The structure of Block design is a pipeline architecture with
two stages. The implementation is in a non-feedback mode.
System
design
AES Verification Environment
For testing each component
a verification environment is built using
SystemVerilog language.
The environment uses lookup-tables
with precalculated values for S-box
and multiplication in GF(2).
WAVEFORM Simulation
Hardware Resources
Digilent Zybo
Digilent Pmod KYPD
Digilent Pmod BLE
Digilent Pmod OLD
Project Status
AES CRYTO Core -> Verification Process
IP INTEGRATOR -> DOING
UART Transmission -> ToDo
KEY-Configuration and Display using hardware resources -> ToDo
Bluetooth transmission -> ToDo
Bluetooth Receiver application -> ToDo
Task Management
Conclusion
AES CryptoCore provides Real-Time Encryption/Decryption.
The algorithm can be implemented with very high throughputs in modern
ASIC or FPGA technology.
Symmetric Encryption with today’s ciphers is extremely fast.
In this project, AES CryptoCore is used to provide a secure Bluetooth
Transmission.