Solitaire (cipher)

The Solitaire Stream cipher was designed by Bruce Schneier and used by characters in Neal Stephenson's novel Cryptonomicon.

The key is a shuffled deck of cards. Sender and receiver must each have an identically set up deck. Fifty-four cards are used; the deck includes two jokers. Encryption or decryption involves manipulating the cards, taking card values as numbers, and doing arithmetic modulo 26. There are 26 letters in the English alphabet and 52 non-joker cards in the deck, so the arithmetic works correctly.

The design goal was to produce a secure cipher that required the user neither to have a computer nor to carry anything that might be incriminating, such as a cipher machine or a book of one-time pad material.

The book includes a computer implementation, written in Perl by Ian Goldberg.