summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2011-09-19 16:11:52 +0100
committerdakkar <dakkar@thenautilus.net>2011-09-19 16:11:52 +0100
commit63727b982cb498b3fc843e9286e8491572ee9f97 (patch)
treec990af81fe0751d2f6411671f4a073a4bf390539
parentthis will become a new page (diff)
downloadthenautilus-enigma.tar.gz
thenautilus-enigma.tar.bz2
thenautilus-enigma.zip
some more enigma textenigma
-rw-r--r--src/SW/Enigmatic/document.en.rest.txt46
1 files changed, 45 insertions, 1 deletions
diff --git a/src/SW/Enigmatic/document.en.rest.txt b/src/SW/Enigmatic/document.en.rest.txt
index 1a5fac9..be51083 100644
--- a/src/SW/Enigmatic/document.en.rest.txt
+++ b/src/SW/Enigmatic/document.en.rest.txt
@@ -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`: http://yapceurope.lv/ye2011/
+.. _Moose: https://metacpan.org/release/Moose
+.. _TryCtach: https://metacpan.org/release/TryCatch
+.. _autobox: https://metacpan.org/release/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`: http://www.bletchleypark.org.uk/
+.. _`Technical Details of the Enigma Machine`: http://users.telenet.be/d.rijmenants/en/enigmatech.htm
+.. _`The Enigma cipher machine`: http://www.codesandciphers.co.uk/enigma/
+.. _`Enigma - a very famous story of cryptology`: http://www.mlb.co.jp/linux/science/genigma/enigma-referat/enigma-referat.html
+
+.. _`cyhpertext-plaintext pair`: http://users.telenet.be/d.rijmenants/en/m4project.htm
+
+