I found this rather old (year or two) article on /., and thought this might be a worthy submission into the cryptography category. Its rather fun, and quite the interesting idea. See here for a more detailed description.

You might want to look over at Bruce Schneier's web site[1] for more information about the algorithm such as how to do it by hand with a deck of cards. Also on that site is his implementaion of the algorithm in Perl[2] that they released (interestingly, they have the following - 'Note: only the Perl implementation has been tested by Counterpane.').

If you have not read Neal Stephenson's Cryptonomicon that this was developed for, I strongly recommend it as a good read.

Interesting. A while back I wrote Crypt::Solitaire which is another implementation. I'm interested to run our versions side-by-side.

Btw, Paul Crowley did some nice work in pointing out a random number bias in Solitaire. He attempted to write a new card cipher (Mirdek) that wasn't encumbered by the limitations in Solitaire, but by his own admission, his version suffers from weaknesses as well. Here's the URL of his stuff if you're interested: http://www.cluefactory.org.uk/paul/crypto/mirdek/