I write a monthly column for PCPlus, a computer news-views-n-reviews magazine in the UK (actually there are 13 issues a year — there's an Xmas issue as well — so it's a bit more than monthly). The column is called Theory Workshop and appears in the back of every issue. When I signed up, my editor and the magazine were gracious enough to allow me to reprint the articles here after say a year or so. After all, the PDFs do appear on each issue's DVD after a few months. When I buy the current issue, I'll publish the article from the issue a year ago. I bought October's when I was in England at the beginning of the month, so here's October 2008's article.
This was a hoot to write. I armed myself with a brand new deck of playing cards, a copy of Neal Stephenson's Cryptonomicon, opened at the appendix written by Bruce Schneier, and sat at our patio table and tried to make sense of the Solitaire encryption algorithm described there (it's called Pontifex in the book itself).
It seems Stephenson wanted a non-electronic, but secure, encryption algorithm for two of his characters, something that a secret agent could use behind enemy lines without drawing suspicion. So he asked Schneier whether he had such a thing in his armory of algorithms. Schneier came up with a humdinger of an algorithm that just uses a deck of cards and a bit of time but that is extremely secure.
Drawing the figures was fun too. I managed to find a set of card images online and spent an agreeable couple of hours in Illustrator getting the main deck-cutting procedures into image form. It seems the magazine graphics designer had a field day too with the image at the top of the article. Why can't all algorithmic figures be as fun to draw?
This article first appeared in issue 273, October 2008.
You can download the PDF here.
Now playing:
The Dream Academy - Life In A Northern Town
(from The Dream Academy)
No Responses
Feel free to add a comment...
Leave a response
Note: some MarkDown is allowed, but HTML is not. Expand to show what's available.
_emphasis_
**strong**
[text](url)
`IEnumerable`
* an item
1. an item
> Now is the time...
Preview of response