Skip to content

Ciphey: Automatically Cracks Encryptions, Decodes Encodings, and Breaks Hashes Without a Key

GitHub: https://github.com/Ciphey/Ciphey
Last Commit: October 12th, 2023


    
Fully automated decryption/decoding/cracking tool using natural language processing & artificial intelligence, along with some common sense.


Installation Guide

🐍 Python

🐋 Docker (Universal)

🍎 MacPorts (macOS)

🍺 Homebrew (macOS/Linux)

python3 -m pip install ciphey --upgradedocker run -it --rm remnux/cipheysudo port install cipheybrew install ciphey
LinuxMac OSWindows
GitHub Workflow StatusGitHub Workflow StatusGitHub Workflow Status

🤔 What is this?

Input encrypted text, get the decrypted text back.

"What type of encryption?"

That's the point. You don't know, you just know it's possibly encrypted. Ciphey will figure it out for you.

Ciphey can solve most things in 3 seconds or less.

Ciphey aims to be a tool to automate a lot of decryptions & decodings such as multiple base encodings, classical ciphers, hashes or more advanced cryptography.

If you don't know much about cryptography, or you want to quickly check the ciphertext before working on it yourself, Ciphey is for you.

The technical part. Ciphey uses a custom built artificial intelligence module (AuSearch) with a Cipher Detection Interface to approximate what something is encrypted with. And then a custom-built, customisable natural language processing Language Checker Interface, which can detect when the given text becomes plaintext.

No neural networks or bloated AI here. We only use what is fast and minimal.

And that's just the tip of the iceberg. For the full technical explanation, check out our documentation.

✨ Features

  • 50+ encryptions/encodings supported such as binary, Morse code and Base64. Classical ciphers like the Caesar cipher, Affine cipher and the Vigenere cipher. Along with modern encryption like repeating-key XOR and more. For the full list, click here
  • Custom Built Artificial Intelligence with Augmented Search (AuSearch) for answering the question "what encryption was used?" Resulting in decryptions taking less than 3 seconds.
  • Custom built natural language processing module Ciphey can determine whether something is plaintext or not. Whether that plaintext is JSON, a CTF flag, or English, Ciphey can get it in a couple of milliseconds.
  • Multi Language Support at present, only German & English (with AU, UK, CAN, USA variants).
  • Supports encryptions and hashes Which the alternatives such as CyberChef Magic do not.
  • C++ core Blazingly fast.

🔭 Ciphey vs CyberChef

🔁 Base64 Encoded 42 times

Name⚡ Ciphey ⚡🐢 CyberChef 🐢
GifThe guy she tells you not to worry aboutYou
Time2 seconds6 seconds
Setup
  • Run ciphey on the file
  • Set the regex param to "{"
  • You need to know how many times to recurse
  • You need to know it's Base64 all the way down
  • You need to load CyberChef (it's a bloated JS app)
  • Know enough about CyberChef to create this pipeline
  • Invert the match

Note The gifs may load at different times, so one may appear significantly faster than another.
A note on magic CyberChef's most similar feature to Ciphey is Magic. Magic fails instantly on this input and crashes. The only way we could force CyberChef to compete was to manually define it.

We also tested CyberChef and Ciphey with a 6gb file. Ciphey cracked it in 5 minutes and 54 seconds. CyberChef crashed before it even started.

📊 Ciphey vs Katana vs CyberChef Magic

Name⚡ Ciphey ⚡🗡️ Katana 🗡️🐢 CyberChef Magic 🐢
Advanced Language Checker
Supports Encryptions
Releases named after Dystopian themes 🌃
Supports hashes
Easy to set up
Can guess what something is encrypted with
Created for hackers by hackers

🎬 Getting Started

If you're having trouble with installing Ciphey, read this.

Installation GuideDocumentationDiscordDocker Image (from REMnux)
📖 Installation Guide📚 Documentation🦜 Discord🐋 Docker Documentation

🏃‍♀️Running Ciphey

There are 3 ways to run Ciphey.

  1. File Input ciphey -f encrypted.txt
  2. Unqualified input ciphey -- "Encrypted input"
  3. Normal way ciphey -t "Encrypted input"

To get rid of the progress bars, probability table, and all the noise use the quiet mode.

ciphey -t "encrypted text here" -q

For a full list of arguments, run ciphey --help.

⚗️ Importing Ciphey

You can import Ciphey's main and use it in your own programs and code. from Ciphey.__main__ import main

Latest