| encrypt_text.py | Add files via upload | |
| frequency_analysis.py | Add files via upload | |
| LICENSE | Add MIT License with HKI notice | |
| README.md | update readme signed | |
| SETUP.md | Add files via upload | |
🔐 CipherVision - Classical Cipher Analysis & Visualization Tool
Python Cryptography Visualization UI Status
CipherVision is a cryptographic analysis and visualization tool designed to demonstrate how classical substitution ciphers work and how they can be broken using frequency analysis.
This project helps learners understand the fundamentals of cryptography and cryptanalysis through interactive experimentation.
✨ Features
🔑 Encryption Tool
- Encrypt plaintext using classical substitution techniques
- Simple graphical interface for experimenting with cipher text
- Educational demonstration of classical cryptographic methods
📊 Frequency Analysis Tool
- Automatically calculates letter frequency distribution
- Visualizes frequency patterns using charts
- Helps demonstrate how substitution ciphers can be broken
🖥 Visualization
- Frequency graphs using matplotlib
- Clean GUI using ttkbootstrap
- Easy experimentation with ciphertext samples
🧠 Concepts Demonstrated
CipherVision demonstrates several important cryptographic concepts:
- Classical substitution ciphers
- Frequency analysis
- Cryptanalysis techniques
- Statistical patterns in language
- Visualization for security analysis
🚀 Quick Start
1. Activate Virtual Environment
Windows:
.venv\Scripts\activate
2. Install Dependencies
pip install ttkbootstrap matplotlib numpy
or
python -m pip install matplotlib numpy ttkbootstrap
3. Run the Program
Encryption Tool
python encrypt_text.py
Frequency Analysis Tool
python frequency_analysis.py
🧪 Dummy Test Text
You can use the following text samples for testing:
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.
CRYPTOGRAPHY IS THE ART OF SECRET COMMUNICATION.
FREQUENCY ANALYSIS HELPS TO BREAK SIMPLE SUBSTITUTION CIPHERS.
LEARNING BY DOING MAKES THE PROCESS MORE FUN AND MEMORABLE.
📦 Build Standalone Application
Install PyInstaller:
pip install pyinstaller
Build executable:
pyinstaller --onefile --windowed frequency_analysis.py
pyinstaller --onefile --windowed encrypt_text.py
Executable files will appear in the dist folder.
👨💻 Contributors
- Daniel Aquaries Pratama https://github.com/danielaquaries20
- Arvin Farrel Pramuditya
📚 Educational Purpose
CipherVision is an educational project created to demonstrate how classical cryptographic systems work and how statistical methods like frequency analysis can be used to break simple substitution ciphers.
🏛 Intellectual Property
This project has been registered as Intellectual Property (HKI) in Indonesia.
Authors:
- Daniel Aquaries Pratama
- Arvin Farrel Pramuditya
📄 License
MIT License