Skip to main content

Post-quantum cryptography library with built-in plausible deniability.

Project description

Pycryptox

Post-quantum cryptography library for Python.

Four protocols, one goal: protect your data against today's threats and tomorrow's quantum computers.

Protocol What it does
PURPLE Encrypt with a password
BLUE Encrypt with asymmetric keys + plausible deniability
RED Encrypt with a threshold (t-of-n)
YELLOW Steganography (coming soon)
import pycryptox as crx

keys = crx.blue.genkeys("1")
bundle = crx.blue.encrypt("1", keys["gpubkey"], xmsg="real", ymsg="decoy")
crx.blue.decrypt("1", keys["xprivkey"], bundle)  # → "real"
crx.blue.decrypt("1", keys["yprivkey"], bundle)  # → "decoy"

Prerequisites

Pycryptox uses liboqs (via liboqs-python) for all ML-KEM-512 post-quantum operations. This dependency is not installed automatically because the current PyPI release of liboqs-python is broken — it must be installed from GitHub:

pip install git+https://github.com/open-quantum-safe/liboqs-python@0.12.0

This requires a C compiler, CMake, and Git. The first import oqs automatically downloads and compiles the liboqs C library (~2-5 min, one-time only). See installation guide for platform-specific instructions.

Installation

pip install pycryptox

Documentation

📖 English · Français

Tests

🧪 Test suite — 162 tests covering all protocols and keystores.

cd pycryptox/tests
python run_all.py

Credits

See CREDITS.md

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

pycryptox-1.0.1.tar.gz (64.4 kB view details)

Uploaded Source

Built Distribution

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

pycryptox-1.0.1-py3-none-any.whl (74.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pycryptox-1.0.1.tar.gz
Algorithm Hash digest
SHA256 304a2fdcf549f458000616d70259d318f82da1a701c00263f145efaa4ef4ef75
MD5 06ddb7e7a9fdbcd31b3de369ac36b33b
BLAKE2b-256 ad1abc5cb65f9eeb46a4bfcb5d65241a8ca532a22c58f99139d645b74dd9a1b0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pycryptox-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e85237c4fca5a5bf83081ff9677a740d2027e1512607a699cd2b89afd6fe1580
MD5 de0dee52e260eb53edc4e68c3a6a36e6
BLAKE2b-256 fff1c3d22aa7e2537329babe55c3aa1e61305b8d5ef799e7d679a680645f3027

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