Research preview

VORTEX-256

The post-quantum KEM built on Rotational Module Learning With Errors — install in 60 seconds, integrate in 15 minutes.

Skip to content

Start here

PathYou'll accomplishTime
🚀QuickstartInstall, run a key exchange, verify shared secrets match5 min
📖OverviewUnderstand what VORTEX-256 is and when to use it10 min
🔌Integration guideWire VORTEX into a real client–server protocol20 min
🔬Core conceptsLearn KEM, RotMLWE, Frobenius orbits, implicit rejection25 min
🛡Security modelThreat model, guarantees, limitations, responsible use15 min

Documentation map

Learn

DocumentDescription
OverviewWhat VORTEX-256 is, design goals, positioning vs ML-KEM
Core conceptsKEM primitives, RotMLWE, Frobenius orbit, FO transform
Cryptography deep diveFull mathematical specification and correctness proof
Comparison guideVORTEX vs Kyber, NTRU, and other lattice KEMs
GlossaryTerms and notation used across these docs

Build

DocumentDescription
QuickstartInstall, first exchange, backends, troubleshooting
Key exchange guideAlice–Bob protocol, network serialization, session keys
Key managementPEM files, rotation, storage, permissions
Python guidePackage API patterns, backends, error handling
C library guideStatic linking, headers, memory safety, embedding
PerformanceBenchmarks, native vs pure Python, optimization notes

Reference

DocumentDescription
API referenceEvery Python and C function, types, constants
PEM formatEncoding specification for keys and ciphertexts
TroubleshootingCommon errors, diagnostics, debug playbook
FAQFrequently asked questions

Contribute

DocumentDescription
ArchitectureRepository layout, backends, CI/CD, doc sync pipeline
Development guideLocal setup, testing, linting, releases
SecurityVulnerability reporting and responsible disclosure

At a glance

PropertyVORTEX-256ML-KEM-512 (Kyber)
Hardness assumptionRotMLWEMLWE
Public structure1 element + K Frobenius rotationsk×k uniform matrix
SecretScalar s ∈ R_qVector s ∈ R_q^k
Keygen XOF calls14
Public key800 B800 B
Ciphertext768 B768 B
StandardisationResearch previewFIPS 203

60-second example

python
from vortex_pqc import generate_keypair, encapsulate, decapsulate

alice = generate_keypair()
bob   = encapsulate(alice.public_key)
assert decapsulate(bob.data, alice.private_key) == bob.shared_secret

Security notice

Research preview. VORTEX-256 introduces a novel cryptographic assumption. It is suitable for research, education, and prototyping. It is not NIST-standardised. Read the Security model before any production evaluation.