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 -v
To run a specific challenge, similarly:
go test ./sets/setN/chalM_test.go -v
- Add
internal/testing
utilities that prints expected / received kind of errors.
- Set 1: Basics
- Challenge 1: Convert
hex
tobase64
- 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