The Wrong Company
Portfolio Site for Michael Parr

Solitaire

Over the last few week I have been joyfully fighting off a cold (which has now evolved into a sinus infected!). Although this has all left my brain slightly too detached from my body to do any of the work I wanted to on the website I did however give me a chance to catch up on some reading.

So last Friday morning I finally finished the book I’ve been ready for the last 6 months which was Cryptonomicon by Neal Stephenson (I must point out that this is a fantastic book and the fact it took 6 months to read was perfectly to do with the fact I never give myself enough time to read).  In this book they make use of an interesting little encryption algorithm called “Pontifex”, this turned out to be a real encryption algorithm know as “Solitaire” which had been created specifically for the book by Bruce Schneier. With this information in hand I decided to set about creating a C++ implementation of this algorithm as a mini project.

The Solitaire algorithm was designed to be used by troops on a battle field to encrypt and decrypt messages using a deck of cards (full 52 card deck as well as 2 jokers). The security of this algorithm comes from the randomness of a well shuffled deck of cards, although this also causes a problem that the sender and receiver of the message must have an identically shuffled deck of cards. A way around this is to use a pre-arranged pass key to create the initial deck (this is the method I have opted to use in the implementation I created).

If you would like to know more about the Solitaire algorithm a quick visit to Bruce Schneiers website will give you all the information you will ever need. Also if you are interested in my implementation of the algorithm, take a quick trip over to its programs page where you can download the source code.

My infected is starting to clear a bit so hopefully in the next day I will be able to continue working on the updates to the programs sections of the website. In the mean time I stumbled across some applications I created in my first year of university, so once I have worked out what they do and see if any improvements can be made I will upload a choice selection of them to the website as well.

- Mike

Bookmark and Share

Leave a Reply