This project is a collection of classical cryptography tools, offering both a Command Line Interface (CLI) and a Graphical User Interface (GUI) to encrypt, decrypt, and perform brute-force attacks on various historical ciphers.
- Support for multiple ciphers: ROT (Caesar), Substitution, Atbash, Vigenère, Rail Fence, Columnar Transposition, and Numeric Value.
- Operations: Encryption, decryption, key generation, and detailed tool information.
- Dual Interface: Use the power of the terminal or the convenience of a graphical window.
- Flexible Input: Enter text directly or load text files.
Ensure you have Python 3 installed. To use the graphical interface, install the necessary dependencies:
pip install customtkinter CTkMessageboxThe main tool is crypto.py. The general syntax is:
python3 crypto.py [TOOL] [OPERATION] [-t TEXT/FILE] [-k KEY/FILE]-
Caesar Cipher (ROT):
python3 crypto.py --rot -e -t "Hello World" -k 3 -
Atbash Cipher:
python3 crypto.py --atbash -e -t "Hello World" -
Brute Force on Rail Fence:
python3 crypto.py --railfence -b -t "HAOMUDNLO" -
Generate a key for Substitution:
python3 crypto.py --subst -g
To launch the graphical interface, simply run:
python3 cryptogui.pyThe GUI allows you to select the tool and operation intuitively, facilitating the loading of files for text and keys.
| Tool | Operations | Key Type |
|---|---|---|
| ROT | Encrypt, Decrypt, Brute Force, Generate | Integer (int) |
| SUBST | Encrypt, Decrypt, Generate | 26-character string |
| ATBASH | Encrypt, Decrypt | N/A |
| VIGENERE | Encrypt, Decrypt, Generate | String (str) |
| RAIL FENCE | Encrypt, Decrypt, Brute Force, Generate | Integer (int) |
| COLUMNAR | Encrypt, Decrypt, Generate | String (str) |
| NUMVAL | Encrypt, Decrypt | N/A |
If you wish to contribute or add new tools, refer to the following guide: