______ _ _ _ _
/ ____(_) | | | | | |
| | _ _ __ | |__ ___ _ __ | | __ _| |__ ___
| | | | '_ \| '_ \ / _ \ '__|| | / _` | '_ \/ __|
| |____| | |_) | | | | __/ | | |___| (_| | |_) \__ \
\_____|_| .__/|_| |_|\___|_| |______\__,_|_.__/|___/
| |
|_|
A guided cryptanalysis workbench for interactive codebreaking
A public codebreaking workbench for learning, exploring, and solving ciphers.
π Website: https://cipherlabs.eu
CipherLabs is a Flask-based cryptanalysis platform focused on interactive cipher solving, guided analysis workflows, and educational codebreaking.
Instead of offering isolated tools, CipherLabs aims to provide a real cryptanalysis workbench where users progressively analyze, classify, and solve encrypted messages.
CipherLabs bridges the gap between:
- π Educational cryptography
- π§ Practical codebreaking
- π Guided cryptanalysis workflows
- π Collaborative solving
Users do not simply read about ciphers β they actively investigate them.
- Browse solved and unsolved ciphers
- Cipher metadata and contextual information
- Public cipher archive
- Cipher glossary / lexicon
- Cipher classification engine
- Guided solving recommendations
- Workbench phases:
- Identify
- Analyze
- Solve
- Validate
- Notes
- Frequency analysis
- Index of Coincidence (IoC)
- Repeated sequence detection
- Language frequency matching
- Digram similarity analysis
- Word pattern analysis
- Caesar brute force analysis
- Substitution solver workspace
- Mapping confidence engine
- Progressive plaintext reveal
- Ranked substitution candidates
- Substitution mapping assistant
- Workspace persistence
- Save solving progress
- Save mappings and notes
- Continue solving sessions later
- Backend: Flask
- Database: PostgreSQL
- Authentication: Flask-Login
- Architecture: Modular layered architecture
entities β processors β database
blueprints/ Flask routes
cipher/ Cipher logic and analysis tools
templates/ Workbench and UI templates
static/ CSS and front-end assets
reference/ Static datasets and dictionaries
git clone https://github.com/yourusername/cipherlab.git
cd cipherlabpython -m venv venv
venv\Scripts\activatepip install -r requirements.txtCreate a .env file:
FLASK_SECRET_KEY=your-secret-key
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=cipherlab
POSTGRES_USER=cipherlab_user
POSTGRES_PASSWORD=your-passwordCREATE DATABASE cipherlab;
CREATE USER cipherlab_user WITH PASSWORD 'your-password';
GRANT ALL PRIVILEGES ON DATABASE cipherlab TO cipherlab_user;python setup.pypython app.pyVisit:
http://127.0.0.1:5000
- Cipher CRUD system
- Frequency analysis
- IoC analysis
- Repeated sequence detection
- Cipher classification engine
- Guided workbench phases
- Substitution solver
- Mapping confidence engine
- Progressive plaintext reveal
- Workspace persistence
- Cipher glossary
- Click-to-accept mappings
- Conflict highlighting
- Auto-detected probable plaintext words
- Trigram analysis
- N-gram scoring engine
- Interactive plaintext reconstruction
- Workspace history / undo system
- Full Vigenère workflow
- Kasiski examination tools
- Columnar transposition workflows
- Collaborative solving system
- Public challenge archive
- Team-based cryptanalysis
- AI-assisted solving guidance
CipherLabs is under active development.
Feedback, ideas, testing, and contributions are welcome.
- Codebreaking β Elonka Dunin & Klaus Schmeh
- Historical cryptanalysis workflows
- Classical cipher solving communities
CipherLabs is intended for educational, historical, and research purposes only.
Every cipher hides a structure.
CipherLabs is where you learn to uncover it.