Code Monkey home page Code Monkey logo

enigma's Introduction

Enigma emulator

This project is command line based Enigma machine emulator.

1. How to use

1.1. CLI

Simply run program with following parameters:
program reflector rotorLeft rotorCenter rotorRight staringPositions [plugboardCipher]

reflector - Value of reflector to be used [B or C]
rotor(Left, Right, Center) - Value of rotor to be used [I-VIII]. One rotor can not be connected to multiple places.
startingPositions - Staring positions of reflector, left, center and right rotor respectively. (4 character string with capital letters)
plugboardCipher - Cipher that represents plugboard connections. Contains exactly 26 non-repeatable capital letters. Every possition contains letter that represents connection with letter on coresponding position. This argument is optional. If it is not passed, every letter will be connected to itself.

1.2. GUI

Just execute GUI version.

2. Cipher format (CLI)

Every position in cipher represents the letter on that position in alphabet. Every value in cipher represents the value of letter connected to letter on given position.

Enigma sample

The folowing cipher will get the result from picture: ZPHNMSWCIYTQEDOBLRFKUVGXJA

3. Building

3.1. Windows

Open project in Visual Studio or Rider and start build process.

3.2. Linux

Open project in Rider or MonoDevelop and start build process. Alternatively you can use .NET core.

enigma's People

Contributors

randomcharacter avatar

Watchers

 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.