Erlang solutions to the Matasano Crypto Challenges (http://cryptopals.com/). Solutions to the remaining challenges are written in Go and can be found here.
- Convert hex to base64 (problem, solution)
- Fixed XOR (problem, solution)
- Single-byte XOR cipher (problem, solution)
- Detect single-character XOR (problem, solution)
- Implement repeating-key XOR (problem, solution)
- Break repeating-key XOR (problem, solution)
- AES in ECB mode (problem, solution)
- Detect AES in ECB mode (problem, solution)
- Implement PKCS#7 padding (problem, solution)
- Implement CBC mode (problem, solution)
- An ECB/CBC detection oracle (problem, solution)
- Byte-at-a-time ECB decryption (Simple) (problem, solution)
- ECB cut-and-paste (problem, solution)
- Byte-at-a-time ECB decryption (Harder) (problem, solution)
- PKCS#7 padding validation (problem, solution)
- CBC bitflipping attacks (problem, solution)
- The CBC padding oracle (problem, solution)
- Implement CTR, the stream cipher mode (problem, solution)
- Break fixed-nonce CTR mode using substitions (problem, solution)
- Break fixed-nonce CTR statistically (problem, solution)
- Implement the MT19937 Mersenne Twister RNG (problem, solution)
- Crack an MT19937 seed (problem, solution)
- Clone an MT19937 RNG from its output (problem, solution)
- Create the MT19937 stream cipher and break it (problem, solution)