Skip to content

My solutions to the cryptoPals challenge series. This project is a hands-on approach to exploring attacks on cryptographic systems as well as enhancing my proficiency in Rust.

License

Notifications You must be signed in to change notification settings

Yug-Shah/cryptopals

Repository files navigation

cryptopals

Solving the cryptopals challenges and learning programming in Rust

How to Run

To run the entire set of challenges at once:

cd cryptopals
cargo run --bin set<K> (replace K with set number 1,2, ... 8)

Challenges

Set 1 - Basics

  • Challenge 1: Convert hex to base64
  • Challenge 2: Fixed XOR
  • Challenge 3: Single-byte XOR cipher
  • Challenge 4: Detect single-character XOR
  • Challenge 5: Implement repeating-key XOR
  • Challenge 6: Break repeating-key XOR
  • Challenge 7: AES in ECB mode
  • Challenge 8: Detect AES in ECB mode

Set 2 - Block Crypto

  • [] Challenge 9: Implement PKCS#7 padding
  • [] Challenge 10: Implement CBC mode
  • [] Challenge 11: An ECB/CBC detection oracle
  • [] Challenge 12: Byte-at-a-time ECB decryption (Simple)
  • [] Challenge 13: ECB cut-and-paste
  • [] Challenge 14: Byte-at-a-time ECB decryption (Harder)
  • [] Challenge 15: PKCS#7 padding validation
  • [] Challenge 16: CBC bitflipping attacks

About

My solutions to the cryptoPals challenge series. This project is a hands-on approach to exploring attacks on cryptographic systems as well as enhancing my proficiency in Rust.

Resources

License

Stars

Watchers

Forks

Languages