5 To Do List
vanitasvitae edited this page 2015-10-26 13:14:39 +01:00

Include Entry-wheel (ETW), reflectors (UKW), Extra-Wheel (ZW) and rotors from All Model of Enigma

Included models (incl. ETWs, UKWs and rotors):

  • I
  • M3
  • M4
  • G31/A865
  • G312
  • G260
  • D
  • K
  • K (Swiss)
  • K (Swiss, Airforce)
  • R
  • T

Missing models (Information about wiring etc. welcome!):

  • KD - Implemented, will be included in next release
  • Z - Enigma that is designed to en-/decrypt numbers. - Not enough information available
  • A - Not enough information available
  • B - Not enough information available
  • C - Not enough information available
  • H - Not enough information available

Creating and Saving custom-made ETW, UKW, ZW and Rotors

Might be included in future releases. We must figure out a way to store custom components properly.

An Enigma custom model that accepts any amount of rotors, and can choose whether or not to use ETW/UKW/ZW

Hardest part will be to design a flexible layout for the configuration. Also we have to solve the problem above.

Allowing all Latin-based languages to use Enigma (English, German, French, Italian, Spanish, Greek, Russian)

If they have <= 26 Symbols this should be relatively easy.

Compatibility with Chinese, Japanese, Korean and International-Auxilary-Languages

This might be a harder task, since the historical Enigma had only 26 contacts per rotor. This limits any (non-Latin-based) alphabet to 26 symbols. It may be possible to encode alphabets with more than 26 symbols by using multiple characters per symbol, but I think that would be too far from the original process of enigma's encryption. Implementing "bigger" wheels is problematic since there are no historical models. We would have to design our own, which is not very authentic.

Implement and succeed test cases to ensure correct functionality

Since there are frequent changes to the code, some automated tests that check for correct functionality and accurate encryption would be nice.

Transform spaghetti code into a more-attractive-type-of-pasta-code

Yeah... I'm working on that every single time after I added a bigger feature. Additional functions tend to muddle up the source code :/