Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes.
Fully automated decryption/decoding/cracking software using natural language processing & artificial intelligence, along with some common sense.
What is Ciphey?
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 decryption & 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.
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 decryption 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.
Installation
Run this command:
python3 -m pip install -U ciphey
Replace python3 with python if you need to. If you’re not sure, read the previous section Detailed Explanation.
This command does many things:
- Uses Python3 (Ciphey only supports Python3.7 and above)
- The -m flag tells Python to run the module
- We are telling the version of pip inside Python3 to install something. The reason why we use Python3 to call Pip instead of calling Pip is that the version of Pip may differ from
- Python, or you may have multiple versions of Python installed or you may be in a virtual environment.
- The -U flag says “upgrade”. Sometimes Python gets stuck on an older version of Ciphey, so if it does — it says to upgrade it.
- “ciphey” is the name of the package we want to install.
For Python
- python3 -m pip install ciphey –upgrade
For Docker
- docker run -it –rm remnux/ciphey
For MacPorts (macOS)
- sudo port install ciphey
Homebrew (macOS/Linux)
- brew install ciphey
Running Ciphey
There are 3 ways to run Ciphey.
- File Input ciphey -f encrypted.txt
- Unqualified input ciphey — “Encrypted input”
- 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