Skip to main content

cypherseed

PyPI version Python 3.8+ License: GPL v2

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.

Metadata

Release files for cypherseed 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cypherseed 0.1.1
File Size Uploaded
cypherseed-0.1.1.tar.gz 122.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cypherseed 0.1.1
File Interpreter ABI Platform
cypherseed-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 241.4 kB

Release files / cypherseed-0.1.1.tar.gz

Download URL cypherseed-0.1.1.tar.gz
Size 122.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6cd9eb267afc045ad0552c3c643ce77c0ad2210f705fc10acb24f0fff1c63a71
BLAKE2b-256 checksum
How to use checksums
7e7f0d6e4dbca93ca5471da01087dbf1f75dea367b4516cf6f7b2a699acd169b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / cypherseed-0.1.1-py3-none-any.whl

Download URL cypherseed-0.1.1-py3-none-any.whl
Size 118.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cac5e62cfac9798f14027157595ace53f554b3294e90b5b04bf0bc0f86f7599c
BLAKE2b-256 checksum
How to use checksums
cf44e19baefbe0d5c3804c9c52a4494d87a30467c1b7bd3da7b7cf5ad2e7e176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page