Metadata-Version: 2.4
Name: pycryptox
Version: 1.0.1
Summary: Post-quantum cryptography library with built-in plausible deniability.
Author: Mister Z
License-Expression: MIT
Project-URL: Documentation, https://github.com/Mister-ZE/pycryptox/tree/main/pycryptox/documentation/en
Project-URL: Repository, https://github.com/Mister-ZE/pycryptox
Project-URL: Issues, https://github.com/Mister-ZE/pycryptox/issues
Keywords: cryptography,post-quantum,encryption,deniability,ml-kem,kyber
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security :: Cryptography
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=42.0
Requires-Dist: argon2-cffi>=23.1
Requires-Dist: rapidfuzz>=3.0
Dynamic: license-file

# 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)* |

```python
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](https://github.com/open-quantum-safe/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:

```bash
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](pycryptox/documentation/en/installation.md) for platform-specific instructions.


## Installation

```bash
pip install pycryptox
```


## Documentation

📖 [English](pycryptox/documentation/en/INDEX.md) · [Français](pycryptox/documentation/fr/INDEX.md)


## Tests

🧪 [Test suite](pycryptox/tests/) — 162 tests covering all protocols and keystores.

```bash
cd pycryptox/tests
python run_all.py
```


## Credits

See [CREDITS.md](pycryptox/CREDITS.md)
