A quick and simple cryptographically secure script to generate high entropy passphrases using the Electronic Frontier Foundation's wordlists
Project description
passphraseme
A quick and simple cryptographically secure script to generate high entropy passphrases using the Electronic Frontier Foundation's wordlists.
Installation
pip3 install passphraseme
Usage
Run passphraseme
with a number to generate secure passphrases, like this:
$ passphraseme 7
banana stopwatch appealing germinate survival retired comma
$ passphraseme 5
borrower harvest stature entity blimp
By default, passphraseme
uses EFF's long wordlist. But optionally, you can choose
to use one of EFF's two short wordlists, like this:
$ passphraseme -s1 5
glide canal flag sage those
$ passphraseme -s2 5
optical anonymous nirvana agitate feudalist
You can also choose to use a custom wordlist, like this:
$ passphraseme -d /usr/share/dict/words 7
leading's Oz's caesareans lactate eloped interposed wowed
Strength of passphrases
This table shows the strength (bits of entropy) of passphraseme
-generated passphrases of different lengths (1-10 words).
Bits of entropy/word | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|---|
EFF large wordlist (default) | 12.9 | 12.9 (0 s) | 25.8 (0 s) | 38.7 (1 s) | 51.6 (86 m) | 64.5 (1.2 y) | 77.4 (9.5k y) | 90.3 (73M y) | 103.2 (560B y) | 116.1 (4.2e15 y) | 129 (3.2e19 y) |
EFF short wordlists | 10.3 | 10.3 (0 s) | 20.6 (0 s) | 30.9 (0 s) | 41.2 (4 s) | 51.5 (80 m) | 61.8 (70 d) | 72.1 (243 y) | 82.4 (306k y) | 92.7 (386M y) | 103 (4.8e11 y) |
The brute force time is calculated like this:
I'm assuming you're using a passphrase for macOS 10.8+ (PBKDF2-SHA512) to encrypt your disk with FileVault. According to this post, the password cracking tool hashcat can guess 193,900 passphrases per second on an Amazon AWS p3.16xlarge instance, which costs $24.48 per hour.
If an attacker is willing to spend up to $1 billion per day to guess your passphrase, they can afford to run 1.7 million of these AWS instances at once, meaning they can guess ~330 billion passphrases per second. On average, a brute force attack will find the passphrase after searching half the keyspace, so the times above are how long it takes to search half the keyspace.
Note that the time "3.2e19 y" means "3.2 x 1019 years". Also note that the brute force times will vary wildly, both much quicker or much slower, depending on the hash function or KDF used -- basically, depending on what software you're using this passphrase with.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file passphraseme-0.1.1.tar.gz
.
File metadata
- Download URL: passphraseme-0.1.1.tar.gz
- Upload date:
- Size: 37.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84c049a09e33014c8eafa48fa28bf38cf798b3600c40220b23623b03b7eae8bf |
|
MD5 | 1fc8a70f936432e5b5d4077afa3b238f |
|
BLAKE2b-256 | 4fd9ee6555bc985e6a009bdfc7fb6bd130632ab74cf8c32e1c0844c5de8e9672 |
File details
Details for the file passphraseme-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: passphraseme-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85648db28a177ceee5190df5ee9269b70506456f1e14331249786197146b252e |
|
MD5 | dabcbccc952f96ad406c4119900d0bb7 |
|
BLAKE2b-256 | 2c64258927cdbf28545510acf2ed30ef92c6f8920294df40be9f51d6a81cdee7 |