Skip to content
/ Enigma Public

The enigma was an rotor cipher machine used by germans in world war II to encrypt their war relevant messages. Written in F#.

Notifications You must be signed in to change notification settings

bvenn/Enigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Enigma

The enigma was an rotor cipher machine used by germans in world war II to encrypt their war relevant messages.

Key space

Rotors:

In the standard engima you had to choose three out of five rotors to set in your machine giving 5 * 4 * 3 possibilities.

Ring settings:

The right and middle rotor shift the other rotors stepwise further. Depending on which character you start there are 26 * 26 possibilities.

Base setting:

All thre rotors have to be set to a specific three letter code to beginn (eg 'A' 'A' 'A') resulting in 26 * 26 * 26 possibilities.

Plugboard:

Because you can interchange 10 letters by switching cables at the plugboard there are 26! / (26 - 2n)! · n! · 2^n more possibilities (check http://users.telenet.be/d.rijmenants/en/enigmatech.htm for further information).

Reflector:

There was a set of three reflectors to choose from. Because UKWB was used in most cases this factor is neglected.

All in all there are 1.07 x 10^23 possibilities to set your machine.

About

The enigma was an rotor cipher machine used by germans in world war II to encrypt their war relevant messages. Written in F#.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages