pqcrypto
Post-quantum cryptography for Python.
Decision gist · record as of 2026-08-14
Yes, if you need post-quantum cryptography today. The library is actively maintained, has no known vulnerabilities, covers common platforms with pre-built wheels, and implements algorithms from the NIST standardization process. Install friction is moderate due to C bindings but manageable. Suitable for production use in applications requiring long-term confidentiality or where quantum threats are a concern.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.9; cffi dependency must compile C bindings on platforms without pre-built wheels.
- Medium install friction due to compiled C bindings via cffi, but pre-built wheels cover common platforms (macOS, Linux, Windows) and Python versions 3.9 and later.
- Repository is actively maintained with recent commits.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must retain license notices and state changes.
last release 2026-01-25 (201 days) · last repo commit 2026-08-14 · 95 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 92,148 downloads/mo, #13,473 on PyPI
Alternatives
Verify before relying
pip install pqcrypto
from pqcrypto.kem.ml_kem_768 import generate_keypair, encrypt, decrypt
public_key, secret_key = generate_keypair()
ciphertext, plaintext = encrypt(public_key)
recovered = decrypt(secret_key, ciphertext)- Whether all listed KEM and signature algorithms have reached NIST standardization or remain in draft/candidate status.
- Performance characteristics (key size, signature size, operation latency) for each algorithm relative to classical alternatives.
- Interoperability guarantees with other post-quantum libraries or standards bodies beyond NIST submission process.
What it is and what it does
PQCrypto wraps CFFI bindings to C implementations of post-quantum cryptographic primitives submitted to the NIST Post-Quantum Cryptography Standardization process. It provides two main cryptographic operations: Key Encapsulation Mechanisms (KEMs) for secure key establishment and digital signature algorithms for authentication and integrity. The library is designed to be composable with existing cryptographic libraries and follows the Unix philosophy of doing one thing well.
The package supports multiple algorithm families including ML-KEM, ML-DSA, Falcon, SPHINCS+, HQC, and McEliece variants. It targets developers building systems that need to be resistant to future quantum computer attacks while remaining interoperable with current communication protocols. Installation is straightforward on common platforms via pre-built wheels, though it requires cffi and a C compiler for platforms without binary distributions.
Use it for
- Secure key exchange in applications that need to remain confidential against future quantum threats.
- Digital signatures for long-term document authenticity in regulated industries (finance, healthcare, government).
- Hybrid cryptography: combining classical and post-quantum algorithms during a transition period.
- Research and prototyping of quantum-resistant protocols before NIST standards are finalized.
- Building cryptographic systems for infrastructure expected to operate for decades.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need post-quantum cryptography today.
The library is actively maintained, has no known vulnerabilities, covers common platforms with pre-built wheels, and implements algorithms from the NIST standardization process. Install friction is moderate due to C bindings but manageable. Suitable for production use in applications requiring long-term confidentiality or where quantum threats are a concern.
Install
pqcrypto on PyPI
Before you install
Medium install friction due to compiled C bindings via cffi, but pre-built wheels cover common platforms (macOS, Linux, Windows) and Python versions 3.9 and later. Repository is actively maintained with recent commits.
Requires Python >=3.9; cffi dependency must compile C bindings on platforms without pre-built wheels.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must retain license notices and state changes.
Quickstart
pip install pqcrypto
from pqcrypto.kem.ml_kem_768 import generate_keypair, encrypt, decrypt
public_key, secret_key = generate_keypair()
ciphertext, plaintext = encrypt(public_key)
recovered = decrypt(secret_key, ciphertext)
Verify before relying
- Whether all listed KEM and signature algorithms have reached NIST standardization or remain in draft/candidate status.
- Performance characteristics (key size, signature size, operation latency) for each algorithm relative to classical alternatives.
- Interoperability guarantees with other post-quantum libraries or standards bodies beyond NIST submission process.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagecffi |
| Maintenance | Actively maintained 201 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,148 / month, #13,473 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsIntended Audience :: Telecommunications IndustryProgramming Language :: CProgramming Language :: Python :: 3Topic :: SecurityTopic :: Security :: CryptographyTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Utilities |
Evidence: pqcrypto-0.4.0-cp310-cp310-macosx_11_0_arm64.whl; pqcrypto-0.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pqcrypto-0.4.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; pqcrypto-0.4.0-cp310-cp310-musllinux_1_2_aarch64.whl; pqcrypto-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl; pqcrypto-0.4.0-cp310-cp310-win32.whl; pqcrypto-0.4.0-cp310-cp310-win_amd64.whl; pqcrypto-0.4.0-cp311-cp311-macosx_11_0_arm64.whl; pqcrypto-0.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pqcrypto-0.4.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; pqcrypto-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl; pqcrypto-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl; pqcrypto-0.4.0-cp311-cp311-win32.whl; pqcrypto-0.4.0-cp311-cp311-win_amd64.whl; pqcrypto-0.4.0-cp312-cp312-macosx_11_0_arm64.whl; pqcrypto-0.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pqcrypto-0.4.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; pqcrypto-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl; pqcrypto-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl; pqcrypto-0.4.0-cp312-cp312-win32.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “quantum-resistant encryption”
- pqcryptoProvides Python bindings to post-quantum cryptographic algorithms…
- liboqs-pythonPython 3 wrapper for the liboqs C library, providing post-quantum…
- dilithium-pyA pure-Python implementation of ML-DSA (FIPS 204) and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also liboqs-python · dilithium-py · pycrypto · ff3 · pycryptodomex · SLH-DSA · python-olm · django-cryptography · pyseto · cryptography