niceware

Rust crates.io v0.3.0

My blog post: Porting Niceware to Rust


A Rust port of niceware. Sections of this README have been copied from the original project.

This library generates random-yet-memorable passwords. Each word provides 16 bits of entropy, so a useful password requires at least 3 words.

The transformation from bytes to passphrase is reversible.

Because the wordlist is of exactly size 2^16, niceware is also useful for convert cryptographic keys and other sequences of random bytes into human-readable phrases. With niceware, a 128-bit key is equivalent to an 8-word phrase.

Similar to the source, heed this warning:

WARNING: The wordlist has not been rigorously checked for offensive words. Use at your own risk.

Sample use cases

Tests

bash cargo test

Credits

Rust port:

@Kixunil made some fantastic changes w/r/t idiomatic and performant Rust in #2.

Code, tests, and docs are either straight-up ported/copied from, or inspired by niceware.

Original:

Niceware was inspired by Diceware. Its wordlist is derived from the SIL English word list. This project is based on [diracdeltas] work on OpenPGP key backup for the Yahoo End-to-End project.