Skip to content

πŸ” A collection of cryptographic algorithms implemented from scratch in Python, including hashing, encryption, and secure key exchange.

License

Notifications You must be signed in to change notification settings

prasanna00019/Crypto-Toolkit-Scratch

Repository files navigation

πŸ” Crypto-Toolkit-Scratch

A comprehensive repository of cryptographic algorithms implemented from scratch in Python. This project covers a wide range of encryption, decryption, MAC and hashing techniques β€” ideal for educational and reference purposes.


πŸ“Œ Currently Implemented

πŸ”’ Encryption Algorithms

  • βœ… RSA (Public-Key Cryptosystem) View
  • βœ… AES (Advanced Encryption Standard) View
  • βœ… DES (Data Encryption Standard) View

🧠 Hashing Algorithms

-βœ… MD Family Hash Algorithms View

  • MD5 View
  • MD4 View
  • MD2 View
  • βœ… SECURE HASHING ALGORITHMS View
  • βœ… SHA-1 View
  • βœ… SHA-2 Family:
  • βœ…SHA-3 Family:
    • SHA-3 all variants View
    • Keccak all variants View
    • SHAKE all variants View
  • βœ… SHA-3-Derived-Functions
    • View all of them
    • cSHAKE128/256 - Customizable SHAKE Functions
    • TupleHash128/256 - Hash Function for Tuple Data
    • TupleHashXOF128/256 - TupleHash with Extendable Output
    • ParallelHash128/256 - Parallel Hash Function
    • ParallelHashXOF128/256 - ParallelHash with Extendable Output
  • βœ… RIPEMD Hash Family View
  • βœ… Tiger-192 Hash Algorithm View
  • βœ… TurboShake Hash View

πŸ›‘οΈ Message Authentication Codes (MACs)

  • βœ… HMAC (Hash-based Message Authentication Code) View
  • βœ… KMAC128/256 - Keccak-based Message Authentication Code View
  • βœ… KMACXOF128/256 - KMAC with Extendable Output View

Key Exchange Algorithms

  • βœ… Diffie-Hellman Key Exchange View

Digital Signatures

  • βœ… Elgamal Digital Signature View
  • βœ… Schnorr Digital Signature View

Lightweight Cryptography

  • βœ… Ascon AEAD Encryption & Decryption View
  • βœ… Ascon Hash Functions(Ascon-Hash256, Ascon-XOF128, Ascon-CXOF128) View
  • βœ… Photon AEAD Encryption & Decryption View
  • βœ… Photon Hash 256 view

🚧 Work in Progress

  • πŸ§ͺ Will be adding more hashing and encryption algorithms in the future, including:
    • Whirlpool Hash
    • Elliptic Curve Cryptography (ECC)
    • Blake Hash and many more as I research and experiment ...

πŸ› οΈ Purpose

This project is:

  • Built from scratch with no cryptographic libraries
  • Designed for learning and exploration
  • Meant to demystify how cryptographic primitives work

πŸ’‘ Usage

All implementations are in pure Python and organized by algorithm. Example usage and testing can be found in respective directories or test files.


🀝 Contributions

You're welcome to fork this repo, suggest improvements, or even add new algorithms. Let's build a strong crypto foundation together!


πŸ“œ License

MIT License