Skip to content

Enigma Machine simulator written in C# (object-oriented design) using WinForms

Notifications You must be signed in to change notification settings

ferancona/EnigmaMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnigmaMachine

Program that simulates the behaviour of an Enigma Machine.

In this solution, the logical flow of the encryption of a letter is exactly the same as in a real Enigma Machine. In other words, we could say that the encryption method is exactly the same, but made through software instead of hardware. (See image in Other resources)

Features

  • Encrypt and decrypt messages simetrically
  • Modify the rotors configuration
    • Choose 3 out of 5 rotors
    • Change the position of any rotor
  • Modify the plugboard configuration

Design

The Object-Oriented design allowed for a neat level of abstraction, facilitating the usage of the Enigma Machine object. The encryption/decryption of a letter can be achieved through a method:

string outLetter = machine.EncodeLetter("a")

Other resources

Enigma's Logical Flowchart:

Numberphile's video explains how the Enigma Machine works and provides some background history.

About

Enigma Machine simulator written in C# (object-oriented design) using WinForms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages