h4cker/crypto/challenges
2023-08-15 09:44:56 -04:00
..
01_Classic_Caesar_Cipher.md Create 01_Classic_Caesar_Cipher.md 2023-08-15 09:43:27 -04:00
02_Diffie_Hellman_Key_Exchange.md Create 02_Diffie_Hellman_Key_Exchange.md 2023-08-15 09:44:56 -04:00
README.md Create README.md 2023-08-15 09:41:02 -04:00

A Few Cryptographic Challenges

Welcome to the fascinating world of cryptography! Cryptography is more than just codes and ciphers; it's the backbone of secure communication. I created a series of challenges that are designed to engage you in hands-on practice, enhance your understanding, and ignite your curiosity in cryptography (even with sample code snipets). In this series of challenges, you will have the opportunity to explore different aspects of cryptography, from historical ciphers to modern cryptographic algorithms.

What You Will Learn:

  1. Classical Cryptography: Uncover the secrets of historical ciphers like the Vigenère and Substitution Ciphers.
  2. Public Key Cryptography: Dive into modern cryptosystems like RSA and Elliptic Curve Cryptography.
  3. Cryptographic Attacks: Understand the importance of strong parameters and how weak implementations can be exploited.
  4. Key Exchange Protocols: Explore how keys are securely exchanged between parties, including the renowned Diffie-Hellman key exchange.

Challenges Overview:

  • Beginner Level: For those new to cryptography, start with frequency analysis and simple decryption techniques.
  • Intermediate Level: Ready for more? Delve into key exchanges, elliptic curves, and the foundations of modern cryptography.
  • Advanced Level: For the brave and curious, explore cryptographic weaknesses and learn how to forge digital signatures (in a controlled, ethical manner).

The following are the challenges included here.

  1. Classic Caesar Cipher: Understand and decrypt a message encrypted with the Caesar cipher.
  2. Diffie-Hellman Key Exchange: Simulate the Diffie-Hellman key exchange algorithm.
  3. Digital Signature Forgery (Basic): Forge a digital signature for a given message.
  4. Classic Vigenère Cipher: Decrypt a Vigenère cipher using a known keyword.
  5. Implement Diffie-Hellman Key Exchange (Intermediate): Compute and validate public keys using Diffie-Hellman.
  6. Digital Signature Forgery (Advanced): Forge a digital signature exploiting RSA weaknesses.
  7. Frequency Analysis Attack on Substitution Cipher: Decrypt a substitution cipher using frequency analysis.
  8. Elliptic Curve Key Pair Generation: Generate and validate an elliptic curve key pair.
  9. Attack on Weak RSA Modulus: Determine the private key of an RSA system with weak parameters.