You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
David Ashby 0dde966e66 add info on talk and link to slides 5 years ago
README.md add info on talk and link to slides 5 years ago
shamwow.rb add slides 6 years ago
shamwow_test.rb add sha1 function 6 years ago
slides-with-notes.pdf add slides 6 years ago
slides.key add slides 6 years ago
slides.pdf add slides 6 years ago

README.md

SHAmwow

Sometimes you just want to understand how your hashing algorithms work, so you implement them yourself.

It should go without saying that this was just for fun, and you should never, ever, ever roll your own cryptography primatives for any purpose other than education!

Talk

I gave a talk on this project at Papers We Love NYC! The PDF, Keynote file, and PDF-with-nodes of the slides are also in this repo.

sha1

The sha1 function in shamwow.rb implements the SHA1 hashing function in Ruby, outputting the 160-bit hash as a hexadecimal string.

sources

sha2

The sha2 function in shamwow.rb implements the SHA-256 hashing function in Ruby, outputting the 256-bit hash as a hexadecimal string.

Sources

Tests

shamwow_test.rb contains a few sanity tests for the bit-rotation functions and for the hashes themselves, testing against the output of the Digest gem in the standard library.

Obligatory

ShamWOW