Skip to main content

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

passphraseme-0.1.1.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

passphraseme-0.1.1-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

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

Hashes for passphraseme-0.1.1.tar.gz
Algorithm Hash digest
SHA256 84c049a09e33014c8eafa48fa28bf38cf798b3600c40220b23623b03b7eae8bf
MD5 1fc8a70f936432e5b5d4077afa3b238f
BLAKE2b-256 4fd9ee6555bc985e6a009bdfc7fb6bd130632ab74cf8c32e1c0844c5de8e9672

See more details on using hashes here.

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

Hashes for passphraseme-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85648db28a177ceee5190df5ee9269b70506456f1e14331249786197146b252e
MD5 dabcbccc952f96ad406c4119900d0bb7
BLAKE2b-256 2c64258927cdbf28545510acf2ed30ef92c6f8920294df40be9f51d6a81cdee7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page