#cypher #cryptonomicon #solitaire #encryption #command-line #cli

app solitaire_cypher_cli

CLI for the playing card based cypher created by Bruce Schneier and featured in Neal Stephenson’s Cryptonomicon

10 releases

0.1.9 Feb 24, 2024
0.1.8 Feb 24, 2024

#1152 in Command line utilities

Download history 311/week @ 2024-02-18 182/week @ 2024-02-25 20/week @ 2024-03-03 33/week @ 2024-03-10 86/week @ 2024-03-17 1/week @ 2024-03-24 20/week @ 2024-03-31

87 downloads per month

MIT/Apache

80KB
1K SLoC

solitaire_cypher_cli

An implementation of the playing card based cypher created by Bruce Schneier and featured in Neal Stephenson’s "Cryptonomicon". Encrypts or Decrypts stdin to stdout based on the command line provided passphrase. Returns error if the passphrase includes any non-letter characters. Crate solitaire_cypher exists to provide these, and more, functions in a lib. See: https://www.schneier.com/academic/solitaire/ and, of course, read Cryptonomicon!

Installation

cargo install solitaire_cypher_cli

Examples

$ solitaire_cypher_cli --help
Usage: solitaire_cypher --passphrase <PASSPHRASE> <--encrypt|--decrypt>

Options:
-e, --encrypt                  Encrypt stdin with keystream generated from passphrase
-d, --decrypt                  Decrypt stdin with keystream generated from passphrase
-p, --passphrase <PASSPHRASE>  passphrase (letters only) for key generation
-h, --help                     Print help
-V, --version                  Print version
$ echo "SOLITAIRE" | solitaire_cypher_cli --passphrase cryptonomicon --encrypt
KIRAK SFJAN
$ echo "KIRAK SFJAN" | solitaire_cypher_cli --passphrase cryptonomicon --decrypt
SOLITAIREX
$

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~6–8.5MB
~144K SLoC