Wednesday, May 20, 2020

The listing for NanoEnigma is live


This is #NanoEnigma by @arduinoenigma, a simulation of the numbers-only Enigma Z30, a rare leaf in the Enigma Machine family tree. Similarly to their bigger cousins, this machine uses rotors and an ever changing maze of wires to encrypt numbers entered through keys labelled 0..9 into similarly labelled lamps.

The existence of the Enigma Z was first revealed by (Arturo Quirantes (2004) MODEL Z: A NUMBERS-ONLY ENIGMA VERSION, Cryptologia, 28:2, 153-156, DOI:10.1080/0161-110491892845).

More recently, three machines were discovered in Sweden and their wiring, including their rotors, reflector and entry rotor were recovered. (Anders Wik (2015): Enigma Z30 retrieved, Cryptologia, DOI:10.1080/01611194.2015.1055387)

Operation is similar to other enigma machines. The rotor order and starting position are the encryption key. Pressing a key first advances the rotors and then sends electricity through the rotors until the reflector is reached and then the current travels back through a separate set of wires in the rotor maze until it comes out and illuminates a lamp. Same as a real machine, the key must be held down for the lamp representing the encrypted result to be illuminated. Releasing the key turns off the lamp.

Pressing and holding the same key again moves the rotors and another lamp is illuminated. Decryption is achieved by setting the machine to the same starting position and typing the encrypted numbers, the decrypted numbers will be illuminated in the lamp field.

This simulator is an attempt at a reconstruction of a working machine, applying the rotor and reflector wiring recovered in the Wiks article to the way an Enigma Machine is known to operate. The rotors, by default step using a simulated lever mechanism that suffers of the double stepping anomaly. A geared stepping mechanism that works similarly to a car odometer is also implemented. 

Since no surviving machine has been powered up, this simulation cannot be verified against an actual machine. The assumptions made in its development can be observed by searching for the project log titled "Using the Excel Paper Model to encrypt a message". This log shows how to use a paper model named "6502 ENIGMA Z ROTOR DEFINITIONS v3.xlsx". 

This simulator is also compatible with another one written for the KIM Uno.

This simulator is powered by an Arduino Nano and its software can be modified. Its USB port is exposed. The source code for the firmware is available in Gitlab ("EnigmaZ30Simulator" Project ID: 12769524).

Power is supplied by one of three possible sources: 4 internal AAA batteries, an external 6-9V power source using a standard Arduino male barrel jack, or its USB connector.

The case is made from laser-cut 3mm Birch plywood.

The front panel of this product is the actual Printed Circuit Board (PCB) to which all the components are mounted. As such, be careful with electrostatic discharges to any of the exposed contacts. I have not fried one yet and if careful, neither will you.

This is not a toy, but a delicate product, the hinges and nails are small, if treated with care, it will provide years of service. I still have simulators made in 2015 that work just fine.

This is a not a factory made product, it is hand-made and has its unique imperfections. You are getting the actual product shown in the pictures. Ships immediately anywhere in the world.

Lastly: A lot of care went into making this. Enjoy... 

No comments:

Post a Comment