Files
quasar/PRIMITIVES.md

9.2 KiB

Quasar Primitive Registry

Pinned implementation versions for each primitive consumed by QuasarCert. SPEC.md is stable; primitive implementations may patch within a major version without coordinated cascade. Major-version bumps of any primitive are a coordinated event tracked here.

Primitive registry

Pulsar — Threshold ML-DSA-65 (M-LWE)

Field Value
Repo https://github.com/luxfi/pulsar
Pinned tag v1.0.9
Pinned commit 5d00be9
Submission-readiness tier Tier A (cut-ready) — all 14 doc artifacts + EC 13/13 + Lean 5/5 + Jasmin 3/3 + KAT determinism + 19/19 N1 interop + cryptographer sign-off + cut script dry-run validated
Standard FIPS 204 ML-DSA-65 (NIST PQ digital signature)
Threshold property NIST MPTC Class N1 (single-party-compatible threshold signing) + N4 (public-key preservation across resharing)
Cryptographer sign-off pulsar/CRYPTOGRAPHER-SIGN-OFF.md (APPROVED WITH GATES — GATE-3 dudect 10⁹ operational/nightly)
Submission package NIST MPTC v0.1, cut on 2026-11-16 via scripts/cut-submission.sh
Deployment runbook pulsar/DEPLOYMENT-RUNBOOK.md (CR-6/7/8 closures, v0.1 aggregator trust caveat)
LP LP-4440 (precompile, Final), LP-171 (DKG protocol, Final), LP-180 (NIST submission, Final)

Corona — Threshold R-LWE

Field Value
Repo https://github.com/luxfi/corona (primitive); adapter at https://github.com/luxfi/threshold/tree/main/protocols/corona (v1.7.0+)
Pinned tag v0.7.0 (Tier A full closure scaffold)
Submission-readiness tier Tier A full closure scaffold — 13 EC files admit 0/0 + 5 Lean ↔ EC bridges + Jasmin CT (lib/rlwe/threshold) + dudect harness (arm64 + x86_64) + e2e + fuzz + 7-gate CI orchestrator. APPROVED WITH ROADMAP GATES. Open: GATE-3b (dudect 10⁹ pinned CPU), GATE-4 (external audit), GATE-5 (Jasmin extraction filling byte-walk) — all v0.8.0 audit track. Construction inherited from Boschini ePrint 2024/1113 / IEEE S&P 2025.
Algorithmic source Boschini, Kaviani, Lai, Malavolta, Takahashi, Tibouchi. Practical two-round threshold signatures from learning with errors. IACR ePrint 2024/1113.
Standard None (Lux-original production fork of academic reference)
Threshold property 2-round threshold signing over R-LWE; same protocol shape as Pulsar but on the R_q ring instead of the module-lattice
Submission package NIST MPTC v0.2 target — package scaffolding in flight
Naming notes The upstream academic reference name was "Corona" — retired in Lux ecosystem; both the production fork and the protocol family are now "Corona"

Magnetar — Threshold SLH-DSA

