PEnigma

PEnigma

This page describes an emulation of the rotor encryption machine ENIGMA for the Palm Pilot (same description in german). To download the most recent version, please click here. The simulation is accurate for the generic Wehrmacht 3-rotor enigma as well as for the naval M4 model. This program has been written out of historical curiosity and is meant to be of educational purpose only. It should not be used for any serious encryption.

 DISCLAIMER!!!!! It should be noted that the ENIGMA encryption is by no means secure by today's standards, as it is (in)famous for being cracked nearly all the way through WWII, starting in the mid-1930 by polish mathematicians and - with great effort - by the British during the whole WWII at Bletchley Park.

Please see the attached File readme.txt as well.

Main screen

Usage

Menu

Rotor setting

Stecker setting

Links

Download

 

The main screen

The main screen is divided in three parts: Buttons for Grundstellung, lamp area and button area from top to bottom. The left picture shows the screen in 3-rotor-mode (Wehrmacht) model. The right picture shows the screen in 4-rotor naval M4 mode.

The buttons in the top row labelled Grund are used to set the Grundstellung of the selected rotors. They are repeating buttons, pressing them for a longer period of time quickly advances through the alphabet. A short push switches to the next letter in the alphabet.

Usage

The button rows in the lower part of the screen simulate the keyboard and reflect its original layout; here the letter S is pushed.

A push "lights" a lamp in the area above the keyboard, here lamp L

Every push of a button advances the Grundstellung one step according to the notches and the Ringstellung of the selected rotors. Rotor advancement resembles roughly a mileage counter but has certain complications. The rotor advancement mechanism is fully described in A. Turings "Treatise on the Enigma" (see e.g. Frode Weieruds Cryptologic page, link below).

This enigma simulation behaves much the same as a regular machine, which could comfortably operated with two clerks only: one to push the buttons of the text to be ciphered, the other to read out and jot down the lamps which become lighted. As a slight advancement over the original Enigma, the "lamp" in this simulation stays lit after releasing the pressed button.

 

The Menu

The menu allows the setup of the basic rotor arrangement in addition to saving and restoring of a complete setup to a memo. To open the menu, either tap in the black margin at the top of the main screen or use the appropriate Palm icon. In the "Settings" submenu following options can be found:

 "Rotor settings" opens the dialog to set the rotors (see below)

 "Stecker settings" opens the dialog to set the Stecker (plugboard) connections (see below)

 "Debug" allows for the visualizing of the internal encryption steps

 "Save Enigma to Memo" stores the current state of the enigma to a memo called "Enigma state info" of the MemoPad

 "Load Enigma from memo" loads a memo called "Enigma state memo" out of the MemoPad

 

 

 

The so-called "Enigma state memo" is a regular memo in the Palms memo application. The first line is used to identify the memo, which therefore must not be changed. The line Model describes the model, (3=Wehrmacht) or (4=Naval M4) model. The line Rotors allows the specification of the used rotors from left-to-right; leftmost (4th rotor position) X is required for a Wehrmacht setup or any one of B and G ("greek" rotors Beta and Gamma) for a naval M4. The other rotors may hold the numbers 1 to 8 for rotors I to VIII. The line Ringstellung allows the "ringsetting" the corresponding rotor, leftmost X is required for a Wehrmacht setup. The line Reflektor allows the selection of the reflectors, B and C for Wehrmacht, b and c (thin-B and thin-C) for M4. The Grundstellung is the visible position of the corresponding rotors in the Enigma cover; leftmost X is required for a Wehrmacht setup. Stecker, at last, allows up to 13 pairs of swapped capital letters for the Steckerbrett (plugboard). Be careful if you manually change entries within the memo, as there is mostly no error checking upon loading of a Memo.

 

Enigma state info
Model = 3
Rotors = X321
Ringstellung = XAAA
Reflektor = B
Grundstellung = XAAA
Stecker = QW ER TZ

The submenu "Other" contains the following options:

 "Text..." opens a dialog to en/decrypt a longer text by pushing the "Crypt" button (see right side). It is possible to cut/copy/paste a block of text e.g. from a memo into the text field. Before the encryption, the appropriate Enigma setup must have been loaded or adjusted.

 "About..." opens the About-Box displayed at the top of this document.

 

Rotor settings

By pushing the appropriate Model buttons, Wehrmacht 3-rotor (W3) or Naval 4-rotor (M4) Enigma can be selcted. The Rotor buttons in the row below allow the selection of the Reflector (leftmost) and the rotor order.

You may select from the regular Rotors I-VIII, the greek Rotors Beta and Gamma (Bet. and Gam. respectively) for M4 as well as the regular Reflectors B and C and thin-B “b” and thin-C “c” for the M4.

Additionally, the pseudo-reflector T may be selected at any position. It is the identical transformation for testing purposes, e.g. A gets mapped to A again. This transformation is impossible within a real Enigma.

The buttons Ring select the Ringstellung position of each respective rotor. All buttons are repeating buttons in order to quickly advance through all available options.

Stecker settings

Here you can enter up to 13 letter swaps for the plugboard. Just enter the letter pair to swap within the plugboard into the text fields of the dialog.

 

 

 

Links and download

To download the current release of PEnigma, press here. PEnigma comes with absolute no warranty and is distributed under GNU General Public License. For details, see the readme-file and the full text of the GPL (gpl.txt) within the archive. Alternatively, you might refer to the Free Software Licenses page of the FSF.

For information on the historical Enigma, you might follow the links below. They will also provide additional literature tips and links to other simulators on the net:

 Cryptology-Page of Frode Weierud

 The Alan Turing Internet Scrapbook about Enigma

 German Enigma cipher machine - History of Solving

Mail the author