This repository has my cryptopals solutions, which are a set of cryptography-related programming challenges. Each challenge is run as a test, stored under sets/setN/chalM_test.go for some set N and challenge M. The rest of the codes are stored under pkg and internal.
To run a specific set:
# N for set number
go test ./sets/setN
# e.g. running set 1 with verbose flag
go test ./sets/set1 -vTo run a specific challenge, similarly:
go test ./sets/setN/chalM_test.go -v- Add
internal/testingutilities that prints expected / received kind of errors.
- Set 1: Basics
- Challenge 1: Convert
hextobase64 - Challenge 2: Fixed XOR
- Challenge 3: Single-byte XOR cipher
- Challenge 4: Detect single-character XOR cipher
- Challenge 5: Implement repeating-key XOR
- Challenge 6: Break repeating-key XOR there is a bug here?
- Challenge 7: AES in ECB mode
- Challenge 8: Detect AES in ECB mode
- Challenge 1: Convert
- Set 2: Block crypto
