Skip to main content

Simple high-entropy passphrase generation tool

Project description

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.

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.1.tar.gz (122.7 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.1-py3-none-any.whl (118.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cypherseed-0.1.1.tar.gz
  • Upload date:
  • Size: 122.7 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.1.tar.gz
Algorithm Hash digest
SHA256 6cd9eb267afc045ad0552c3c643ce77c0ad2210f705fc10acb24f0fff1c63a71
MD5 880ab982561a684e26cfeb52dd015149
BLAKE2b-256 7e7f0d6e4dbca93ca5471da01087dbf1f75dea367b4516cf6f7b2a699acd169b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cypherseed-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 118.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cac5e62cfac9798f14027157595ace53f554b3294e90b5b04bf0bc0f86f7599c
MD5 a7948dfacb13d445667c8804a36ca77e
BLAKE2b-256 cf44e19baefbe0d5c3804c9c52a4494d87a30467c1b7bd3da7b7cf5ad2e7e176

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