Christopher is a comprehensive command-line cryptography toolkit designed for learning, experimenting with, and understanding classical encryption algorithms. It provides a wide collection of historical ciphers, hashing utilities, and encryption mechanisms in a single interactive interface. This project aims to demonstrate how traditional cryptographic systems work internally by allowing users to encrypt, decrypt, and even attempt to crack various classical ciphers. It serves as an educational resource for students, cybersecurity beginners, and anyone interested in the foundations of cryptography. Christopher includes implementations of substitution ciphers, transposition ciphers, polyalphabetic systems, hash functions, and even a simulation of the Enigma machine. The tool is built with modular architecture, making it easy to extend with additional algorithms and cryptographic techniques.
Note: The majority of the included ciphers are classical and are intended for educational purposes only. They should not be used for real-world security.
What is Cryptography? Here
- 🔐 Implementation of multiple classical encryption algorithms
- 🔄 Support for both encryption and decryption operations
- 🧠 Cipher Cracking and basic cryptanalysis capabilities
- 🧩 Modular architecture for easy extension
- 🎓 Educational focus with practical experimentation support
Details
- Atbash Cipher
- Caesar Cipher
- Encryption
- Decryption
- Crack
- Affine Cipher
- Encryption
- Decryption
- Crack
- Vigenère Cipher
- Encryption
- Decryption
- Crack
- Reverse Text
- Play Fire Cipher
- Encryption
- Decryption
- Rail Fence Cipher
- Encryption
- Decryption
- Crack
- Scytale Cipher
- Encryption
- Decryption
- Polybius Square
- Columnar Cipher
- Encryption
- Decryption
- Crack
- Simple Substitution Cipher
- Encryption
- Decryption
- Crack
- Baconian Cipher
- Morse Code
- Rot13 Cipher
- One-Time Pad Cipher
- Encryption
- Decryption
- Hash Function
- Hash Generator
- MD2
- MD4
- MD5
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
- sha3-224
- sha3-256
- sha3-384
- sha3-512
- shake-128
- shake-256
- blake2b
- blake2s
- NTLM
- adler32
- crc32
- Hash Cracker
- MD5
- SHA1
- SHA256
- SHA384
- SHA512
- Hash Generator
- Enigma Machine
- Public Key Cipher
- Encryption
- Decryption
Note: Christopher isn't compatible with python2, run it with python3 instead.
I suggest you definitely use cmder.
git clone https://github.com/mammaddrik/christopher.git
cd christopher
python pip install -r requirements.txt
python christopher.py
install docker on your system. docker
docker build -t christopher .
docker run -ti christopher
Note: Christopher isn't compatible with python2, run it with python3 instead.
git clone https://github.com/mammaddrik/christopher.git
cd christopher
python pip install -r requirements.txt
python christopher.py
| Requirements | Command | Link | Version |
|---|---|---|---|
| pycryptodome | python pip install pycryptodome |
pypi | 3.23.0 |
| passlib | python pip install passlib |
pypi | 1.7.4 |
Note: You may encounter an error while installing this requirements. If an error occurs, use the following command.
python -m pip install --upgrade pip
python pip install -r requirements.txt
Follow on screen instructions to interact with the program: choose from encryption, decryption, hash generation, or cryptanalysis options, enter your messages or keys, and the tool will process and display the output directly in the terminal.
Christopher is licensed under MIT License.




