Coder Social home page Coder Social logo

cipher-tools's Introduction

Cipher-Tools

A Codebreaking/Cipherbreaking Toolkit. Currently early in development.

What is Cipher Tools?

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.

Replit Page!

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.

List of Tools.

More Details.

Cipher Identification

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).

All for Humans

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!

Frequency Analysis

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.

Caesar Shift

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.

ROT13

Just a Caesar shift with a shift of 13 (half of the length of the alphabet).

Entropy

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.

Affine

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.

AtBash

An affine cipher where a and b equal the length of the alphabet - 1.

Utilities

This is a collection of little tools. They're all listed below.

  • removeextras: Removes all characters from text that are not in keepin.

Want to Contribute?

Sure! Go right ahead! I welcome (almost) all contributions. This place doesn't need to be exclusively Julia either so go wild!

License

This project is under a standard MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.