/cryptopals

Solutions for the cryptopals challenges - https://cryptopals.com/

Primary LanguageC++Apache License 2.0Apache-2.0

Cryptopals

This repository contains my personal solutions to the Cryptopals challenges. See docs/challenges.md for my notes about the challenges.

Building

This project uses the Meson build system. To build the code, use the following commands:

meson setup build/
ninja -C build/ all

I'm using gcc-10 to take advantage of the latest C++20 standards. You will need to patch build errors in the abseil-cpp project (it doesn't support C++20 yet).

abseil-cpp patches

The only patch I've encountered so far is replacing the following using declarations in fixed_array.h, so that they match the values below.

using pointer = T*;
using const_pointer = T const*;
using reference = T&;
using const_reference = T const&;

Testing

Tests are written with Googletest and executed from Meson. To run the tests, use the following commands:

ninja -C build/ test