bee-san/Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
What it solves
ciphey is a decoding tool designed to automatically identify and decrypt encoded or encrypted text. It solves the problem of manually guessing which encoding or cipher (such as Base64, Caesar, or Rot13) was used to hide a message, automating the process of trying multiple decoders and paths to find the plaintext.
How it works
The tool uses an A* search algorithm to explore potential decoding paths, prioritizing decoders based on heuristics, historical success statistics, and popular pairs of encodings. It employs a variety of techniques to include:
- Plaintext Detection: It uses a combination of quadgram/trigram analysis, English dictionary checks, and a database of over 500 regex patterns for API keys and MAC addresses to identify when a text has been successfully decoded.
- AI Enhancement: It can optionally use a BERT-based model from the
gibberish-or-notcrate to increase plaintext detection accuracy by roughly 40%. - Performance: Written in Rust, it utilizes multi-threading via the Rayon library and a fast Rust-based identifier called LemmeKnow to quickly determine string types (e.g., IP addresses).
- Search Optimization: It prunes search trees and caches results to avoid redundant calculations.
Who it’s for
It is primarily intended for CTF (Capture The Flag) participants, security researchers, and anyone needing to quickly decode mysterious strings of text.
Highlights
- Automated Decoding: Supports 16+ decoders and can handle multi-level decryptions (e.g., Rot13 → Base64 → Rot13).
- AI-Powered Detection: Optional BERT-based model for significantly more accurate gibberish detection.
- High Speed: Built in Rust for high-performance multi-threaded decoding.
- CTF-Grounded Testing: Tested against a dataset of over 15,000 CTF challenges and their writeups to ensure real-world effectiveness.
Related
- Project
- Project
- Project
- Project
- Project