A series of spikes to help me work through the Paar and Pelzl book Understanding Cryptography.
The intent is not to write the most performant code. in fact much of this could be optimized even in it's current state by the introduction of memoize around all of the deterministic functions.
Also I wanted to keep this project self contained, so I provided my own implementation of "functional" list functions. The only external dependencies are Mocha and Chai for testing.