cryptography ip-cores in vhdl / verilog
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
T. Meissner 302ad79ced Add CBC-AES testbench using VHPIdirect & openSSL as reference 3 years ago
.github Add CBC-AES testbench using VHPIdirect & openSSL as reference 3 years ago
aes aes: fix build arg order 3 years ago
cbcaes Add CBC-AES testbench using VHPIdirect & openSSL as reference 3 years ago
cbcdes Update CBCDES unit and tests 4 years ago
cbcmac_aes Add more VHDL-synthesis Makefiles; use src of des instead of local copies; minor refactoring 4 years ago
cbcmac_des Add more VHDL-synthesis Makefiles; use src of des instead of local copies; minor refactoring 4 years ago
cbctdes Add Makefile for synthesis of CBCTDES 3 years ago
ctraes Refactor conditions in counter process; add info about submodule update 3 years ago
des Update & restructure DES testbench to use openSSL and random simuli 3 years ago
lib Bump OSVVM to version 2020.12a 3 years ago
tdes Minor update to TDES sim makefile and testbench 3 years ago
.gitignore added ignore file 10 years ago
.gitmodules Add OSVVM as submodule 4 years ago
LICENSE.textile added GPLv2 license file 9 years ago
README.md Add CBC-AES testbench using VHPIdirect & openSSL as reference 3 years ago

README.md

simulation

cryptocores

Cryptography IP-cores & tests written in VHDL / Verilog

The components in this repository are not intended as productional code. They serve as proof of concept, for example how to implement a pipeline using only (local) variables instead of (global) signals. Furthermore they were used how to do a VHDL-to-Verilog conversion for learning purposes.

The testbenches to verify DES, AES, CTR-AES and CBC-AES are examples how useful GHDLs VHPIdirect is. They use openSSL as reference models to check the correctness of the VHDL implementation.

HINT:

The tests of some algorithms use the OSVVM library, which is redistributed as submodule. To get & initialize the submodule, please use the --recursive option when cloning this repository. Use git submodule update --recursive to update the submodule if you already chaked out the main repository.