A low-resource, easy to use, low latency, customizable and cryptographically secure implementation of Diceware
Project description
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
You could also install the main diceware wordlist with the following
python3 -m meteor_diceware.utils create main -w
python3 -m meteor_diceware.utils scrape main --links "https://gitlab.com/loggerheads-with-binary/meteor_diceware/-/raw/main/actual_diceware.txt"
Other wordlists can be inserted manually through files or via the command line
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
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:
python3 -m meteor_diceware.utils create <wordlistname> -w <word1> <word2>... -f <text file to pull words from>
: As obvious this generates a new wordlist by the name<wordlistname>
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.pdfutils show <wordlistname>
: Shows summary and content information of the wordlistutils freeze <wordlistname> -o <file>
: Outputs all the words from the wordlist in the text file<file>
utils rm <wordlist1> <wordlist2> ...
: Remove one or more wordlists from the databaseutils ls
: Lists all the existing wordlists from the databaseutils cp <wordlist> -t <target>
: Copies wordlist to target within the database. Can be used as a backup of some sortutils cat <wordlist1> <wordlist2> .... -t <target>
: Concatenates files from all the different wordlists to the target wordlistutils recount <wordlist1> <wordlist2> ...
: Rebases and reindexes the wordlists. This counter/index is used internally within the program and is not exposed to the user.utils backup <wordlist1> <wordlist2> ... -o <file>
: Creates a copy of the wordlists into a separate SQLite Database file<file>
utils restore <file> -W <wordlist1> <wordlist2> --replace
: Restores wordlists from a separate file to the main databaseutils 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.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.
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
Project details
Release history Release notifications | RSS feed
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
Hashes for meteor_diceware-2.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9692a035376bc8789204122bee4131f2665bc10edf8c08c00d6d657669d643c1 |
|
MD5 | 4f53bdf4e1e7868065dad855c2557dcd |
|
BLAKE2b-256 | 2ad5245cd77e24139ca43b08dbca5356aba67206225c58ca74047be3f7b2e626 |