CrypX is a web-based cryptanalysis framework that allows users to analyze custom block cipher implementations using well-known techniques like:
- 🧮 Differential Cryptanalysis
- 📊 Linear Cryptanalysis
- 🧠 Algebraic Attacks
The goal is to support cryptographers, researchers, and students in studying and testing the strength of block ciphers through visualization and reporting.
- ✅ Upload custom Python-based block cipher implementations
- 🧠 Apply multiple cryptanalytic techniques
- 📈 Visual reports like DDT (Difference Distribution Table) and LAT (Linear Approximation Table)
- 📄 Download results in JSON format
- 🌐 Streamlit-based interactive web interface
CrypX/
│
├── core/
│ ├── interfaces.py
│ └── engine.py
|
├── attacks/
│ ├── differential.py
│ ├── linear.py
│ └── algebraic.py
│
├── utils/
│ ├── sbox.py
| ├── matrix.py
| ├── gf.py
│ └── dynamic_loader.py
│
├── reports/
│ ├── generator.py
| └── visualozer.py
│
├── main.py
├── cli.py
├── streamlit_app.py
├── requirements.txt
└── README.md
-
Upload Cipher:
- Users upload a
.pyfile containing their block cipher class (must implement methods likeget_sbox()).
- Users upload a
-
Choose Attack:
- Pick from Differential, Linear, or Algebraic attack from dropdown.
-
Visualization:
- Toggle visual representation of attack artifacts (DDT heatmaps, etc).
-
Result:
- View summary and detailed result
- Download JSON report
git clone https://github.com/intelligent-ears/CrypX.git
cd CrypXCrypX is also deployed via Streamlit Cloud:
No installation needed — upload your cipher and analyze directly in the browser!
Pull requests are welcome! Feel free to open issues or suggest new cryptanalysis methods.
To contribute:
1. Fork the repository
2. Create a feature branch
3. Submit a PR
© 2025 intelligent-ears