This project implements a substitution cipher decryption tool that utilizes a hill-climbing algorithm for optimizing key discovery. It supports both Caesar and substitution ciphers, providing an interactive command-line interface for users.
Some of the features are
- Decryption Tool: Decrypts substitution ciphers using a hill-climbing algorithm for effective key optimization.
- User-Friendly Interface: Interactive command-line interface for easy encryption and decryption of messages.
- File Input Support: Read ciphertext from files, improving efficiency for larger datasets.
- Quality Scoring: Implements a scoring mechanism using quadgram analysis to evaluate the "English-ness" of decrypted text.