#cypher #xkcd #encryption #command-line-tool #cli

bin+lib scream_cypher

A CLI tool and library for encrypting and decrypting messages using the scream cypher

3 stable releases

new 1.0.2 Feb 22, 2025

#497 in Cryptography

Download history

55 downloads per month

MIT/Apache

10KB
101 lines

scream_cypher

Crates.io Version Crates.io Size docs.rs GitHub Sponsors

In the SCREAM CYPHER, messages consist of all As with different letters distinguished using diacritics. This is a tool that provides both a CLI tool and a library to encrypt and decrypt text using the scream cypher.

Acknowledgements

This cypher originated from XKCD. Thank you, Randall Munroe, for always bringing such beautiful things into this world.

Command line installation and usage

Install scream_cypher with Cargo:

cargo install scream_cypher

You can then use the scream command to encrypt and decrypt messages:

scream encrypt "This is a test."
# Āa̰ảã ảã a āáãā.

scream decrypt "Āa̰ảã ảã a āáãā."
# This is a test.

Library installation and usage

Add scream_cypher to your project:

cargo add scream_cypher

You can then use scream_cypher::encrypt and scream_cypher::encrypt to encrypt and decrypt messages:

let ciphertext = scream_cipher::encrypt("This is a test.");

println!("Your message: \"{}\"", ciphertext);
// Your message: "Āa̰ảã ảã a āáãā."

let plaintext = scream_cipher::decrypt(cyphertext);

println!("Your message: \"{}\"", plaintext);
// Your message: "This is a test."

License

This project is dual licensed under Apache 2.0 or MIT.

Dependencies

~1.4–2MB
~39K SLoC