Close
0%
0%

Arduino Enigma Machine Simulator

An Enigma Machine Simulator was created with an Arduino UNO and a Touchscreen LCD. Simulates Enigma I, M3, M4, the Plugboard and Uhr Switch.

Similar projects worth following
From an engineering standpoint, Enigma Machines are fascinating. Not being able to procure an original one, the next best solution is to create a modern replacement. In order to make mass production of this project easy, the hardware portion of this project is very simple. It it just an Arduino UNO and a Seeed Studios Touchscreen LCD encased together, all the magic is in the software.

This project accurately implements the Enigma I, M3 and M4 machines. The Uhr switch, a rarely described separate device that scrambled letters through the plugboard connections was implemented as well. The operation of this device is very intuitive, no menus are used in its configuration. All settings are changed by interacting with the wheels and plugs.

Privacy is a universal human need (or right). This device helps people communicate securely. While mass communications encrypted with this device have been read by third parties before, measures can be taken to defend against previous attacks.

The initial inspiration to create this was the Franklin Heath Enigma Simulator for Android. https://play.google.com/store/apps/details?id=uk.co.franklinheath.enigmasim and D. Rijmenants Enigma Simulator v7.0 http://users.telenet.be/d.rijmenants/en/enigmasim.htm

To get an introduction to the enigma machine and its operation, the following links may be helpful:

https://en.wikipedia.org/wiki/Enigma_machine

http://www.cryptomuseum.com/crypto/enigma/

The following manual by D. Rijmenants describes in exquisite detail the operation, internals, and real messages sent using the enigma machine.

http://users.telenet.be/d.rijmenants/Enigma Sim Manual.pdf

This project uses the three screen solution for configuring the enigma machine without the use of menus. The main screen is shown on power up, The machine can be used to encrypt and decrypt messages. To change the settings, the logo is touched and the open machine view is shown. The wheels can be changed and their ring positions set in a realistic way by dragging along the perimeter of the wheel. The plugboard is configured in a third screen by touching the bottom of the screen. Once ten (10) plugs are set, the Uhr switch is shown, this is also set by dragging in a circular motion.

A wood or clear acrylic case was created that completely encases the machine and exposes the USB and power connectors. The instruction sheets were recreated in the proper scale and can be glued to the inside of the lid.

A Houseworks 1131 hinge attaches the top of the lid to the base. A small chain can be used to prevent the lid from falling back.

The machine can be configured and used through the touchscreen LCD, but it can also be used through the USB cable as a virtual serial port.

While this encryption algorithm has been broken in the past, we can apply Bruce Schneier saying "given enough rounds, pretty much anything is secure" and recommend at least double encrypting a text with different settings. This procedure was used for communications between submarine officers.

The enigma reflector prevented a key encoding to itself. The use of double encryption solves that.

Go to:

https://people.physik.hu-berlin.de/~palloks/js/enigma/enigma-u_v20_en.html

set the wheels to A C A T and paste the following text:

jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj jjjjj

you will get the text below, notice there are no "J" in it.

click on new session and set the wheels to A D O G and paste the text below:

ixvqb dfydf peqtz yetxf tplka mpbzn qlady swngd kgyki mlgqv vgfrr mavph fprds nqrac ynxnp bgzae

you will get the following result, notice that on the sixth group, there are two j together.

zylcc panfh ebhgl mffae csxnp kjjlv ifovp yplem wvqrg ksysd cthik nboba xwqyw qffsn olyqo tylwy

To decrypt, click on new session, set the wheels to A D O G and paste the text above. Copy the result, which should start with ixv..., click new session, set the wheels to A C A T and paste it, a string of "J" should come out.

This product is available for purchase in our tindie and e-bay stores:

https://www.tindie.com/products/ArduinoEnigma/arduino-enigma-simulator-simulates-enigma-i-m3-and-m4-machines/

http://www.ebay.com/sch/enigmaarduino/m.html

  • 1 × Arduino UNO
  • 1 × Seeed Studios LCD Touchscreen v2.0
  • 1 × Laser cut case Wood or Clear Acrylic
  • 2 × HouseWorks 1131 Hinges 12 miniature nails are used to fix them to the case
  • 1 × Small Chain keeps the lid from dropping when the machine is open

View all 8 components

View all 39 project logs

Enjoy this project?

Share

Discussions

ActualDragon wrote 12/22/2016 at 16:38 point

i would like to try it, love the idea of the ultimate privacy (sort of), but the screen is a little bit outta my price range. Is there a ripoff you know of that's cheaper?

  Are you sure? yes | no

Brian wrote 07/04/2015 at 18:07 point

This is awesome! I love it!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates