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 Keyx.

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-2.0.2.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pycryptox-2.0.2.tar.gz
Algorithm Hash digest
SHA256 62a051efd5dfe4ff689f042165a54345134b51adf382b24bbe3a7d24f3b3e046
MD5 9cd181d05cfd80efee3af3a05045a3d0
BLAKE2b-256 bbf4cfc3d36f3dcd53aa092a6f4f7fb4d4a4e0214ecb9f69b08ac6f83cce9319

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pycryptox-2.0.2-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-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 38421c84243922bce8a67837b052548d4b3239022a3696dcbb8f950f76774e45
MD5 04d9d8eed1919095f3c5845473d1eb77
BLAKE2b-256 3d779351a61de2d53ec234ed6a3420b60dd91387b22457e0298162561fcc5e8d

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