Giter Site home page Giter Site logo

enigma-simulator's Introduction

enigma-simulator

This enigma-simulator project is an educational tool which simulates the workings of an Enigma machine, the Germans' main military encryption tool during World War II. The software allows users to encrypt and decrypt messages. Additionally, the simulation includes a step-by-step guide that teaches users how to recover Enigma keys.

This project was created and maintained by the National Security Agency.

enigma-simulator's People

Contributors

0x0is1 avatar kc0bfv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

enigma-simulator's Issues

File missing?

$ python3 rejewski.py 
Traceback (most recent call last):
  File "rejewski.py", line 8, in <module>
    from tqdm import tqdm
ModuleNotFoundError: No module named 'tqdm'
$ 

Enigma encryption seems wrong compares to the real Enigma

Hi NSA and Emily Willson,
I'm trying to code and Enigma using Python like this. I used both this repository and cryptii's: https://cryptii.com/ to check the result.
I encountered a conflict where yours and cryptii's answers do not match. I reported this to the cryptii's authors and got the reply as this: cryptii/cryptii#84. There is also a simulation on a real Enigma at the end of the author's comment.
Please check the conversation and let me know the answer. Thank you very much.

Nice idea - but how the heck does one use it?

Traditionally, the README tells the user what this thing is, and how to use it. Your README does rather little of the first (yeah, I figure - an Enigma simulator "simulates the workings of an Enigma machine" - very enlightening), and none of the second.

So, how does one use it? Also, how/with-what does one read your .ipynb documents? Might you spare a word or two on this in your README?

Here's are some example of how such projects can be documented:

Need message_key_encrypts.pickle file

IN[13]

# Next, load in the message key encrypts. 
message_key_encrypts = pickle.load(open('message_key_encrypts.pickle', 'rb'))
# Take a look at the first 30 message key encrypts. 
message_key_encrypts[0:50]

data=>OUT[13]
The data in the MasterEnigmaCracker.ipynb file is truncated and the file message_key_encrypts.pickle currently does not exist within repo. Need the original file used for this project or way/suggestion to generate this file via rejewski.py

Thanks

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.