Welcome to the Bash Enigma Project

Originally Sponsored by Blue Ridge Engraving and High Voltage PrintWorks

This page is under construction, some links may not be working yet.

What is the Bash Enigma Project you ask? The product of slightly warped minds 🙂 Actually it is an attempt to prove that you can do almost anything with a bash script. The project was started by David Barlow and Josh Holt. The script emulates the German Abwehr(G260), Abwehr(G312), Commercial D, Commercial K-470, Heer, M3, M4, Norway, Polish Clone, Railway, Swiss K, and Tirpitz Enigma cipher machines used before, during, and after World War II. To read more about the Enigma machine, take a look at the BBC’s History page on the Enigma Machine, or do a search at google.

We currently can decode German WWII messages encoded with an Enigma machine, but the script is still being tested.

The latest (5th) release is version enigma-0.6.4.tar.gz. The latest version is enigma-0.6.4.sh. Thanks to Florian Wisser, 0.6.2 has about a 75% speed increase.

Version 0.6.3 fixes a few bugs that were in 0.5.8. The speed up is about 95% now. On my computer, version 0.5.8 encodes 500 letters in 61 seconds. Version
0.6.3 encodes the same 500 letters in 2.89 seconds.

As of version 0.6.4, developer email addresses are now in the DOCS file, please use those addresses to report bugs. This release has a little more error checking, more coming soon.

NOTICE!!! NOTICE!!! NOTICE!!! January 5, 2006 NOTICE!!! NOTICE!!! NOTICE!!!

A bug in the stepping code was introduced in version 0.5.4 and continues through 0.5.7. Thanks go to Stefan Krah for pointing this out to me. I am working a fix and it will be in version 0.5.8 as soon as possible.

NOTICE!!! NOTICE!!! NOTICE!!! January 6, 2006 NOTICE!!! NOTICE!!! NOTICE!!!

The stepping code was fine, turns out I made a typo on the wheel notch code. The bug has been fixed and version 0.5.8 is ready for download.


* Support for the Railway Enigma was added in version 0.5.2
* Support for the Abwehr Enigma (G312) was added in version 0.5.3.
* Support for the Tirpitz Enigma was added in version 0.5.5.

* Version 0.5.5 also has a minor bug fix.

Support for the Abwehr(G260), Commercial D, Commercial K-470, Heer,
Norway, Polish Clone, and Swiss K were added in 0.5.6.
* Oops! The Norway was was left out by accident, it is in version

Output formating can be turned off in version 0.5.7, try -o 0
These and older versions can be found here.
There is a [13]gui interface available for the script. The latest
version is [14]0.0.4 and has been tested with version 0.5.1 of the
enigma script.


2. file://localhost/var/www/localhost/htdocs/enigma/docs.html
3. file://localhost/var/www/localhost/htdocs/enigma/download/index.html
4. file://localhost/var/www/localhost/htdocs/enigma/faq.html
5. file://localhost/var/www/localhost/htdocs/enigma/features.html
6. file://localhost/var/www/localhost/htdocs/enigma/future.html
7. file://localhost/var/www/localhost/htdocs/enigma/screenshot.html
13. file://localhost/var/www/localhost/htdocs/enigma/download/gui/index.html
14. file://localhost/var/www/localhost/htdocs/enigma/download/gui/index.html