Implementation of cryptographic algorithms in Python & SageMath.
- Symmetric Ciphers
- Shift Cipher
- Vigenere Cipher
- Affine Cipher
- Enigma Machine Cipher
- Stream Cipher
- TEA (A Tiny Encryption Algorithm)
- DES (Data Encryption Standard)
- AES (Advanced Encryption Standarad)
- Modes of AES
- ECB (Electronic Code Book mode)
- CBC (Cipher Block Chaining mode)
- CFB (Cipher Feedback mode)
- OFB (Output Feedback mode)
- CTR (Counter mode)
- GCM (Galois Counter Mode)
- SM3
- SM4
- Asymmetric Ciphers
- RSA
- Elgamal
- ECC
- NTRUEncrypt (broken implementation)
- GGH
- Attacks & Algorithms
- Index of Coincidence & Chi-squared Statistic
- Shank's Babystep-Giantstep Algorithm
- Pollard's rho Method
- Gram-Schmidt Algorithm
- Babai's Algorithm
- The LLL Lattice Reduction Algorithm