gitwtfhub

wtf is ciphey?

bee-san/ciphey — explained in plain English

Analysis updated 2026-05-18

21,374RustAudience · developerComplexity · 3/5LicenseSetup · hard

TL;DR

Automatic tool that decodes and decrypts scrambled text without knowing the cipher method in advance, using smart search and multi-layer decoding.

Mindmap

mindmap
  root((Ciphey))
    What it does
      Auto-decodes text
      Multi-layer peeling
      Identifies cipher type
    How it works
      A* search algorithm
      Parallel processing
      Language detection
    Use cases
      CTF competitions
      Security research
      Encoded data analysis
    Tech stack
      Rust language
      BERT model
      Discord bot
    Features
      16+ decoders
      Timeout protection
      Library API

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Solve Capture the Flag challenges by automatically decoding mystery strings to find hidden flags.

REASON 2

Decode multi-layer encoded data where text was scrambled multiple times in sequence.

REASON 3

Quickly identify and reverse common encodings like Base64, Rot13, and hex without manual trial-and-error.

REASON 4

Analyze suspicious or obfuscated text in security research and penetration testing.

What's in the stack?

RustBERTA* searchMultithreading

How it stacks up

bee-san/cipheygleam-lang/gleamcjpais/handy
Stars21,37421,41221,215
LanguageRustRustRust
Setup difficultyhardmoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires Rust compilation, BERT model download, and GPU/CUDA setup for inference performance.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

Wtf does this do

Ciphey is an automatic decoding and decryption tool, you hand it scrambled, encoded, or encrypted text and it figures out what was done to the text and reverses it, all without you needing to know the cipher or encoding method in advance. This is particularly useful in Capture the Flag (CTF) competitions, where participants are often given mysterious encoded strings and must decode them to find hidden flags. The tool works by using a search algorithm (A* search) that tries different decoding methods in a smart order rather than brute-forcing everything. It runs fast because it can quickly identify which encoding is most likely (Base64, Rot13, hex, and so on) using a cipher identification component, and it uses multithreading to run multiple attempts in parallel. It supports 16 decoders as of the README, with more being added. A notable feature is multi-level decoding: if text was encoded multiple times in sequence (for example, Base64 applied, then Rot13 applied on top of that), Ciphey can peel away each layer automatically. It also includes a timer so it does not run forever if the text cannot be decoded. For detecting whether the decoded output is real readable text (called plaintext), it uses a combination of English language statistical checks and an optional AI model based on BERT (a type of natural language model) for higher accuracy. Ciphey is written in Rust and can be installed with cargo install ciphey. It also runs as a Discord bot and is available as a library you can build on. The tool is aimed at security researchers, CTF players, and anyone who regularly deals with encoded data.

Yoink these prompts

Prompt 1
I have a Base64-encoded string that might be Rot13'd on top. Use Ciphey to automatically decode it and tell me what the original text is.
Prompt 2
Show me how to install Ciphey with cargo and use it from the command line to decode this text: [paste your encoded text here].
Prompt 3
How do I use Ciphey as a library in my Rust project to decode unknown cipher types programmatically?
Prompt 4
Set up Ciphey as a Discord bot so my CTF team can decode strings by posting them in a channel.
Prompt 5
Explain how Ciphey's A* search algorithm decides which decoding method to try first instead of brute-forcing all 16 decoders.

Frequently asked questions

wtf is ciphey?

Automatic tool that decodes and decrypts scrambled text without knowing the cipher method in advance, using smart search and multi-layer decoding.

What language is ciphey written in?

Mainly Rust. The stack also includes Rust, BERT, A* search.

What license does ciphey use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is ciphey to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is ciphey for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.