Skip to main content

PQC Foundation English wordlist standard with 4096 words and SHA3-512 integrity hash.

Project description

PQC Wordlist

Official Python implementation of the PQC Foundation English Wordlist Standard.

The PQC Wordlist Standard defines a deterministic 4096-word English wordlist designed for use in the PQC ecosystem, including mnemonic generation, seed derivation, wallets, and future post-quantum infrastructure.


Features

  • 4096 English words
  • 12-bit word indices
  • Zero-based indexing (0-4095)
  • Alphabetically sorted
  • Duplicate-free validation
  • SHA3-512 integrity hash
  • Designed for 33-word PQC mnemonics
  • ML-DSA-65 ecosystem compatible
  • Argon2id ecosystem compatible

Standard Specification

Parameter Value
Word Count 4096
Bits Per Word 12
Indexing Zero-based
Index Range 0-4095
Mnemonic Entropy 384 bits
Mnemonic Checksum 12 bits
Total Mnemonic Bits 396 bits
Mnemonic Length 33 words
Primary Hash SHA3-512
Signature Standard ML-DSA-65
KDF Standard Argon2id

Installation

pip install pqc-wordlist

Quick Start

from pqc_wordlist import words

print(len(words()))

Output:

4096

Usage

Load the complete wordlist

from pqc_wordlist import words

all_words = words()

print(len(all_words))

Get a word by index

from pqc_wordlist import word_at

print(word_at(0))
print(word_at(4095))

Get the index of a word

from pqc_wordlist import index_of

print(index_of("example"))

Check whether a word exists

from pqc_wordlist import contains

print(contains("example"))

Returns:

True

or

False

Validate the embedded wordlist

from pqc_wordlist import validate_wordlist

print(validate_wordlist())

Output:

True

Validation checks:

  • Exactly 4096 words
  • No duplicate entries
  • Alphabetically sorted
  • Lowercase only
  • Alphabetic characters only

Calculate SHA3-512

from pqc_wordlist import sha3_512

print(sha3_512())

Returns:

128-character SHA3-512 hex string

Get metadata

from pqc_wordlist import metadata

print(metadata())

Example:

{
    "name": "PQC English Wordlist Standard",
    "version": "1.0.0",
    "words": 4096,
    "bits_per_word": 12,
    "primary_hash": "SHA3-512",
    "signature_standard": "ML-DSA-65",
    "kdf_standard": "Argon2id"
}

API Reference

words()

Returns the complete wordlist.

words()

Type:

tuple[str, ...]

word_at(index)

Returns the word at the specified index.

word_at(index)

Type:

str

Valid range:

0-4095

index_of(word)

Returns the index of a word.

index_of(word)

Type:

int

contains(word)

Checks whether a word exists.

contains(word)

Type:

bool

validate_wordlist()

Validates the embedded PQC wordlist.

validate_wordlist()

Type:

bool

sha3_512()

Calculates the canonical SHA3-512 hash of the wordlist.

sha3_512()

Type:

str

metadata()

Returns metadata describing the PQC Wordlist Standard.

metadata()

Type:

dict

Example

from pqc_wordlist import (
    words,
    word_at,
    index_of,
    contains,
    validate_wordlist,
    sha3_512,
)

print(len(words()))
print(word_at(0))
print(index_of(word_at(0)))
print(contains(word_at(0)))
print(validate_wordlist())
print(sha3_512())

Roadmap

Future PQC Foundation standards built on top of this package:

  • PQC Mnemonic Standard
  • PQC Seed Standard
  • PQC Address Standard
  • PQC Wallet Standard

License

MIT License

Copyright (c) 2026 PQC Foundation


Project Structure

PQC Foundation Repository

https://github.com/rijol95-web3/pqc-foundation

Wordlist Standard

https://github.com/rijol95-web3/pqc-foundation/tree/main/pqc-wordlist

Python SDK

https://github.com/rijol95-web3/pqc-foundation/tree/main/python-pqc-wordlist

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

pqc_wordlist-1.0.1.tar.gz (95.3 kB view details)

Uploaded Source

Built Distribution

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

pqc_wordlist-1.0.1-py3-none-any.whl (122.2 kB view details)

Uploaded Python 3

File details

Details for the file pqc_wordlist-1.0.1.tar.gz.

File metadata

  • Download URL: pqc_wordlist-1.0.1.tar.gz
  • Upload date:
  • Size: 95.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for pqc_wordlist-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1672c8d54b9d87369698d5a509699ce8ff3c68284dbb164bb389eddea5fcf5ee
MD5 a341f903e6eed03e81f6d093b8cfe3c9
BLAKE2b-256 da48c63ad11ddab82b31d6405656f2d79cb48b123322d90f468863da1fafc918

See more details on using hashes here.

File details

Details for the file pqc_wordlist-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pqc_wordlist-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 122.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for pqc_wordlist-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 56fd4c890d625ba05152ce38ef021293b4125b6de81ea25e092d69d1a656b84a
MD5 618a17386c377e9ba385fce86ddd1eba
BLAKE2b-256 e9143b83dd38e66b8ac0f6a18b60348973e3373a4384a7ee24abac933578fb90

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