{ "info": { "author": "Uli Fouquet", "author_email": "uli@gnufix.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Security :: Cryptography", "Topic :: Utilities" ], "description": "diceware-list\n=============\n\n|bdg-build| `sources `_ | `issues `_\n\n.. |bdg-build| image:: https://travis-ci.org/ulif/diceware-list.svg?branch=master\n :target: https://travis-ci.org/ulif/diceware-list\n :alt: Build Status\n\nCreate and check wordlists for use with `diceware`_.\n\nThis is not a `diceware`_ implementation, but a helper to create appropriate\nwordlists.\n\nCurrently, we provide three scripts:\n\n - `diceware-list` create wordlists based on input lists\n - `wlflakes` checks existing wordlists for flaws\n - `wldownload` downloads Android wordlists\n\n\nInstall\n--------\n\nInstall latest release from pypi_ ::\n\n (venv) $ pip install diceware-list\n\nor clone repository from github::\n\n $ git clone https://github.com/ulif/diceware-list.git\n\nPlease consider using `virtualenv`_ for deployment.\n\nIn an active `virtualenv` you can install an executable script of\n`diceware-list` running::\n\n (venv) $ python setup.py install\n (venv) $ diceware-list --help\n usage: diceware-list [-h] [-l LENGTH] [-n] [--ascii] [-d SIDES] [-k]\n [--use-416] [-p {none,short,long}] [-v] [--version]\n DICTFILE [DICTFILE ...]\n\n\nCreate Wordlists: `diceware-list`\n---------------------------------\n\nThe `diceware-list` script creates new lists out of given ones::\n\n $ diceware-list -n -l 7776 /usr/share/dict/words\n 11111 a\n 11112 a's\n ...\n 12353 capt\n 12354 cara\n 12355 carl\n ...\n 66663 zoos\n 66664 \u00e9clat\n 66665 \u00e9lan\n 66666 \u00e9p\u00e9e\n\nThe main target of `diceware-list` is to provide \"good\"\nwordlists. Wordlists are considered \"good\" if they\n\n- contain enough terms for use with a certain diceware application\n (for instance 6^6 = 7776 terms if used with six six-sided dice)\n- contain terms as short as possible (to reduce typing)\n- (optionally) contain no words with non-ASCII chars (to enable use\n with non-localized keyboards)\n- (optionally) are a `prefix code`_, i.e. no complete word in the list is\n prefix of another word in the list.\n- contain no offending terms\n\nThe last topic is hard to solve technically (hints welcome!), but\n`diceware-list` can help to follow the other design rules.\n\nThe wordlists generated by `diceware-list` are not meant to be kept\nsecret. You might put them on the internet, publish on facebook or\nprint them in the New York Times. Instead the security of the\n`diceware`_ technique relies on the entropy or (in this case)\n\"randomness\" of your dice, computer, etc.\n\nIn other words: Your passphrases will not be safe because of hiding\nyour wordlist. They will be safe because there are so many possible\ncombinations of words you can pick from your wordlist. That means:\nlonger lists are more secure than shorter ones (if really used to full\nextent by your source of randomness with `diceware`_), but hidden\nlists are *not* more secure than public ones.\n\n\nUsage\n-----\n\nFirst, you need a file with words as \"dictionary\". On typical Debian\nsystems such files can be found in ``/usr/share/dicts/``.\n\nThis file can then be fed to `diceware-list` to create a wordlist\nsuitable for use with diceware.::\n\n $ diceware-list /usr/share/dict/words\n !\n !!\n !!!\n ...\n alan\n alana\n alar\n ...\n zzz\n zzzz\n\nBy default all input words are filtered and output. Using the `-l` option you\ncan request a certain length of the output wordlist. If an input list provides\nmore terms than needed, we will pick a subset. If there are not enough terms in\nthe input list, an error is raised.\n\nWith `-n` you can tell `diceware-list` to put numbers into each line,\nrepresenting dice throws [#]_ ::\n\n\n $ diceware_list -n -l 7776 /usr/share/dict/words\n 11111 !\n 11112 !!\n ...\n 12353 alan\n 12354 alana\n 12355 alar\n ...\n 66665 zzz\n 66666 zzzz\n\nIf you create a wordlist for use with non-standard dice, for instance for\n10-sided dice, then you can tell with `-d` like this::\n\n $ diceware_list -n -d 10 -l 10000 /usr/share/dict/words\n 1-1-1-1 aol\n 1-1-1-2 aachen\n 1-1-1-3 aaron\n ...\n 10-10-10-8 zoomed\n 10-10-10-9 zooms\n 10-10-10-10 zoos\n\nThe `--ascii` option filters terms out, that contain non-ASCII\ncharacters. This can help in generating non-english word lists that\nare usable with regular english keyboards.\n\nThe verbose option `--verbose` can be given multiple times to increase\nverbosity.\n\nSee `--help` for other options.\n\n`diceware-list` follows loosely the recommendations given on\nhttp://diceware.com/ by Mr. Reinhold.\n\n\nCheck wordlists: wlflakes\n-------------------------\n\nFind flakes in wordlists.\n\n::\n $ wlflakes mywordlist.txt\n\nNo output means: no problems detected.\n\nCurrently, only prefix flakes are checked. I.e., we check, whether any line in\nthe given file is the beginning of any other line.\n\n::\n $ cat wordlist.txt\n air\n port\n airport\n\n $ wlflakes wordlist.txt\n wordlist.txt:3: E1 \"air\" from line 1 is a prefix of \"airport\"\n\nAlso `wlflakes` supports ``--help`` or ``-h`` to list all options supported.\n\n\nHandle Android wordlists: wldownload\n------------------------------------\n\nAndroid wordlists are a nice source for wordlists. They can be downloaded from\npublic repositories::\n\n $ wldownload --raw -v\n Starting download of Android wordlist file.\n Fetching wordlist from https://android.googlesource.com/platform/pack...\n Done.\n\n`wldownload` downloads these lists and helps to transform them into lists\nusable for diceware. Be aware, that terms from lists are output on stdout by\ndefault (and Android wordlists contain easily more than 100,000 terms)::\n\n $ wldownload > mylist\n $ cat mylist\n the\n to\n ...\n yt\n yuk\n\nTerms are output on stdout by default (use shell redirects or ``--outfile`` to\nchange that behaviour).\n\nYou can request non-english wordlists using ``--lang`` or ``-l`` with a\nlanguage code like ``cs`` or ``de``. Use ``--lang-codes`` to list all supported\nlanguage codes.\n\nThe ``--no-offensive`` flag suppresses terms marked as possibly offensive.\n\n\n\nTesting\n-------\n\nIn a clone of the sources you can run tests like this::\n\n (venv) $ python setup.py test\n\nThis command will download all required packages, especially\n`py.test`_.\n\nYou can also install `py.test`_ manually with `pip`_::\n\n (venv)$ pip install pytest\n (venv)$ pip install -e .\n\nand afterwards run tests like so::\n\n (venv)$ py.test\n\nIf you also install `tox`::\n\n (venv)$ pip install tox\n\nthen you can run all tests for all supported platforms at once::\n\n (venv)$ tox\n\n\nCoverage\n--------\n\nTo get a coverage report, you can use the respective `tox` target::\n\n (venv)$ tox -e cov\n\nOr you use the common `coverage` tool::\n\n (venv)$ pip install coverage\n (venv)$ coverage run setup.py test\n (venv)$ coverage report --include=\"diceware_list.py,libwordlist.py\"\n\n\n.. [#] The wordlist length in this case should be\n ``(number-of-sides-per-dice)`` powered to\n ``(number-of-dicethrows)``, for instance 6**5 = 7776 for five\n six-sided dice or a single six-sided dice thrown five times.\n\n.. _diceware: http://diceware.com/\n.. _pip: https://pip.pypa.io/en/latest/\n.. _`prefix code`: https://en.wikipedia.org/wiki/Prefix_code\n.. _py.test: https://pytest.org/\n.. _pypi: https://pypi.python.org/\n.. _virtualenv: https://virtualenv.pypa.io/\n\n\n\nChanges\n*******\n\n2.0 (2018-01-23)\n================\n\n- Add new `wldownload` command. This is a tool for handling Android wordlists\n (download, uncompress, parse).\n\n- Add new `wlflakes` command. This is a tool for checking existing\n wordlists for consistency, cryptoflakes, etc.\n\n- The `diceware-list` option `-l` contains no default any more. If the option\n is not set, all suitable terms are output.\n\n\n1.0 (2017-02-09)\n================\n\n- The ``dicewarekit.txt`` list is not included in generated lists by\n default from now on. You can request inclusion with new option\n `use-kit`. The old option `no-kit` is not supported any more.\n\n- In numbered output, separate digits by ``-`` to distinguish numbers\n with more than one digit. Needed at least when generating wordlists\n for dice with more than 9 sides.\n\n- Rename `-s` option to `-d` (as in ``dice-sides``).\n\n- Logging output now registered under name `libwordlist`.\n\n- Added new module `libwordlist` containing the API parts of `diceware-list`.\n\n- New `--version` option.\n\n- New `--prefix` option. If set prefix code is generated, i.e. lists that\n contain no item which is prefix of another list item.\n\n- Claim support for Python 3.6.\n\n- Restructure package: all single scripts are now part of a package.\n\n\n0.3 (2016-07-25)\n================\n\n- Install script as `diceware-list` instead of `diceware_list`.\n\n- Allow `--sides` option to support dice that do not have six sides.\n\n\n0.2 (2016-03-18)\n================\n\n- Allow `-v` option multiple times for increased verbosity.\n\n- Pick maximum width terms randomly. Until that change we included all\n shorter entries and additionally the (alphabetically) first entries\n of maximum width. Now, we pick a random set of these maximum width\n entries for the result list.\n\n- Claim support for Python 3.5.\n\n\n0.1 (2016-02-09)\n================\n\n- Initial release.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ulif/diceware-list", "keywords": "diceware wordlist passphrase", "license": "GPL 3.0", "maintainer": "", "maintainer_email": "", "name": "diceware_list", "package_url": "https://pypi.org/project/diceware_list/", "platform": "", "project_url": "https://pypi.org/project/diceware_list/", "project_urls": { "Homepage": "https://github.com/ulif/diceware-list" }, "release_url": "https://pypi.org/project/diceware_list/2.0/", "requires_dist": null, "requires_python": "", "summary": "Generate diceware wordlists.", "version": "2.0" }, "last_serial": 3514567, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f3d78525f178325a4ef138ab105c87c7", "sha256": "7e28e50520cd1eefa4afbf73588808a5def464ac1fd4fc1cf8190ea3373a91f4" }, "downloads": -1, "filename": "diceware_list-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f3d78525f178325a4ef138ab105c87c7", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9760, "upload_time": "2016-02-09T13:17:58", "url": "https://files.pythonhosted.org/packages/80/29/d59931bfd1ab7bf5c56d2bca70d344854305701a36d217a1caa182f7430e/diceware_list-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fa75f796a6b4f83ff19613542721df0", "sha256": "93a722907ab80f9ede3c9b80c47f581dfec98377ea79c057aafe4cba5637a84c" }, "downloads": -1, "filename": "diceware_list-0.1.tar.gz", "has_sig": false, "md5_digest": "5fa75f796a6b4f83ff19613542721df0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27786, "upload_time": "2016-02-09T13:17:37", "url": "https://files.pythonhosted.org/packages/54/fb/769c2512575cf0070e2ece169508575a645017d88d1aa50d682036e2be2f/diceware_list-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "609189f2de8c6039b3682fa05d165dbb", "sha256": "2d11a5a1e11c1a4e8e363840f9ae9893613837fcad2e10c79aabb94a1c1d7f74" }, "downloads": -1, "filename": "diceware_list-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "609189f2de8c6039b3682fa05d165dbb", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11249, "upload_time": "2016-03-18T10:24:23", "url": "https://files.pythonhosted.org/packages/24/8a/e7f80e5bd9f1c8312f0f23d31e8362b46bd61ad9d6697cd8be0bdd473f67/diceware_list-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e11b3dfbc688bcd39d19a2f0e41d26d8", "sha256": "95f94960d32a8f45b969717685afc7c0459c40f1eedc16aa24057197e12e0bec" }, "downloads": -1, "filename": "diceware_list-0.2.tar.gz", "has_sig": false, "md5_digest": "e11b3dfbc688bcd39d19a2f0e41d26d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29880, "upload_time": "2016-03-18T10:24:16", "url": "https://files.pythonhosted.org/packages/39/2b/cc6f5e331bc2b10c91f6539dd0da77ad747080b40f2c89bed40404aa076f/diceware_list-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "4fbc6dfbeb242023b99bc16b5a3a36c5", "sha256": "e2ffa72258d3ad3caf712f59aa4c2655a0297b33bf10652563e0d8a22048e10c" }, "downloads": -1, "filename": "diceware_list-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fbc6dfbeb242023b99bc16b5a3a36c5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11704, "upload_time": "2016-07-25T11:06:17", "url": "https://files.pythonhosted.org/packages/48/c7/53065f774bd5d5f78cb2aefa33d4b5d6fc151e28f4c6ce12b909c4f09d9a/diceware_list-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4b0845795d4fd453a43c934d4702672", "sha256": "dbceeddd0a4a75a66e2546fe2edf2a2e1e26534bffef580be4307320bb703498" }, "downloads": -1, "filename": "diceware_list-0.3.tar.gz", "has_sig": false, "md5_digest": "c4b0845795d4fd453a43c934d4702672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31896, "upload_time": "2016-07-25T11:06:13", "url": "https://files.pythonhosted.org/packages/13/5c/d9247d7bc2d7e590220aaf5aab2303d8aa530ae2f69e39b288eb214be066/diceware_list-0.3.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "546dd18a0ad435e8926bac4bf5439389", "sha256": "5c8fddce4f73b654d4bc686cf8232eeeff6cb71009146191ed8869df59e4871d" }, "downloads": -1, "filename": "diceware_list-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "546dd18a0ad435e8926bac4bf5439389", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12744, "upload_time": "2017-02-09T11:00:02", "url": "https://files.pythonhosted.org/packages/dd/8b/32ef34a369fe479c2ddcc662662bf3fe60845c2b93d08bdae9ab1906c665/diceware_list-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15fb65b26b2a3e6b667c99fa16ca42d3", "sha256": "c98b3d9164661a23f62c3e8d7cdedc33524e88a60c3b3cf9ad46de4781c58bb5" }, "downloads": -1, "filename": "diceware_list-1.0.tar.gz", "has_sig": false, "md5_digest": "15fb65b26b2a3e6b667c99fa16ca42d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38403, "upload_time": "2017-02-09T10:59:59", "url": "https://files.pythonhosted.org/packages/23/aa/558feaa0b0dfc8b1bf01c6072c737955087c576ceb9f0cd96b85d606f8b6/diceware_list-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "e2ff55a90177b72e4514fbdd41798bbc", "sha256": "505954e3add5e2f338eb87a42a82813052b552df73ed720527c8d98d8756f07c" }, "downloads": -1, "filename": "diceware_list-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2ff55a90177b72e4514fbdd41798bbc", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14689, "upload_time": "2018-01-23T17:12:02", "url": "https://files.pythonhosted.org/packages/6d/30/f797605450c812f45d4072d0b084c3b1ae1defd43c05c28ba3bcc36ba899/diceware_list-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "971c1457c3fb13c39de64be3f05a68b9", "sha256": "9c1c4256ad7a9de6ce23e22e5ad5a9dd5410df9aadc300e98c9b8fdaf07ac734" }, "downloads": -1, "filename": "diceware_list-2.0.tar.gz", "has_sig": false, "md5_digest": "971c1457c3fb13c39de64be3f05a68b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51221, "upload_time": "2018-01-23T17:11:59", "url": "https://files.pythonhosted.org/packages/e6/0e/308ae53c9d5cec09a644ab85b8eb5d2e7249275af32ade6617aa9bec8e28/diceware_list-2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e2ff55a90177b72e4514fbdd41798bbc", "sha256": "505954e3add5e2f338eb87a42a82813052b552df73ed720527c8d98d8756f07c" }, "downloads": -1, "filename": "diceware_list-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2ff55a90177b72e4514fbdd41798bbc", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14689, "upload_time": "2018-01-23T17:12:02", "url": "https://files.pythonhosted.org/packages/6d/30/f797605450c812f45d4072d0b084c3b1ae1defd43c05c28ba3bcc36ba899/diceware_list-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "971c1457c3fb13c39de64be3f05a68b9", "sha256": "9c1c4256ad7a9de6ce23e22e5ad5a9dd5410df9aadc300e98c9b8fdaf07ac734" }, "downloads": -1, "filename": "diceware_list-2.0.tar.gz", "has_sig": false, "md5_digest": "971c1457c3fb13c39de64be3f05a68b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51221, "upload_time": "2018-01-23T17:11:59", "url": "https://files.pythonhosted.org/packages/e6/0e/308ae53c9d5cec09a644ab85b8eb5d2e7249275af32ade6617aa9bec8e28/diceware_list-2.0.tar.gz" } ] }