These are my solutions to the Cryptopals Crypto Challenges.
Solutions for set X are located in src/setX/*.cpp
. Common library code is
located in src/*.cpp
, with the corresponding headers in src/*.hpp
. Each
challenge is implemented as a single function in its source file, with the
main
function in that file providing a test case.
make
gcc
orclang
valgrind
- Available on Linux and macOS Sierra 10.12 and below
openssl
-
On Linux, the headers should already be included in
/usr/include/openssl
. -
On macOS, the headers can be installed with
brew
:$ brew install openssl $ cd /usr/local/include/ $ ln -s ../opt/openssl/include/openssl .
-
To build the solutions:
$ make all
To build the solutions with debug symbols:
$ make debug
The resulting object files, libraries, and binaries are placed in the build/
directory.
To run tests:
$ make test
To run the tests with valgrind
:
$ make valgrind