A Codebreaking/Cipherbreaking Toolkit. Currently early in development.
Cipher tools is collection of all the tools I've made for codebreaking. They were generally made with things like the cipherchallenge in mind. My current intention is to update all of my Python tools into Julia. There will be no fancy GUIs or anything but I'll keep everything user-friendly and well explained in the code (mostly, hopefully). I will go into detail later in this document if there's anything weird that needs explaining.
Yes this project exists on replit! If you can't run julia locally or just find it easier to use the web then use this link. I'll try to keep this page up to date but that requires me remembering to come over here and pull the latest commits to this page... If it looks old then do leave an issue or give me a message or something.
- Cipher Identification
- All for Humans - Easy interface for people!
- Frequency Analysis
- Caesar Shift
- ROT13
- Entropy
- Affine
- AtBash
- Utilities
This weird cipher identifier is an AI powered layered cipher identifier (not breaker).
The AI is currently (a) not working and (b) not using a full set (planned in schema.json) of ciphers to identify (set currently in use).
This is a user interface for all the ciphers and analysis tools currently here. This makes it super easy to run any of the stuff in this git, and unless you need to get technical with modifying my code, I suggest you use this instead of running files directly. No need to worry about running the right modules beforehand or even finding the right files! Just use this file!
This frequency analysis program can take a custom alphabet and returns the frequency of each letter as a value. It also shows the Index of Coincidence of the text.
This Caesar shift program can take a custom alphabet and move the letters along just like in a Caesar cipher. It brute forces the cipher and tries to figure out which piece of text is English (if the text is in English, its almost always accurate) and then displays all possible shifts of the ciphertext in case it got it wrong or the text is in a different language. It can be used to encrypt and decrypt Caesar ciphers.
Just a Caesar shift with a shift of 13 (half of the length of the alphabet).
This calculator computes the entropy of a text. Entropy is similar to the index of coincidence. However, IoC is the chance of picking two random letters and them being the same. Entropy is the sum of the chances to pick each letter from the text.
Brute force affine cipher super quickly! This will brute force affine ciphers and return the decrypted text assuming that it's English (more languages to be added). An affine cipher is a variant of a Caesar cipher that falls under the category of substitution ciphers.
An affine cipher where a
and b
equal the length of the alphabet - 1.
This is a collection of little tools. They're all listed below.
- removeextras: Removes all characters from
text
that are not inkeepin
.
Sure! Go right ahead! I welcome (almost) all contributions. This place doesn't need to be exclusively Julia either so go wild!
This project is under a standard MIT license.