Skip to content

Latest commit

 

History

History
31 lines (19 loc) · 1.45 KB

File metadata and controls

31 lines (19 loc) · 1.45 KB

cryptopals

This repository contains my work on the cryptopals challenges, a set of programming challenges meant to teach the basics of real-world cryptography.

The bulk of the complexity is implemented in src/bytevector.cpp and src/Crypto.cpp, which are a library I wrote to simplify handling strings of bytes in C++ and a basic cryptography library built on top of libssl's AES-ECB implementation, respectively.

The most interesting challenge, in my opinion, is Challenge 17, which involves a padding oracle attack on AES-CBC. You can see my solution here.

usage

After cloning the repository, you can compile the challenges using make. For example, to compile challenge 13's code, you would write:

$ make p13

This will generate the executable p13 in the current directory.

If you want to compile all challenges, just run:

$ make

Finally, to remove executables and intermediate build files, run:

$ make clean