hplp / aes_chisel

Implementation of the Advanced Encryption Standard in Chisel

Version Matrix

Implementation of the Advanced Encryption Standard (AES) in Chisel

Motivation

  • Implement an open-source, transparent, secure encryption module in Chisel
  • Equip developers with ready-to-use, efficient, parameterizable, encryption macros for RISC-V systems
  • Compare performance and resource utilization of generated HDL with pure Verilog and Vivado HLS
  • Compare code size with Verilog, Python, C++ and Vivado HLS as a index of development productivity

Features

  • (more to come)
  • Compact AES Cipher and Inverse Cipher Chisel implementation
  • Basic side-channel attack defense based on LFSR noise
  • IDE (IntelliJ) compatible

Instructions

  • Run ./aes_tests.sh > logfile.txt to run all tests and store console output into logfile
  • Generated Verilog will be in directory /test_run_dir
  • Either gtkwave or dinotrace (or other wave viewer) can be used to display .vcd files

References