diff options
authordakkar <>2011-09-19 16:11:52 +0100
committerdakkar <>2011-09-19 16:11:52 +0100
commit63727b982cb498b3fc843e9286e8491572ee9f97 (patch)
parentthis will become a new page (diff)
some more enigma textenigma
1 files changed, 45 insertions, 1 deletions
diff --git a/src/SW/Enigmatic/ b/src/SW/Enigmatic/
index 1a5fac9..be51083 100644
--- a/src/SW/Enigmatic/
+++ b/src/SW/Enigmatic/
@@ -12,4 +12,48 @@ An emulator of the German WWII Enigma machine
Why would you ever write one?
-During the `YAPC::EU 2011`_ dinner,
+During the `YAPC::EU 2011`_ dinner, people (not actually involved in
+the organisation of the event) started idly talking about what to put
+on the t-shirts for YAPC::EU 2012 in Frankfurt. Several very
+inappropriate suggestions were made, mostly involving WWII; at some
+point, the Enigma was mentioned, maybe because obfuscated Perl code
+does not look that much different from an encrypted message. Then I
+thought: I can quite probably write an Enigma emulator as a short
+obfuscated Perl program.
+So I started from a nicely-written, clean version, with the intention
+of compressing / obfuscating it later. This "nice" version is about
+15KB of source code, 13KB of tests, and 4.5MB of dependencies (mostly
+Moose_, TryCatch_, autobox_)
+.. _`YAPC::EU 2011`:
+.. _Moose:
+.. _TryCtach:
+.. _autobox:
+Resources and references
+Of course, I did not know enough about the actual workings of the
+Enigma: having seen a few, and having seen the Turing Bombe in
+operation, at `Bletchley Park`_, is not enough to write a proper
+emulator. After a relatively short search, I found three main sources:
+- `Technical Details of the Enigma Machine`_, written by someone who
+ wrote an emulator
+- `The Enigma cipher machine`_
+- `Enigma - a very famous story of cryptology`_
+From these, I obtained just enough information to understand the mechanisms,
+and more importantly, the wiring of the various components. In
+addition, I found a `cyhpertext-plaintext pair`_ that I used to check
+that my emulator worked exactly as the real thing.
+.. _`Bletchley Park`:
+.. _`Technical Details of the Enigma Machine`:
+.. _`The Enigma cipher machine`:
+.. _`Enigma - a very famous story of cryptology`:
+.. _`cyhpertext-plaintext pair`: