

An Enigma cipher machine implemented in an Excel spreadsheet by a non-programmer - willvarfar
http://williamedwardscoder.tumblr.com/post/19946053957/enigma-spreadsheet

======
jrockway
If you've written a working computer program, you're (now) a programmer.

~~~
Tyrannosaurs
If you've written a _working_ computer program, you're probably in the top 50%
of the industry...

------
redcodenl
It looks very good! Don't say he's not a programmer... He is, but doesn't know
it yet.

~~~
ChrisAnn
One of us! One of us!

------
tmh88j
He may not be a programmer by day, but he certainly has the mentality of one.
This definitely is not the kind of macro that can be recorded and works
immediately. For someone who is a "non-programmer" it's pretty impressive to
figure out how to use nested loops for such an obscure task. How has nobody
mentioned how cool this is?!

VBA is an awesome tool. It has saved me hundreds of hours of tedious
calculations and copy/pasting sessions.

------
jtchang
Whoa...that's awesome. Definitely a programmer. I don't care what you think of
VBA...it is a great tool. I've seen some truly impressive programs written in
it.

------
pierrebouchet
It's funny how Excel allows non-programmers to end up programming without
knowing it.

Reminds me of <http://news.ycombinator.com/item?id=3374431>

~~~
jurre
I agree, Excel is how I first got into programming and I think I'm not alone
in that.

~~~
RegEx
Microsoft Access assignments at my community college inspired me to work with
databases.

------
maukdaddy
That is an incredibly impressive feat, especially considering there's no VBA
involved.

~~~
nhebb
There's a VBA module. Your security settings may have disabled it.

~~~
willvarfar
is there much in it? or is it recorded macro kind of stuff?

~~~
coroxout
From a quick look (so I may be mistaken), the "Enigma" worksheet has
everything it needs to encode a single letter using worksheet formulae.

The VBA just loops through the input text, feeding it into the worksheet
character by character and incrementing the step counts, which are referred to
by the worksheet formulae. It also looks up the initial rotor positions from
the "Settings" table from the "keys" on the main interface worksheet.

That's for encryption - there are another 30 lines of code for decryption
which I haven't looked at. It looks hand-coded rather than recorded, but most
of the VBA is either incrementing counters or calling worksheet functions, so
the VBA isn't doing the heavy lifting.

Your friend may not call himself a programmer but I do Excel/VBA work as part
of my job, along with more hacker-approved languages, and I'm very impressed.
One of us indeed!

------
motters
For another Enigma machine see <https://launchpad.net/ubenigma>

------
MaxGabriel
Besides those the author recommends (which seem more general), can anyone
recommend a book on WW2 cryptography?

~~~
mturmon
Not a book, but if you're interested in codes and codebreaking, it's worth a
trip to the "National Cryptologic Museum", located right outside the NSA
headquarters at Ft. Meade, Maryland (between Baltimore and DC). It's a
relatively small place that's open daily and seems to be a labor of love by
retired NSA codebreakers.

The museum has a four-rotor Enigma machine, which is about the size of a
typewriter. It is packed into a wooden case and deployable into the field.

The museum also has a "Bombe", the Enigma codebreaking machine devised
originally by Polish mathematicians, and improved by Alan Turing and others,
and fabricated in quantity by the British and the Americans during the war.
This an electromechanical device the size of several refrigerators.

So nice to see them both together. Of course, I have today's simple and
compact encryption technology in my phone, and right across the parking lot
from the museum, there is an acreage of computers (Ft. Meade) which is
probably able to decrypt what I send, if desired. Same as it ever was.

~~~
MaxGabriel
Not really; I've never done any cryptography so I wouldn't know if I liked it.
I thought I'd see if I liked it by learning about it for a WW2 class. Thanks
for the suggestion, though.

------
RexRollman
What's the threshold for being considered a programmer, really? For example, I
don't consider myself one, even though I have created scripts in PowerShell
and Bash.

