Skip to main content

Meteor Diceware

A low-resource, easy to use, low latency, customizable and cryptographically secure implementation of Diceware which uses a single database which can populate millions of entries for possible words and can easily generate cryptographically strong and secure passwords which one can easily remember.

Installation

python3 -m pip install meteor-diceware

Note: By default, when you run meteor-diceware for the first time, it will install the main wordlist, which is the original diceware wordlist. This is done to have at least one default wordlist to create passphrases from

Other wordlists can be inserted manually through files or via the command line(Check utils

Creating a simple password

Meteor Diceware has a single syntax to go from

python3 -m meteor_diceware -n <noofwords> -d <delimiter> -s <noofspecialcharacters> 

Ex:

$ python3 -m meteor_diceware -n 7 -d _ -s 4 
> D7eferred_Sp%ur_Unifier_Unstamped_Gamma_Episode_/Sp~oof

You can also specify the wordlist with the -w flag. By default, the main wordlist is used(original diceware wordlist). However, you can also create and use other wordlists for your own taste. Check meteor_diceware.utils for the same.

Use cases

It's always advised to use >= 5 words for the password as well as to use >=2 special characters. To establish the same, one can do the following:

Ex:

$ python3 -m meteor_diceware -n 5 -d "_" -s 2 
> For_2Says_For_Ch8aracters_Is  

NOTE :: Please do not use diceware and then make obvious substituions like changing SANA to $^N^. It has been proven time and again that addition, not substitution is what makes a password more cryptographically secure. As in MALO0NE is more secure than MAL0NE

Environment Variable [METEOR_DICEWARE_WORDSET_DEFAULT]

The environment variable METEOR_DICEWARE_WORDSET_DEFAULT can be used to specify the default wordlist to be used for diceware password generation. This can further be modified with the -w option in the CLI

Using utils

meteor_diceware.utils is a bundled accessory which helps generate, edit, delete, concatenate, backup and maintain wordlists.

The following actions can be performed via the utils command-line:

  1. python3 -m meteor_diceware.utils create <wordlistname> -w <word1> <word2>... -f <text file to pull words from> : Generate a new wordlist by the name <wordlistname>
  2. utils edit <wordlistname> -w <word1> <word2> ... -f <file> : It adds words to an existing database Note: Check more on using the snowflake flag in the file snowflake.pdf or snowflake.md *Note: You can use utils snowflake to print all information about the --snowflake flag on the terminal
  3. utils show <wordlistname> : Shows summary and content information of the wordlist
  4. utils freeze <wordlistname> -o <file> : Outputs all the words from the wordlist in the text file <file>
  5. utils rm <wordlist1> <wordlist2> ... : Remove one or more wordlists from the database
  6. utils ls : Lists all the existing wordlists from the database
  7. utils cp <wordlist> -t <target> : Copies wordlist to target within the database. Can be used as a backup of some sort
  8. utils cat <wordlist1> <wordlist2> .... -t <target> : Concatenates files from all the different wordlists to the target wordlist
  9. utils recount <wordlist1> <wordlist2> ... : Rebases and reindexes the wordlists. This counter/index is used internally within the program and is not exposed to the user.
  10. utils backup <wordlist1> <wordlist2> ... -o <file> : Creates a copy of the wordlists into a separate SQLite Database file <file>
  11. utils restore <file> -W <wordlist1> <wordlist2> --replace : Restores wordlists from a separate file to the main database
  12. utils histogram <wordlist> --graphic/--tabular/--output <file> : Creates a length histogram of the words in the wordlist and presents in both tabular and graphic form. Can also be exported to .csv format if -o flag is used.
  13. utils scrape <wordlist> --links <link1> <link2> ... : Scrape the links and add the words to the wordlist. Use --responsive flag for responsive pages and use selenium.

Default Files

A text file actual_diceware.txt and an initialized database default.sqlite3 exist within the program. The actual_diceware.txt consists of words from the actual diceware program while the default.sqlite3 is a database which contains the default wordlist and the wordlists mechanism table.

Credits

The following Diceware Words List has been used as-is to create the main wordlist of the program.

Bugs

Any bugs or cryptographic suggestions can be sent to dev@aniruddh.ml

Release files for meteor-diceware 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meteor-diceware 2.3.0
File Size Uploaded
meteor-diceware-2.3.0.tar.gz 266.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meteor-diceware 2.3.0
File Interpreter ABI Platform
meteor_diceware-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 532.5 kB

Release files / meteor-diceware-2.3.0.tar.gz

Download URL meteor-diceware-2.3.0.tar.gz
Size 266.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3714a52a99255007a8b71743ce335e6fdccbfbd6439f0350c03f3c37310ec1f9
BLAKE2b-256 checksum
How to use checksums
1d79d9f8d034390f711ee23fb68b51acfac1cc6804fd0a8bf84f80dfd487481b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.7

Release files / meteor_diceware-2.3.0-py3-none-any.whl

Download URL meteor_diceware-2.3.0-py3-none-any.whl
Size 265.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f6e1791fe43004f3325bed36d3bb3eb6246423f686a18b40aad6fcbf8903792
BLAKE2b-256 checksum
How to use checksums
3d94676efc1b2092ed83f03a498c6c6e93044984c45afc6dab4fdc68f354358f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.7

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.6

2 release files

2.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page