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
The package has not yet been uploaded to PyPI, and hence needs to be built from source.
git clone https://gitlab.com/loggerheads-with-binary/meteor_diceware.git
cd meteor-diceware
python3 -m pip install -r requirements.txt
python3 setup.py install
Note: The utility already comes with the original diceware list as the wordlist main
. 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.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7af54107597828b4142285df2da9eded65accc15afbb9da7d30dd39d675cb5b7 |
|
MD5 | f5e1415b7eae0f0e792ba2c1c4108b03 |
|
BLAKE2b-256 | 5b0558f300f314a04b1c62bcdcaf434a79d76109097b97b44c1e62c1233427c0 |