Field Value
Repo https://github.com/luxfi/magnetar
Pinned tag v0.4.0 (full Tier A)
Submission-readiness tier full Tier A — 13 EC files admit 0/0 + Lean bridges (5 axioms, 4 cross-cited from Pulsar — algebraically identical Shamir/Lagrange) + Jasmin ~600 LOC + dudect harness (Verify + Combine valid-pool, arm64+x86_64) + 6 e2e + 5 fuzz + 8-check CI orchestrator green + cut-submission dry-run PASS. Structurally simpler than Pulsar (SLH-DSA SignDeterministic is straight-line; 2 atomic byte-walk axioms vs Pulsar's 14-axiom κ-loop cascade). GATE-1/2/3 closed; GATE-4 (external audit) + GATE-5 (ML-KEM envelope wrap + Reshare Go impl) roadmap.
Standard FIPS 205 SLH-DSA (hash-based)
Construction v0.1 reveal-and-aggregate: byte-wise Shamir VSS (GF(257)) over the SLH-DSA scheme seed; Combine reconstructs seed in aggregator memory, calls single-party slhdsa.SignDeterministic, zeroizes. Mirrors Pulsar v0.1 trust model.
Class-N1-analog claim Threshold signature byte-identical to single-party FIPS 205 SLH-DSA on the reconstructed seed (TestN1_ByteEquality across (3,2), (5,3), (7,4) PASS)
Submission roadmap NIST MPTC v0.3 target (Lux internal: 2027 Q3)
Use case Cross-family PQ diversity in the Polaris cert profile — survives a cryptanalytic break against the entire lattice family
Naming notes Supersedes earlier "Comet" working name
Polaris profile deployability Available as library at Tier B with v0.1 reveal-and-aggregate trust caveat (aggregator-as-TCB); production deployment awaits Tier A

BLS — BLS12-381 Aggregate + Threshold

Field Value
Primitive (aggregate + single-party) https://github.com/luxfi/crypto (bls/ subdir; tracks luxfi/crypto v1.19.x)
Threshold protocol https://github.com/luxfi/threshold/tree/main/protocols/bls (v1.8.0 Tier A artifact cluster)
Standard IETF draft-irtf-cfrg-bls-signature
Use Classical fast-path leg of every QuasarCert; 48-byte aggregate signature
Submission-readiness tier Tier A artifact cluster — 4 EC files admit 1/1 + Lean bridges (Crypto/BLS.lean Threshold namespace) + Jasmin CT scaffold + CRYPTOGRAPHER-SIGN-OFF APPROVED WITH GATES
LP LP-075 (BLS aggregate)

FROST — Threshold Schnorr

Field Value
Repo https://github.com/luxfi/threshold/tree/main/protocols/frost (v1.8.0)
Submission-readiness tier Tier A artifact cluster — 6 EC files admit 1/1 + Lean bridges (Crypto/FROST.lean Lagrange namespace) + Jasmin CT + sign-off APPROVED WITH GATES
Standard IETF draft-irtf-cfrg-frost + RFC 9591
Ciphersuites Ed25519, Secp256k1-Taproot

CGGMP21 — Threshold ECDSA

Field Value
Repo https://github.com/luxfi/threshold/tree/main/protocols/cmp (v1.8.0)
Submission-readiness tier Tier A artifact cluster — 6 EC files (incl. CGGMP21_ZK.ec 17-subprotocol cluster) admit 1/1 + Lean bridges (Crypto/CGGMP21.lean) + Jasmin CT + sign-off APPROVED WITH GATES
Construction Canetti-Gennaro-Goldfeder-Makriyannis-Peled (CCS 2021 / ePrint 2021/060)

Z-Chain Groth16 — Per-Validator MLDSA Roll-up

Field Value
Repo https://github.com/luxfi/chains (quantumvm/ subdir, v1.2.3+)
Standard Groth16 over BLS12-381; circuit verifies FIPS 204 ML-DSA-65 verification
Cert leg MLDSAProof field — ~192 B per cert regardless of N validators
Circuit size ~2^22.5 R1CS constraints per ML-DSA verification; ~2^20 amortized per-cert via shared-matrix optimization at n=21
Trusted setup Bowe-Gabizon-Miers ceremony; PLONK upgrade path
LP LP-063 (Z-Chain), LP-169 (Z-Chain PQ identity rollup)

TFHE — Threshold Fully Homomorphic Encryption

Field Value
Repo https://github.com/luxfi/fhe (v0.7.0 Tier A)
Submission-readiness tier Tier A — 4 EC files admit 0/0 + Lean bridge (5 axioms) + Jasmin hot-path scaffolds + dudect (3 cgo libs) + APPROVED WITH GATES + 9-page paper
Use F-Chain confidential compute (LP-066, LP-134); private ERC-20 (LP-067); Private Teleport (LP-068)

ML-KEM-768 — Key Encapsulation

Field Value
Repo https://github.com/luxfi/crypto (mlkem/ subdir; v1.19.4 Tier A)
Standard FIPS 203
Submission-readiness tier Tier A — 4 EC files admit 0/0 + Lean bridge (6 axioms) + libjade-pinned Jasmin + dudect (3 cgo libs) + APPROVED WITH GATES + 10-page paper
Use X-Wing hybrid KEM (LP-115); Pulsar identity stage (CR-8 KEM-wrap); Q-Chain PQ-TLS 1.3

P3Q — Post-Quantum Pulsar Proof EVM precompile

Field Value
Repo https://github.com/luxfi/precompile (p3q/ subdir; tag p3q-v0.1.0-tier-a)
EVM slot 0x012205
Submission-readiness tier Tier A artifact tree shipped — 4 EC files admit 0/0 + Lean theorem (12 thm + 5 axiom) + Jasmin verify.jazz CT + dudect harness + 12 e2e + 1 fuzz + CRYPTOGRAPHER-SIGN-OFF APPROVED WITH GATES + whitepaper at papers/lux-p3q-precompile/. Open gates: EC compile-from-source, lake build, dudect 10⁹ submission run, external audit of p3q-verifier crate.
Role On-chain verification of Pulsar threshold signatures inside EVM precompile dispatch
LP LP-4200

Lens — Curve-side Threshold Sister Kernel

Field Value
Repo https://github.com/luxfi/lens
Role Curve-side threshold kernel companion to Pulsar's lattice-side; not consumed by QuasarCert directly but provides shared threshold-MPC infrastructure
LP LP-103 (Lens)

Version-pin coordination

When a primitive bumps a major version (e.g., Pulsar v1.x → v2.0 — which violates the NEVER bump above v1.x.x rule and would only happen for a wire-incompatible event), the cascade is:

  1. Update this file's pinned tag + commit
  2. Cascade-bump luxfi/consensus go.mod
  3. Cascade-bump luxfi/node, luxfi/chains, luxfi/evm, luxfi/sdk, etc. go.mod (per the cascade order in lps/RENAME-PROTOCOL-TO-PROTO.md §Phase 3 for the established pattern)
  4. Tag this repo with a corresponding major bump
  5. Cascade-deploy

Patch bumps (v1.0.x → v1.0.x+1) do NOT require an update to this file unless the primitive's spec changed. Implementation-only patches ride the existing consumer go.mod updates organically.

Cross-references

  • SPEC.md — cert wire format
  • PROFILES.md — profile composition
  • ~/work/lux/pulsar/SUITE.md — Hanzo PQ Threshold Suite (Pulsar-side index)
  • ~/work/lux/pulsar/HANZO-CRYPTO-SUITE.md — broader Lux crypto inventory
  • ~/work/lux/lps/CRYPTO-CANONICAL.md — canonical wiring map