mirror of
https://github.com/luxfi/quasar.git
synced 2026-10-30 15:20:26 +00:00
9.2 KiB
9.2 KiB
Quasar Primitive Registry
Pinned implementation versions for each primitive consumed by
QuasarCert.SPEC.mdis 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:
- Update this file's pinned tag + commit
- Cascade-bump
luxfi/consensusgo.mod - Cascade-bump
luxfi/node,luxfi/chains,luxfi/evm,luxfi/sdk, etc. go.mod (per the cascade order inlps/RENAME-PROTOCOL-TO-PROTO.md§Phase 3 for the established pattern) - Tag this repo with a corresponding major bump
- 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 formatPROFILES.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