Implementation of Bruce Schneier's Solitaire pencil-and-paper cipher, featured on Ruby Quiz.
require './solitaire'
s = Solitaire.new
puts s.cipher(:encrypt, 'DRINKYOUROVALTINE') # => 'HOSLS XGAVV PNEBY IZPVH'
s = Solitaire.new()
puts s.cipher(:decrypt, 'HOSLS XGAVV PNEBY IZPVH') # => 'DRINK YOURO VALTI NEXXX'
## Keyed with a passphrase
s = Solitaire.new
s.key! 'CRYPTONOMICON'
puts s.cipher(:encrypt, 'SOLITAIRE') # => 'KIRAK SFJAN'
s = Solitaire.new
s.key! 'CRYPTONOMICON'
puts s.cipher(:decrypt, 'KIRAK SFJAN') # => 'SOLIT AIREX'