VORTEX-256: Novel post-quantum KEM based on Rotational Module LWE (RotMLWE)
Project description
VORTEX-256
A new lattice KEM built on Rotational Module Learning With Errors
Same footprint as Kyber-512 · Entirely different mathematics · Standalone library
A Bajpai Labs project · postquantumlabs.in/library/vortex-pqc
╭──────────────────────────────────────╮
│ │
ρ ──▶ a₀ ──σ──▶ a₁ ──σ──▶ a₂ ──σ──▶ … │
│ Frobenius orbit │
│ of a single ring element │
╰──────────────────────────────────────╯
│
bᵢ = aᵢ · s + eᵢ (K correlated instances)
│
pk · ct · 32-byte shared secret
✦ At a glance
The inventionML-KEM samples a full VORTEX-256 samples one element
One secret |
The footprintIdentical wire sizes to Kyber-512 — drop-in at the byte level.
|
✦ Install
pip install vortex-pqc
No runtime dependencies. Compiles an optional native extension when a C toolchain is present; otherwise falls back to a pure-Python reference.
✦ Thirty seconds to a shared secret
from vortex_pqc import generate_keypair, encapsulate, decapsulate
alice = generate_keypair()
bob = encapsulate(alice.public_key)
# bob sends bob.data (768 B) to alice
alice_secret = decapsulate(bob.data, alice.private_key)
assert alice_secret == bob.shared_secret # both parties agree
✦ How the exchange works
sequenceDiagram
participant Alice
participant Bob
Note over Alice: generate_keypair()
Alice->>Alice: pk (800 B) · sk (1248 B)
Alice->>Bob: public key
Note over Bob: encapsulate(pk)
Bob->>Bob: ct (768 B) · ss (32 B)
Bob->>Alice: ciphertext
Note over Alice: decapsulate(ct, sk)
Alice->>Alice: ss (32 B)
Note over Alice,Bob: shared secrets match
✦ PEM keys
Standard Base64 PEM — compatible with everyday tooling.
from vortex_pqc import PEMKind, write_pem_file, read_pem_file
write_pem_file("key.pem", PEMKind.PRIVATE_KEY, alice.private_key)
sk = read_pem_file("key.pem", PEMKind.PRIVATE_KEY)
-----BEGIN VORTEX256 PRIVATE KEY-----
AQDQABAAABAAAA0AAAAAAPDP/gzQAhAAAAAAAA3QAA0AAPDPAQAAASAAAADQ/wwA
...
-----END VORTEX256 PRIVATE KEY-----
Private key files are written with mode 0600.
✦ C library
cd c && make lib && make test && make demo
#include "vortex_pqc.h"
uint8_t pk[VORTEX_PUBLIC_KEY_BYTES];
uint8_t sk[VORTEX_PRIVATE_KEY_BYTES];
uint8_t ct[VORTEX_CIPHERTEXT_BYTES];
uint8_t ss[VORTEX_SHARED_SECRET_BYTES];
vortex_keypair(pk, sk);
vortex_enc(pk, ct, ss);
vortex_dec(ct, sk, ss);
✦ Documentation
Library home → · Full documentation → · Published docs →
Enterprise: Bajpai Labs
| Guide | For | You'll learn |
|---|---|---|
| Overview | Everyone | What VORTEX is, design goals, positioning |
| Quickstart | Users | Install, first exchange, PEM files |
| Integration guide | Developers | Client–server protocol, session keys |
| Core concepts | Learners | KEM, RotMLWE, Frobenius, FO transform |
| Security model | Security engineers | Threat model, guarantees, limitations |
| API reference | Integrators | Python and C API, byte layouts |
| Comparison | Evaluators | vs ML-KEM, NTRU, other PQC |
| FAQ | Everyone | Common questions answered |
✦ For developers
git clone https://github.com/bajpai-labs/vortex-pqc.git
cd vortex-pqc
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
make test
→ Full workflow in the Development Guide
✦ Security
Research prototype. VORTEX-256 introduces a novel hardness assumption that has not received the years of independent cryptanalysis behind NIST-standardised ML-KEM. Suitable for research, education, and prototyping. Not recommended for production without a formal security review.
✦ Related
This project is fully independent from Kyber-PQC (ML-KEM-512).
Institutional Backing & Maintenance
Post-Quantum Labs is an open-source research and development initiative of Bajpai Labs. All frameworks, kernel-level optimizations, and cryptographic implementations hosted here are engineered and maintained by our core systems architecture team.
| Operational Hub | Technical Documentation |
|---|---|
Enterprise Support & Custom Integrations: Need deterministic sub-microsecond performance, hardware-software co-design, or custom PQC migration frameworks? Contact our corporate consulting arm at Bajpai Labs.
Maintenance & Ownership
This library is part of the open-source ecosystem developed by Post-Quantum Labs, a wholly-owned division of Bajpai Labs.
- Primary Corporate Hub: https://bajpailabs.com
- Documentation & Benchmarks: https://postquantumlabs.com
- Inquiries: research@postquantumlabs.com / hello@bajpailabs.com
License
MIT License. See LICENSE for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vortex_pqc-1.0.1.tar.gz.
File metadata
- Download URL: vortex_pqc-1.0.1.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5637f9cdc5616bb417810040ae2b2ff7fc7c05f511e6ddbc44cedc2fb178d1bb
|
|
| MD5 |
f924c503798efb35ffd474377d0cb576
|
|
| BLAKE2b-256 |
951193b5ea7c1b95f6267081ad271009d76f81d4638cbea9be9407e3784971ed
|
File details
Details for the file vortex_pqc-1.0.1-cp310-cp310-macosx_26_0_arm64.whl.
File metadata
- Download URL: vortex_pqc-1.0.1-cp310-cp310-macosx_26_0_arm64.whl
- Upload date:
- Size: 37.1 kB
- Tags: CPython 3.10, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9d93b7d599663f986e7fcd95b508210c07c18020e7066822fd858c55df515ac
|
|
| MD5 |
c00142f4cbf2f16a716cfcf21d826c57
|
|
| BLAKE2b-256 |
01f60729f33912bb398a77c02fba0a04781026e0ce6c6a2c70cc5e58c37056ab
|