Research preview

Overview

What VORTEX-256 is, why RotMLWE matters, and how it compares to ML-KEM for practitioners.

Skip to content

What is VORTEX-256?

VORTEX-256 is a lattice-based Key Encapsulation Mechanism (KEM) invented at Bajpai Labs. It lets two parties establish a shared 32-byte secret over an insecure channel — the foundational operation behind post-quantum TLS, VPNs, and encrypted messaging.

The cryptographic innovation is Rotational Module Learning With Errors (RotMLWE): instead of hiding secrets under a random module matrix (as ML-KEM does), VORTEX hides a single secret under the Frobenius orbit of one ring element.

Standard approach (ML-KEM):          VORTEX-256 approach (RotMLWE):

   A  (k×k matrix)                       a  (one element)
   ↓                                     ↓
   A·s + e                                 a₀=a, a₁=σ(a), a₂=σ²(a)…

                                           aᵢ·s + eᵢ

Design goals

GoalHow VORTEX achieves it
Novel security foundationNew hardness assumption (RotMLWE) with a clean algebraic construction
Wire-compatible footprintSame pk/ct sizes as Kyber-512 — 800 / 768 / 32 bytes
Efficient key expansion1 XOF call + cheap permutations vs k² matrix expansion
Accessible to developersPure Python (zero deps) + optional C native backend + PEM support
CCA-secure by constructionFujisaki–Okamoto transform with implicit rejection

Who is this for?

AudienceUse caseStart here
Application developersPost-quantum key exchange in apps, services, IoTQuickstartIntegration guide
Security engineersThreat modeling, key management, compliance reviewSecurity model
CryptographersAnalyze RotMLWE assumption, parameter choicesConceptsCryptography
Systems programmersEmbed in C/C++ services, firmware, HSMsC library guide
ContributorsExtend the library, fix bugs, improve performanceDevelopment guide

How a key exchange works

The shared secret is never transmitted. Bob derives it during encapsulation; Alice recovers the identical value during decapsulation.

Package surfaces

SurfaceInstallBest for
Python (vortex_pqc)pip install vortex-pqcApplications, scripts, services, prototyping
C library (libvortex_pqc.a)Build from sourceEmbedded systems, native services, language bindings
PEM encodingIncluded in Python packageKey files, config management, ops tooling

When to use VORTEX-256

Good fit

  • Post-quantum research and prototyping
  • Education and benchmarking lattice KEM constructions
  • Exploring alternatives to ML-KEM's matrix-based assumption
  • Applications that need Kyber-compatible wire sizes with a different primitive
  • Production TLS without independent security audit
  • Regulated environments requiring NIST-approved algorithms (use ML-KEM)
  • Long-term archival keys where algorithm agility is unavailable

See Comparison guide and Security model for details.

Research preview status

VORTEX-256 is published as a research preview — similar to how major organisations ship experimental APIs before general availability:

StageStatus
Reference implementation✅ Python + C
Test suite✅ 26 Python + 3 C tests
Documentation✅ You are here
PyPI distributionvortex-pqc
NIST standardisation❌ Not applicable
Independent cryptanalysis⏳ Ongoing community review welcome

Next steps

Ready to code?Quickstart

Integrating into a service?Key exchange guide

Want the math?Core concepts

Evaluating vs Kyber?Comparison guide