A simple and secure passphrase generator based on the Diceware™ method created by Arnold G. Reinhold.
Diceware is a method for creating passphrases, passwords, and other cryptographic variables using an ordinary dice as a source of randomness. This method ensures that your passphrases are truly random and secure against various types of attacks.
For more information about the original Diceware™ method, visit: https://www.diceware.com/
- 🌍 Multi-language support: English and Spanish wordlists included
- 🎯 True randomness: Uses secure random number generation
- 📝 7,776 words per language: Complete standard Diceware wordlists
- 🖥️ Simple CLI interface: Easy-to-use command-line interface
- 🔒 Secure: No internet connection required, runs completely offline
- Python 3.6 or higher
- Clone this repository:
git clone https://github.com/th-hoffmann/DicewarePy.git
cd DicewarePy- Run the script:
python3 Diceware.py-
Run the program:
python3 Diceware.py
-
Select your language:
1for English2for Español (Spanish)0to Exit
-
Choose the number of words for your passphrase (recommended: 6-8 words)
-
Your secure passphrase will be generated!
$ python3 Diceware.py
██████╗ ██╗ ██████╗███████╗██╗ ██╗ █████╗ ██████╗ ███████╗██████╗ ██╗ ██╗
██╔══██╗██║██╔════╝██╔════╝██║ ██║██╔══██╗██╔══██╗██╔════╝██╔══██╗╚██╗ ██╔╝
██║ ██║██║██║ █████╗ ██║ █╗ ██║███████║██████╔╝█████╗ ██████╔╝ ╚████╔╝
██║ ██║██║██║ ██╔══╝ ██║███╗██║██╔══██║██╔══██╗██╔══╝ ██╔═══╝ ╚██╔╝
██████╔╝██║╚██████╗███████╗╚███╔███╔╝██║ ██║██║ ██║███████╗██║ ██║
╚═════╝ ╚═╝ ╚═════╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
Diceware Passphrase Generator
1. English
2. Español
0. Exit
Select the language: 1
Enter the number of words for your password: 6
51234 -> horse
41356 -> battery
23145 -> staple
61432 -> correct
15234 -> amount
34512 -> system
- Use 6-8 words for strong security (recommended by security experts)
- Each additional word exponentially increases security
- Don't reuse passphrases across different accounts
- Store securely using a password manager when possible
| Words | Possible Combinations | Equivalent Random Password |
|---|---|---|
| 4 | ~3.6 × 10¹⁵ | ~51 bits |
| 5 | ~2.8 × 10¹⁹ | ~64 bits |
| 6 | ~2.2 × 10²³ | ~77 bits |
| 7 | ~1.7 × 10²⁷ | ~90 bits |
| 8 | ~1.3 × 10³¹ | ~103 bits |
DicewarePy/
├── Diceware.py # Main application
├── english.txt # English wordlist (7,776 words)
├── spanish.txt # Spanish wordlist (7,776 words)
└── README.md # This file
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
To add support for a new language:
- Create a new wordlist file with 7,776 words (following Diceware format)
- Add the language option to the main menu
- Create a new function following the existing pattern
- Update this README
This project is licensed under the MIT License - see the LICENSE file for details.
- Arnold G. Reinhold for creating the original Diceware™ method
- The Electronic Frontier Foundation (EFF) for promoting secure password practices
- The open-source community for various improvements and suggestions
Note: Diceware™ is a trademark of Arnold G. Reinhold. This implementation is not affiliated with or endorsed by the original creator.