User Tools

Site Tools


Turing centenary

Dipartimento di Informatica (site not yet available, for the time being please use the old one)

Università di Milano

(please note that only this page is translated)

After some standby the ArduinoAfternoon group is back.

Alan M. Turing

For the centenary of Turing (June 23, 2012) we decided to build something related to the Bletchley Park effort during WWII. We created a simplified Enigma machine using Arduino, we connected it to the Internet and now it's available online to be “cracked”.

How the original Enigma works.

Enigma machine

The physical device is on display at our University lab.


The project

Contact: enigmaduino @

Twitter: #enigmaduino


“Enigmaduino” is online at on port 571. Please do not use a browser since Enigmaduino does not use HTTP.

You should use "telnet" (or similar tools like "nc", "putty", etc.).

On Windows: use netcat for Windows.

If you connect without writing anything (just a CR) you'll get the current encrypted message.

The cleartext message is programmed from the outside periodically (see below).

Your goal is to find a RIPRODUCIBLE method to get the celartext message. It's not enough to guess a single message out of luck, you should create a technique to crack every message, as they did in Bletchley Park during WWII.

If you want to try and guess you just enter your cleartext and Enigmaduino will answer telling you if you got right.

Example (prompt GNU/Linux):

 $ echo myproposedsolution | nc 571

If you succeed in devising a technique you can come at the workshop and present your work to the audience. We just require that all material (texts, presentations, source code) must be distributed under a free licence.

Software source code

You can download our software, it's GPL.

Note about the crypted message

The cleartext message is programmed from the outside periodically (10 minutes), with a script:


# gets a tweet, no timestamp, no author
RIGA=$(echo '/search XXXXXXXXXXXX'|ttytter -script -anonymous -sync |tail -n 1|cut -f2 -d'>')

RIGAFILTRATA=$(echo $RIGA|tail -n 1|tr -dc '[[:alpha:]]'|tr '[[:upper:]]' '[[:lower:]]'|cut -c-60)

echo adminpassword$RIGAFILTRATA|nc 571

I.e., a tweet (you may guess what's the hashtag) is extracted, filtered (only lowercase alpha chars), cut to 60 chars (we had problems in Arduino over 60 chars) and programmed into the Enigmaduino.

Workshop: 23 June 2012


Date: 23rd of June, 2012

Place: Dipartimento di Informatica, via Comelico 39, Milano

Time: 9-12 (circa)

Room: alfa/beta

On Facebook

pub/arduino/turing/english.txt · Last modified: 2012/06/18 12:16 by atrent