An Enigma Simulator was created using an Arduino Uno and a touchscreen LCD. This device simulates an Enigma 1, Enigma M3 and M4 machines. Also home to PicoEnigma and MegaEnigma, two Universal Enigma Machine Simulators
Sunday, November 23, 2014
Wood Case Using Finger Joints
Using Google Sketchup and a plugin from Flight of Ideas to export the result to SVG, the following case was sent to Ponoko to be laser cut from 3.2mm Birch Plywood. The pieces were then glued with Elmers wood glue, Gorilla Glue would work as well. The SVG file that was used to laser cut this case is available here
Update: This is the latest case design. After this case was designed, a new case was created with an integrated lid, slimmer hinges, a chain to hold the upper lid partially open and a serialized instruction sheet (Merkblatt)
http://arduinoenigma.blogspot.com/2015/01/wood-case-assembly-instructions.html
The machine in operation, connected to the computer via USB.
Working with battery power
The closed case.
Showing the hinges.
The inner case has been taken out of the outer case. I have not found a good way to hinge the front flap yet,
Update: A new case has been designed with slimmer hinges.
http://arduinoenigma.blogspot.com/2015/01/wood-case-assembly-instructions.html
Showing that the screws used to attach the hinges do not penetrate the 3.2mm plywood. A regular wood screw was used to start the hole until the plywood on the inside started to bulge out, then the screw was backed out and a wood screw that was cut short was used to secure the hinge.
This is the inner case. I am really pleased with the way it fits, it really hugs the electronics tightly, the USB connector fits through the hole and keeps the arduino from sliding out. Once this box is glued, the only way the electronics are coming out again is to break the box.
The inner box being operated with battery power.
The bottom of the inner box, notice that the USB connector is now to the right of the power plug hole.
How it all looks when using it.
Another shot of the whole package
Showing the hinges and the screw heads.
A picture of the corner showing the finger joints.
The next experiment is to engrave the enigma logo on some of the surfaces.
Update: The new case has been designed with slimmer hinges and engraved logos. The finger spacing has been selected so its close to 3.2mm
http://arduinoenigma.blogspot.com/2015/01/wood-case-assembly-instructions.html
Saturday, November 1, 2014
Some test cases for the Double Stepping Anomaly
The Enigma machines that used levers to move the rotors have an interesting behavior called Double Stepping. For the following discussion, the three wheel enigma models are analyzed. The four wheel enigma model behaves in a similar manner except that the leftmost rotor is stationary, it does not get moved by the rotor to its right.
http://www.cryptomuseum.com/crypto/enigma/working.htm
Rotors I through V have a single position at which the rotor to the left is advanced. Rotors VI,VII and VIII have two advancing positions. When the Z or the M is displayed, the next key-press will advance the rotor to the left. When the middle rotor is at the Z or M position, the next keypress will move the middle rotor and the leftmost rotor, regardless of the position of the rightmost rotor. You can see this behavior in the BZB CAC CAD sequence.
Before I understood this, I had a faulty double stepping logic. The sequences below helped me test that. The ones starting with * only advance the middle rotor once.
The sequences below can be started at any point and are not affected by what happened before, only by what is displayed now. If one sets rotors 6,7,8 to MMN, the next key press will turn them to NNO.
Rotors 1,2,3
ADU ADV AEW BFX
Rotors 6,7,8
ZYY ZYZ ZZA AAB
MLL MLM MMN NNO
ZZY AAZ ABA ABB
MML NNM NON NOO
* ZZZ AAA AAB
* MMM NNN NNO
YYY YYZ YZA ZAB
LLL LLM LMN MNO
YZY ZAZ ZBA
LML MNM MON
* YZZ ZAA ZAB
* LMM MNN MNO
AZY BAZ BBA BBB
NML ONM OON OOO
ZZX AAY AAZ ABA
MMK NNL NNM NON
AYZ AZA BAB
NLM NMN ONO
http://www.cryptomuseum.com/crypto/enigma/working.htm
Rotors I through V have a single position at which the rotor to the left is advanced. Rotors VI,VII and VIII have two advancing positions. When the Z or the M is displayed, the next key-press will advance the rotor to the left. When the middle rotor is at the Z or M position, the next keypress will move the middle rotor and the leftmost rotor, regardless of the position of the rightmost rotor. You can see this behavior in the BZB CAC CAD sequence.
Before I understood this, I had a faulty double stepping logic. The sequences below helped me test that. The ones starting with * only advance the middle rotor once.
The sequences below can be started at any point and are not affected by what happened before, only by what is displayed now. If one sets rotors 6,7,8 to MMN, the next key press will turn them to NNO.
Rotors 1,2,3
ADU ADV AEW BFX
Rotors 6,7,8
ZYY ZYZ ZZA AAB
MLL MLM MMN NNO
ZZY AAZ ABA ABB
MML NNM NON NOO
* ZZZ AAA AAB
* MMM NNN NNO
YYY YYZ YZA ZAB
LLL LLM LMN MNO
YZY ZAZ ZBA
LML MNM MON
* YZZ ZAA ZAB
* LMM MNN MNO
AZY BAZ BBA BBB
NML ONM OON OOO
ZZX AAY AAZ ABA
MMK NNL NNM NON
AYZ AZA BAB
NLM NMN ONO
Subscribe to:
Posts (Atom)