Program that encrypts plaintext and (attempts) to decrypt ciphertexts, encrypted via a mono-alphabetic substitution cipher. Replaces letters based on frequency / n-gram analysis. Tried to incorporate hill-climbing algorithm by measuring the fitness of resulting texts to find the best key.
python
cryptography
encryption
cryptanalysis
cipher
algorithms
n-grams
decryption
hill-climbing
substitution
frequency-analysis
substitution-cipher
decipher
symmetric-key-cryptography
symmetric-encryption-algorithm
symmetric
monoalphabetic
cryptanalytical
monoalphabetic-cipher
-
Updated
Oct 3, 2020 - Python