Cypherseed is a simple high-entropy passphrase creation tool that uses mulitple wordlists to generate secure and memorable passphrases.
- Generate high-entropy passphrases
- Customizable word count, word length, and inclusion of numbers/symbols
- Supports multiple wordlists
- Calculates passphrase strength in bits
- Easily update and filter wordlists
-
Clone the repository:
git clone https://github.com/yourusername/cypherseed.git cd cypherseed
-
(Optional) Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
To generate a passphrase, run:
./cypherseed.py <word_count> [--wordlist <wordlist_name>] [--min-length <min_length>] [--max-length <max_length>] [--include-numbers] [--include-symbols]
<word_count>: Number of words in the passphrase (required)
--wordlist: Name of the wordlist to use (default: default)
--min-length: Minimum length of each word
--max-length: Maximum length of each word
--include-numbers: Include numbers in the passphrase
--include-symbols: Include symbols in the passphrase
Example:
./cypherseed.py 7 --wordlist eff_short_wordlist.txt --min-length 5 --max-length 8 --include-numbers --include-symbols
To calculate the strength of a passphrase, use:
./scripts/calculate_strength.py <word_count> <wordlist_size>
- <word_count>: Number of words in the passphrase (required)
- <wordlist_size>: Number of words in the wordlist (required)
Example:
./scripts/calculate_strength.py 4 5000
To download and filter wordlists, use:
./scripts/update_wordlists.py [--download <URL>] [--source <source_path>] [--destination <destination_path>]
- --download: URL to download a new wordlist
- --source: Source wordlist file path for filtering
- --destination: Destination file path for the updated wordlist
Example:
./scripts/update_wordlists.py --download https://example.com/wordlist.txt --destination cypherseed/wordlists/new_wordlist.txt
./scripts/update_wordlists.py --source cypherseed/wordlists/english.txt --destination cypherseed/wordlists/filtered_wordlist.txt