Cryptopals solutions¶

Python notebook solutions to the cryptopals crypto challenges. What is cryptopals? From the website:

This is a different way to learn about crypto than taking a class or reading a book. We give you problems to solve. They're derived from weaknesses in real-world systems and modern cryptographic constructions. We give you enough info to learn about the underlying crypto concepts yourself. When you're finished, you'll not only have learned a good deal about how cryptosystems are built, but you'll also understand how they're attacked.

Solutions:

  • Set 1: Basics
  • Set 2: Block crypto
  • Set 3: Block & stream crypto
  • Set 4: Stream crypto and randomness
  • Set 5: Diffie-Hellman and friends
  • Set 6: RSA and DSA
  • Set 7: Hashes (all but challenge 55)