SolitaireCryptoDemo 1.2
A visual demonstration of the steps involved in generating a keystream using Bruce Schneier's Solitaire encryption algorithm.
Featuring smooth animations and descriptions of all steps.
For a small python implementation of the algorithm, check out this.
Screenshot
How to use?
Type "python SolitaireCryptoDemo.py" to start the demo.
You can also use several commandline options:
- -r - Setup a shuffled deck.
- -u - Setup an unkeyed deck.
- -k KEY - Setup a keyed deck using the algorithm described at http://www.schneier.com/solitaire.html.
- -o - Print found keys to standard out.
- -h - Display this text.
Examples:
- python SolitaireCryptoDemo.py
starts the demo with a default deck (keyed with "CRYPTONOMICON"). - python SolitaireCryptoDemo.py -r
starts the demo with a shuffled deck. - python SolitaireCryptoDemo.py -u -o
starts the demo with an unkeyed deck and prints the keys. - python SolitaireCryptoDemo.py -k MYSECRETKEY
starts the demo with a keyd deck using the passphrase"MYSECRETKEY".
New since 1.1
- Fixed some small bugs and misspellings.
- Modified the folder structure.
- Added several command line arguments for setting up the initial deck.
- Added a command line argument for outputting the keystream. For debugging purposes.
- Added a title showing the current step of the algorithm.
New since 1.0
- Fixed a serious bug in the key finding part of the algorithm. (Thanks to Thomas Knappe for pointing this out!)
- Fixed some other bugs that I found when tracking down the first one.
- Changed the key output to show the actual key value instead of the modulus 26 value. To be more compliant to the algorithm description.
Related links
- The Solitaire Encryption Algorithm
- Python - The python programming language.
- PyGame - Game development for Python.
Downloads
- SolitaireCryptoDemo-1.2.zip - Current version.
Comment this project:
No messages yet.
