This directory contains a basic C model of the AES unit's cipher core including OpenSSL/BoringSSL library interface functions. This infrastructure targets functional verification of the AES unit during the design phase as well as actual design verification.
In addition, this directory also contains two example applications.
aes_example
:aes_modes
:Open the makefile and update the variable BORING_SSL_PATH pointing to the BoringSSL directory on your machine. If make cannot find the crypto library in that directory, the example is automatically linked to OpenSSL instead of BoringSSL.
Simply execute
make
to build both example applications and
./aes_example KEY_LEN_BYTES
to run aes_example
. The optional argument KEY_LEN_BYTES
determines the key length in bytes and is either 16, 24, or 32 for AES-128, 192 or 256, respectively. By default, a key length of 16 Bytes is used (AES-128).
To run the second example, simply type
./aes_modes
aes.c/h
: Contains the C model of the AES unit's cipher core.crypto.c/h
: Contains BoringSSL/OpenSSL library interface functions.aes_example.c/h
: Contains the first example application including test input and expected output for ECB mode.aes_modes.c/h
: Contains the second example application including test input and expected output for ECB, CBC, CTR modes.