Skip to main content

Simple high-entropy passphrase generation tool

Project description

cypherseed

PyPI version Python 3.8+ License: MIT

A simple high-entropy passphrase generation tool that uses mulitple wordlists to create secure, memorable, and cryptographically strong passphrases.

Features

  • High-entropy passphrases using cryptographically secure randomness
  • Flexible customization - word count, length filters, separators
  • Comprehensive strength analysis with entropy calculations and time-to-crack estimates
  • Wordlist management - download, filter, and analyse custom wordlists

Quick Start

Installation from PyPI

pip install cypherseed

Installation from Source

git clone https://github.com/fidacura/cypherseed.git
cd cypherseed

# create venv (recommended)
python -m venv venv
source venv/bin/activate

# install in editable mode
pip install -e .

Command Reference

Basic Usage

# generate a simple 4-word passphrase
cypherseed generate 4

# generate with strength analysis
cypherseed generate 6 --show-strength

# use random numbers/symbols as separators
cypherseed generate 5 --random-separators

Generate Passphrases

# basic generation
cypherseed generate <word_count>

# advanced options
cypherseed generate 6 \
    --wordlist eff_large_wordlist \
    --min-length 4 \
    --max-length 8 \
    --include-numbers \
    --include-symbols \
    --separator "_" \
    --count 3 \
    --show-strength

# use random separators (numbers/symbols between words)
cypherseed generate 4 --random-separators
# output: word7word@word3word

# generate multiple passphrases
cypherseed generate 5 --count 10

Calculate Strength

# analyse passphrase strength
cypherseed calculate 4 --wordlist default --detailed
cypherseed calculate 6 1296  # 6 words from 1296-word list

Manage Wordlists

# list available wordlists
cypherseed update --list

# download new wordlist
cypherseed update --download https://example.com/wordlist.txt --destination custom.txt

# filter existing wordlist
cypherseed update \
    --source wordlist.txt \
    --destination filtered.txt \
    --min-length 4 \
    --max-length 8 \
    --exclude-pattern ".*ing$"

# analyse wordlist
cypherseed update --source wordlist.txt --analyse

Available Wordlists

  • default - 7,776 words (3-9 characters) - Balanced for security and memorability
  • eff_large_wordlist - 7,776 words (3-9 characters) - EFF's large wordlist
  • eff_short_wordlist - 1,296 words (3-5 characters) - EFF's short wordlist for limited typing
  • diceware_wordlist - 7,776 words (2-12 characters) - Classic Diceware wordlist

Security Features

Cryptographically Secure Randomness

  • Uses Python's secrets module for all random operations
  • No predictable patterns in word or separator selection

High Entropy Generation

  • 4 words from default wordlist: ~51.7 bits entropy
  • 6 words from default wordlist: ~77.5 bits entropy
  • Additional entropy from numbers and symbols when enabled

Strength Analysis

Comprehensive analysis including:

  • Entropy calculations in bits
  • Strength classifications (Very Weak to Very Strong)
  • Time-to-crack estimates
  • Total possible combinations

Examples

Basic Passphrases

$ cypherseed generate 4
Generated passphrase: correct-horse-battery-staple

$ cypherseed generate 6 --separator "_"
Generated passphrase: river_mountain_forest_dancing_wizard_crystal

Enhanced Security

$ cypherseed generate 5 --random-separators
Generated passphrase: house7mountain@river3dancing$wizard

$ cypherseed generate 4 --include-numbers --include-symbols --show-strength
Generated passphrase: correct-horse-battery-7-staple-@-9
Strength Analysis:
  Entropy: 84.5 bits
  Classification: Good
  Time to crack: Millions of years

Strength Analysis

$ cypherseed calculate 5 --wordlist default --detailed
Passphrase Strength Analysis:
  Word count: 5
  Wordlist size: 7776
  Base entropy: 64.6 bits
  Total entropy: 64.6 bits
  Classification: Fair
  Total combinations: 2.84e+19
  Time to crack (avg): 450.8 years

Development

Setup Development Environment

git clone https://github.com/fidacura/cypherseed.git
cd cypherseed

# create virtual environment
python -m venv venv
source venv/bin/activate

# install with development dependencies
pip install -e .

Testing

# run tests
python -m pytest tests/

# run with coverage
python -m pytest tests/ --cov=cypherseed --cov-report=html

License

This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.

Copyright (C) 2025 fidacura. This is free software distributed under GPL v2.0 terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cypherseed-0.1.0.tar.gz (122.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cypherseed-0.1.0-py3-none-any.whl (118.9 kB view details)

Uploaded Python 3

File details

Details for the file cypherseed-0.1.0.tar.gz.

File metadata

  • Download URL: cypherseed-0.1.0.tar.gz
  • Upload date:
  • Size: 122.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for cypherseed-0.1.0.tar.gz
Algorithm Hash digest
SHA256 34e471878e00d54d390348f22f199bed373f3d73896c9998ad479b5678001a33
MD5 f1edf5184c7f086a1e88e1f88962e1de
BLAKE2b-256 2e4e0f5d895d2342d7fe7e7dc97075de1696812238fa51ef6e04714fc5e5bb27

See more details on using hashes here.

File details

Details for the file cypherseed-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cypherseed-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 118.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for cypherseed-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4969edd6d5e7e87f25d4a7264da1d8bd8581744f163ec17b2c51c2d22e67f450
MD5 bf71f2ffb98c4dfcfa955c1971629f82
BLAKE2b-256 240c352e3d046f72530bebb8b2ce9f76fb7b73b3be844b34e8dab1cd98c80215

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page