GithubHelp home page GithubHelp logo

thinktt / enigmax Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 800 KB

A unique take on the Enigma, the German WWII encryption machine

Home Page: https://thinktt.github.io/enigmaX

License: MIT License

JavaScript 78.71% HTML 10.59% CSS 10.70%

enigmax's Introduction

#Emigma X

coded by Tobias Toland
version 1.062
encryption engine โ™žโ™ž

Enigma X is based on the German WWII code machine. Since coding Enigma simulators is popular I wanted to do something unique. This is my attempt to make a more secure Enigma using the basic components of the original machine. It was also my very first JavaScript, and CSS project.

Enigma X will take any basic ASCII message and encrypt it to "Think Ding", a special character set made of 26 Unicode symbols. To do this it translates each ASCII character into two Enigma characters (a letter from A-Z) and then pushes them through a randomly configured plugboard and 26 randomly selected and configured Enigma rotors. Each message also has an added random key encoded within itself that is used to send the message again through a second set of 3 rotors so no two encodings will be the same. Finally the message is encoded to "Think Ding".

My basic security ideas are 1. Remove the reflector so any letter can be encoded to itself 2. Increase the size of the key by a bunch (that's a technical term) 3. Add random variability to every message encoded.

I have attempted to make Enigma X as secure as possible. In the end I am at best an amatuer crypographer and this is based on a machine notorious for being broken before the age of computers. It is safe to say this encryption scheme is dubious. With that said, Enigma X is just for fun and education. If anyone has any good ideas for breaking it I'd love to hear about them.

Enigma X is pure JavaScript, HTML, and CSS, with direct DOM manipulation. It does not use JQuery! The only thing not hand crafted by myself is SJCL which is only used to generate cryptographically secure random numbers. It is published under the MIT licence. This is it's github page. The online Enigma simulators by Louise Dade, Mike Koss and Frank Spiess were all very helpful while coding this. Also thanks to great community at stackoverflow who helped me solve my CSS and JavaScript problems.

enigmax's People

Contributors

thinktt avatar uxtx avatar

Watchers

James Cloos avatar  avatar

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.