Supported algorithms

June 23, 2026 · View on GitHub

This file documents the algorithms currently integrated into liboqs, with per-variant detail on standardization status, upstream maintenance, OQS support tier, security level, constant-time status, formal verification, and available optimizations.

Definitions

Upstream-maintenance

The Upstream maintenance column records the maintenance level the upstream implementation team has committed to, using one of the labels below. A label is only set when the upstream has confirmed it; otherwise the entry reads TBD.

  • Actively maintained. There is a named, responsive upstream contact or team. Upstream commits to investigating security reports in a timely manner and incorporating fixes. Upstream releases updates that OQS can track. Upstream has a public written statement describing this commitment, which OQS links to.
  • Best effort. There is a named upstream contact who acknowledges OQS's integration. Upstream will attempt to respond to security reports and incorporate fixes when able, with no commitment on timing or release cadence. Users should not depend on timely upstream fixes.
  • No active maintenance. There is no responsive upstream contact, or upstream has publicly stated wind-down or end-of-life. Fixes will not necessarily be incorporated from upstream. Users considering this algorithm should plan accordingly (alternatives, migration, or maintaining their own fork).
  • TBD. OQS has not yet obtained a confirmed statement from the upstream. This is not a judgment about the upstream; it means the conversation has not concluded.

OQS support tier

The OQS tier column records OQS's own support commitment for each algorithm. Tiers are self-assigned by the OQS technical governance team via PR review, and are structurally parallel to the platform tiers defined in PLATFORMS.md. Promotion or demotion between tiers is proposed via PR and promotion requires the algorithm to have spent reasonable time at its current tier. Tier assignments are not a recommendation for production use of any algorithm in liboqs; see the project-wide disclaimer in README.md.

  • Tier 1 — Core. The highest level of support provided by the project given its limited resources; this should be interpreted within the project's overall limitations. Tier 1 alogrithms must be: upstream marked Actively maintained with a public support statement; covered by the OQS security response process; constant-time tested on all Tier 1 platforms where applicable; built and tested on every Tier 1 platform in CI, every parameter set; at least two OQS committers familiar with the code; has an identified entry in CODEOWNERS.
  • Tier 2 — Supported. Receives general OQS support, with weaker guarantees than Tier 1. Tier 2 alogrithms must be: upstream at least Best effort; covered by the OQS security response process on a best-effort basis; built and tested on all Tier 1 platforms in CI; at least one OQS committer familiar with the code; has an identified entry in CODEOWNERS.
  • Tier 3 — Community. Maintained primarily through community contributions. Tier 3 alogrithms satisfy: upstream status may be any value including No active maintenance; builds in CI, tests best-effort; no OQS commitment beyond accepting community PRs and refusing to knowingly ship broken code. Users are expected to evaluate suitability themselves.

Key encapsulation mechanisms

Algorithm familyStandardizationPrimary implementationUpstream maintenanceOQS tierNIST levelsConstant-timeFormally verifiedOptimization targets
BIKENot selected by NISTawslabs/bike-kemTBDTier 3 (Community)1, 3, 564-bit little-endian, x86_64 (avx2+avx512+pclmul+sse2)
Classic McElieceUnder ISO considerationPQClean/PQClean@1eacfdaNo active maintenanceTier 3 (Community)1, 3, 5portable, x86_64 (avx2+bmi1+popcnt), x86_64 (avx2+popcnt)
FrodoKEMUnder ISO considerationmicrosoft/PQCrypto-LWEKE@a2f9decTBDTier 2 (Supported)1, 3, 5portable, x86_64 (avx2)
HQCSelected by NIST for upcoming standardizationpqc-hqc/hqc@161cd4fTBDTier 2 (Supported)1, 3, 5claimedportable
KyberSelected by NIST as basis for ML-KEM (FIPS 203)pq-crystals/kyber@441c051TBDTier 3 (Community)1, 3, 5partialportable, ARM64_V8, x86_64, x86_64 (avx2+bmi2+popcnt)
ML-KEMStandardized by NISTpq-code-package/mlkem-native@0ba906cActively maintainedTier 1 (Core)1, 3, 5portable, ARM64_V8, CUDA, x86_64 (avx2+bmi2+popcnt)
NTRUNot selected by NIST, under standardization consideration by NTTPQClean/PQClean@4c9e5a3Actively maintainedTier 3 (Community)1, 3, 5portable, x86_64 (avx2+bmi2)
NTRU-PrimeNot selected by NISTopenssh/openssh-portableActively maintainedTier 3 (Community)2portable

Signature schemes

Algorithm familyStandardizationPrimary implementationUpstream maintenanceOQS tierNIST levelsConstant-timeFormally verifiedOptimization targets
CROSSUnder NIST considerationCROSS-signature/CROSS-lib-oqs@179d61bActively maintainedTier 3 (Community)1, 3, 5portable, x86_64 (avx2)
FalconSelected by NIST for upcoming standardizationPQClean/PQClean@1eacfdaTBDTier 3 (Community)1, 5portable, ARM64_V8, x86_64 (avx2)
MAYOUnder NIST considerationPQCMayo/MAYO-C@64e15c6Actively maintainedTier 3 (Community)1, 3, 5portable, ARM64_V8, x86_64 (avx2)
ML-DSAStandardized by NISTpq-code-package/mldsa-native@9b0ee84Actively maintainedTier 2 (Supported)2, 3, 5portable, ARM64_V8, x86_64 (avx2+bmi2+popcnt)
MQOMUnder NIST considerationmqom/mqom-v2@ec6b7faActively maintainedTier 3 (Community)1, 3, 5portable, x86_64 (aes+avx2)
SLH-DSAStandardized by NISTpq-code-package/slhdsa-c@a0fc1ffBest effortTier 3 (Community)1, 3, 5portable
SNOVAUnder NIST considerationvacuas/SNOVA@1c3ca6fBest effortTier 3 (Community)1, 3, 5portable, ARM64_V8, x86_64 (avx2)
UOVUnder NIST considerationpqov/pqov@33fa527Best effortTier 3 (Community)1, 3, 5portable, ARM64_V8, x86_64 (avx2)

Stateful signature schemes

Algorithm familyStandardizationPrimary implementationUpstream maintenanceOQS tierNIST levelsConstant-timeFormally verifiedOptimization targets
LMSStandardized by IRTF, approved by NISTcisco/hash-sigsBest effortTier 2 (Supported)
XMSSStandardized by IRTF, approved by NISTXMSS/xmss-referenceActively maintainedTier 2 (Supported)