doctor3w / HLS-Cryptography-Accelerator

A crypto accelerator written for HLS to an FPGA that actually makes it slower than running it on your computer
16 stars 3 forks source link
fpga-accelerator high-level-synthesis

HLS Crypto Accelerator: AES+RSA+SHA

This project is composed of three subprojects: AES, RSA, and SHA. Each of these projects were build for use on the Zedboard's Xilinx Zynq-7000.

AES

The entire AES implementation is in the aes directory:

The Makefile contains all the commands necessary to build the software.

Running vivado_hls -f run.tcl will synthesize the software.

RSA

The entire RSA implementation is in the rsa directory:

There are some additional files as well:

The Makefile contains all the command necessary to build the software:

Running vivado_hls -f run.tcl will generate rsa.prj. Running ./run_bitstream rsa will generate the bitstream, rsa.bit.

SHA

The entire HLS implementation can be found symlinked in the ecelinux directory:

The Zedboard's host program can be found in the zedboard directory.

Building

To generate the bitstream, run "vivado_hls run.tcl" in the ecelinux directory. Note you must be using the 2017 version. The bitstream can be generated afterwards with the ./run_bitstream.sh script.

To generate the Zedboard's host program, run make in the Zedboard directory.

Running

Flash the bitstream to a Zedboard, then excute the host program that was compiled in the previous step.