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.
- β RSA (Public-Key Cryptosystem) View
- β AES (Advanced Encryption Standard) View
- β DES (Data Encryption Standard) View
-β MD Family Hash Algorithms View
- MD5 View
- MD4 View
- MD2 View
- β SECURE HASHING ALGORITHMS View
- β SHA-1 View
- β
SHA-2 Family:
- SHA-224 View
- SHA-256 View
- SHA-384 View
- SHA-512 View
- SHA-512/t variants SHA-512/224 SHA-512/256
- β SHA-3 Family:
- β
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
- β HMAC (Hash-based Message Authentication Code) View
- β KMAC128/256 - Keccak-based Message Authentication Code View
- β KMACXOF128/256 - KMAC with Extendable Output View
- β Diffie-Hellman Key Exchange View
- β Ascon AEAD Encryption & Decryption View
- β Ascon Hash Functions(Ascon-Hash256, Ascon-XOF128, Ascon-CXOF128) View
- β Photon AEAD Encryption & Decryption View
- β Photon Hash 256 view
- π§ͺ 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 ...
This project is:
- Built from scratch with no cryptographic libraries
- Designed for learning and exploration
- Meant to demystify how cryptographic primitives work
All implementations are in pure Python and organized by algorithm. Example usage and testing can be found in respective directories or test files.
You're welcome to fork this repo, suggest improvements, or even add new algorithms. Let's build a strong crypto foundation together!
MIT License