Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 1.44 KB

README.md

File metadata and controls

29 lines (18 loc) · 1.44 KB

HASH

HASH stands for Hardware Acceleration of Secure Hashing. This repo is an engineering study of SHA-256 algorithm parallelized using python and pyCUDA.

The cpu source code (developed with anaconda python 3.7) implementation adapts from the SHA-256 wikipedia artcile pseudocode here: https://en.wikipedia.org/wiki/SHA-2#Pseudocode

contact: cb3534@columbia.edu

The cpu implementation is unit tested and is consistent with hashing algorithms that can be found online.

To run:

  • Ensure CUDA, Python, matplotlib, and numpy are installed and runnable on your machine.
  • Clone this repo
  • Open "gpu/sha256.py" and modify the "files" array in main to run the code with whichever files you like. Large files will take longer
  • Run "python sha256.py"
  • Optional, modify the matplotlib code at the bottom to produce graphs. By default, the plot for the execution time of the copy phase will display. More details are in the included PDF.

Useful links in making this: