Files
magnetar/NIST-SUBMISSION.md
T
Lux Magnetar 83ce56ff0f magnetar v1.0.0: ONE construction per regime; THBS-SE permissionless threshold
Magnetar v1.0.0 closes the permissionless-threshold story at ONE
construction --- THBS-SE (Threshold Hash-Based Signatures with
Selected-Element Reconstruction) --- and removes every legacy
seed-recombine path from the codebase.

The two production primitives at v1.0:

1. Per-validator standalone (standalone.go, unchanged from v0.5.x) ---
   the public-BFT primary primitive. Each validator holds its own FIPS
   205 keypair, signs independently, consensus collects N signatures
   into a ValidatorAggregateCert.

2. THBS-SE (thbsse.go + thbsse_field.go) --- the permissionless
   threshold companion. t-of-n committee, slot-bound commit-and-reveal,
   PUBLIC COMBINER role (anyone-can-combine, no host in TCB at sign
   time), slashable equivocation and malformed-share evidence.

Both emit byte-identical FIPS 205 signatures that unmodified verifiers
accept (TestMagnetar_Wire_FIPS205Verifiable +
TestThbsSE_Wire_FIPS205Verifiable across all 3 SHAKE modes).

Hard invariant (THBS-SE): a revealed value is allowed only if it is
also present in the final SLH-DSA signature. Forbidden reveals:
SK.seed in any party-local persistent form, SK.prf, future-slot share
material. The slot guard refuses any same-slot re-emission.

v1.0 honest open item: the strict "no transient seed at any moment"
invariant requires a v1.1 strict-atom-assembly path
(BLOCKERS.md::MAGNETAR-STRICT-ATOM-V11) that re-implements FIPS 205
sec 5/6/7/8 internally. v1.0 ships a PUBLIC COMBINER that holds the
seed for one slhdsa.SignDeterministic call and zeroizes; materially
stronger than TEE-attested privileged-aggregator constructions,
materially weaker than the strict refinement.

8 test gates + 2 bonus correctness checks:
- TestThbsSE_Wire_FIPS205Verifiable (3 modes) -- byte identity
- TestThbsSE_RejectSeedReveal
- TestThbsSE_RejectUnselectedFORS
- TestThbsSE_RejectUnselectedWOTS
- TestThbsSE_SlotReuseRejected
- TestThbsSE_OverselectedCommittee
- TestThbsSE_SlotBindingDomainSeparation
- BenchmarkThbsSE_Sign_5of7
- TestThbsSE_PublicCombiner_Determinism (bonus)
- TestKAT_ThbsSe (n=7, t=4, 3 modes, 3 messages)

Removed (legacy seed-recombine path + the proofs/CT scaffolding that
modeled it):

- ref/go/pkg/magnetar/{threshold,aggregate,combine,shamir,dkg}.go
  + tests
- ref/go/pkg/magnetar/{e2e,fuzz,n1_byte_equality}_test.go
- ref/go/pkg/thbs/ (entire subtree including dkg2/ PVSS skeleton)
- vectors/{threshold-sign,dkg}.json
- jasmin/{threshold,lib}/ (legacy seed-recombine model)
- proofs/easycrypt/ (entire tree; v1.1 ports to THBS-SE)
- ct/dudect/ (entire tree; v1.1 lands with strict-atom path)
- scripts/{check-lean-bridge,checks/ec-*,checks/jasmin,checks/extraction}.sh

Added:

- ref/go/pkg/magnetar/thbsse.go (1054 LOC; the THBS-SE construction)
- ref/go/pkg/magnetar/thbsse_field.go (GF(257) internal share math)
- ref/go/pkg/magnetar/thbsse_test.go (8 gates + 2 bonus)
- vectors/thbsse-sign.json (deterministic (n=7,t=4) KAT)
- v1.0 supersede notices on v0.x archival docs

Verification:
- GOWORK=off go build ./... && go vet ./...: clean
- go test -count=1 -short: PASS (all gates)
- go test -count=1 -race -short: PASS
- grep "reveal-and-aggregate|seed.*recombin|THBS over.*seed|aggregator.*reconstruct.*seed" *.go: 0 matches
- find ref/go/pkg -type d -name thbs: empty
2026-06-01 12:03:22 -07:00

11 KiB

NIST MPTC Submission --- Magnetar (one-page executive summary)

v1.0 framing. Magnetar v1.0 ships TWO primitives: per-validator standalone (standalone.go) and THBS-SE (thbsse.go + thbsse_field.go). The text below was written against the v0.x reveal-and-aggregate construction; v1.0 superseding language is in README.md, SPEC.md, THBS-SPEC.md, CHANGELOG.md::[1.0.0], and CRYPTOGRAPHER-SIGN-OFF.md.

Executive summary of the Magnetar package for the NIST Multi-Party Threshold Cryptography (MPTC) project. The full cover sheet is in SUBMISSION.md; the package contents map is below.

Submission metadata

Field Value
Submission name Magnetar
Submitting organisation Lux Industries, Inc.
Algorithm Threshold SLH-DSA (FIPS 205) — reveal-and-aggregate over the SLH-DSA scheme seed
MPTC classes N1 (threshold signing, byte-identical to single-party FIPS 205 SLH-DSA on the reconstructed master seed). N4-analog (reshare with public-key preservation) is on the v0.4 roadmap.
Underlying construction FIPS 205 SLH-DSA (single-party layer); v0.1 reveal-and-aggregate Shamir VSS of the SLH-DSA scheme seed over GF(257) (threshold overlay)
Hash family FIPS 202 SHA-3 / SHAKE; SP 800-185 cSHAKE256 / KMAC256 for Magnetar-specific transcript hashes
Parameter sets SLH-DSA-SHAKE-192s (NIST PQ Cat 3, recommended), SLH-DSA-SHAKE-192f (Cat 3 fast), SLH-DSA-SHAKE-256s (Cat 5)
Round count DKG = 3 rounds; threshold sign = 2 rounds (commit + reveal)
Repository https://github.com/luxfi/magnetar
Submission tag submission-2026-11-16 (planned)
Latest tagged release v0.2.0 (this revision targets v0.3.0)
License BSD-3-Clause (code) + CC-BY-4.0 (PATENTS.md)

Headline claim

Every signature produced by a Magnetar threshold ceremony (DKG → Round-1 commit → Round-2 reveal → Combine) is byte-identical to single-party FIPS 205 slhdsa.SignDeterministic on the reconstructed master seed. Verification under unmodified FIPS 205 accepts Magnetar signatures with no code change.

Theorem framing: byte-equality to a NIST-standardized single-party primitive. Magnetar implements FIPS 205 SLH-DSA unchanged in its math (via cloudflare/circl audited Go reference) for the single-party layer; Magnetar's contribution beyond FIPS 205 is the threshold lifecycle (byte-wise Shamir VSS over GF(257) of the SLH-DSA scheme seed, three-round DKG, two-round commit-bind threshold sign, identifiable abort, KAT-deterministic Magnetar-SHA3 hash suite).

Verifier-side reality. FIPS 205 SLH-DSA IS a NIST standard. Magnetar's Verify is a thin dispatch over circl's FIPS 205 §10.3 verifier; a reviewer can cross-check Magnetar threshold-emitted bytes against any FIPS 205-conformant verifier. The Magnetar test suite's TestN1_ByteEquality_* realizes this property empirically. This is the strong N1 framing distinction from Corona (which has no FIPS standard target to anchor against); it is the same N1 framing Pulsar uses against FIPS 204.

Package contents (mapped to NIST IR 8214C requirements)

NIST requirement Magnetar artifact
Technical specification SPEC.md
Open-source reference implementation ref/go/pkg/magnetar/ (BSD-3-Clause)
KAT vectors vectors/{keygen,sign,verify,threshold-sign,dkg}.json; deterministic regeneration via ref/go/cmd/genkat
Security analysis SPEC.md §6 (Class-N1-analog byte-equality claim) + SPEC.md §7 (trust model) + FIPS 205 (NIST standard) for the single-party layer
Patent / IP statement PATENTS.md (royalty-free grant)
Known limitations SUBMISSION.md §"Does NOT claim" + BLOCKERS.md
Trust model DEPLOYMENT-RUNBOOK.md (operator-facing); TRUSTED-COMPUTING-BASE.md (implementation TCB); PROOF-CLAIMS.md (proof scope)
Axiom inventory AXIOM-INVENTORY.md
FIPS traceability FIPS-TRACEABILITY.md (FIPS 205 § → code mapping)
Cryptographer review CRYPTOGRAPHER-SIGN-OFF.md (internal review)
Contact / maintainers SUBMISSION.md §Contact

What makes this submission different

  1. Cross-family PQ diversity — Magnetar is the hash-based PQ threshold leg of the Lux cross-family cert profile. While Pulsar (M-LWE) and Corona (R-LWE) provide lattice-based PQ threshold signing, Magnetar's hash-based foundation means a complete break of the lattice family (M-LWE and R-LWE together) would leave the Magnetar leg sound. The hardness assumption is collision/preimage resistance of the underlying hash (SHAKE for the Magnetar parameter sets), with no lattice dependence.

  2. FIPS-anchored byte equality — Unlike Corona (which targets a 2024 academic R-LWE construction with no NIST standard), Magnetar anchors byte-equality against FIPS 205 SLH-DSA — a published NIST standard. The strong N1 claim form is therefore available; verification against any FIPS 205-conformant verifier is a property the submission asserts and the test suite empirically realizes.

  3. KAT-deterministic Magnetar-SHA3 profile — Every transcript hash routes through cSHAKE256 / KMAC256 per FIPS 202 + SP 800-185. Customisation tags are pinned (MAGNETAR-DKG-COMMIT-V1, MAGNETAR-DKG-TRANSCRIPT-V1, MAGNETAR-SIGN-R1-V1, MAGNETAR-SIGN-MASK-V1, MAGNETAR-SEED-SHARE-V1). Re-running ref/go/cmd/genkat on a clean checkout produces byte-identical vectors.

  4. Reveal-and-aggregate construction (honest trust caveat) — Magnetar v0.1 reconstructs the master SLH-DSA seed in aggregator-process memory during each Combine call. This is the same trust model as Pulsar v0.1; documented in DEPLOYMENT-RUNBOOK.md with the TEE / mlock / ptrace-off hardening matrix. A v0.2 full-MPC construction is on the research path; the v0.1 byte-equality property is preserved across that migration (the math is unchanged; only the trust placement differs).

  5. Reproducibility-firstscripts/cut-submission.sh and ref/go/cmd/genkat are deterministic. KAT regeneration is byte-equal across runs; CI enforces drift = build bug.

  6. Honest gap disclosure — Magnetar does NOT ship a mechanized refinement proof for the threshold overlay layer. See PROOF-CLAIMS.md for the narrow claim and the roadmap. The honest framing: production-hardened FIPS-anchored single-party primitive with a novel reveal-and-aggregate threshold overlay, NOT machine-checked refinement of the threshold overlay against FIPS 205.

Trust footprint (one-screen summary)

After Magnetar v0.3.0:

Category Count / Status
EasyCrypt files (threshold overlay) 0 (no mechanized refinement of the overlay layer — see PROOF-CLAIMS.md §3.1)
Lean ↔ EC bridge files 0 specific to Magnetar (Shamir / Lagrange algebraically identical to Pulsar's; cross-citation closure on roadmap)
Jasmin source files (threshold overlay) 0 (libjade covers FIPS 205 single-party; threshold overlay is pure Go)
Go reference test coverage single-party + DKG + threshold + Combine + KAT replay; TestN1_ByteEquality_* across three configurations
KAT determinism enforced by deterministic ref/go/cmd/genkat regeneration
Constant-time discipline ctEqualSlice / ctEqual32 on every commit comparison and public-key equality; secret-dependent branches absent from verify.go, sign.go, and the Combine commit-verify gate. Statistical CT validation (dudect) is roadmap.

The trust base for Magnetar at submission time reduces to:

  • The FIPS 205 SLH-DSA standard (NIST 2024) and its security analysis.
  • The cloudflare/circl/sign/slhdsa Go reference implementation (community-audited; standard library-style).
  • The Go reference implementation correctness of the Magnetar threshold overlay (reviewed by code + KATs + TestN1_ByteEquality_*).
  • The crypto/subtle standard library constant-time helpers.
  • The Go toolchain.

What this submission does NOT claim

Out-of-scope claim Why
Mechanized refinement of the threshold overlay Multi-month research project. See PROOF-CLAIMS.md, AXIOM-INVENTORY.md.
Threshold secrecy without aggregator trust v0.1 is reveal-and-aggregate; aggregator process is TCB for the seed-reconstruction window. v0.2 (full-MPC) is research.
Statistical constant-time validation (dudect) Roadmap v0.4+.
ML-KEM-768 envelope wrapping of DKG envelopes v0.1 envelopes are plaintext (KAT-deterministic); v0.4 closes this. See BLOCKERS.md BLK-4.
Reshare protocol (N4-analog) v0.4 roadmap. See BLOCKERS.md BLK-4.
Post-quantum hardness of SLH-DSA itself Assumed from FIPS 205 + the SHAKE-family analysis.
ACVP/CAVP algorithm validation for the threshold overlay Not applicable — NIST has no ACVP test vector set for threshold SLH-DSA.
FIPS 140-3 module validation Downstream — applies to packaged modules.
Asynchronous identifiable abort Synchronous only.
External cryptographic audit Internal sign-off only at v0.3.0. See BLOCKERS.md BLK-9.

Reproducibility commitment

git clone --branch submission-2026-11-16 https://github.com/luxfi/magnetar
cd magnetar
GOWORK=off go build ./...
GOWORK=off go test -count=1 -short -timeout 240s ./ref/go/pkg/magnetar/
GOWORK=off go run ./ref/go/cmd/genkat -out=vectors/  # regenerate KAT vectors

Drift between submission tarball and reproduced output is a build bug — please file at the GitHub issues link above. NIST reviewers should obtain byte-identical artifacts on reproduction.

Patent / IP posture (TL;DR)

  • Code: BSD-3-Clause.
  • Patents: Royalty-free grant to any implementation of the Magnetar construction released under BSD-3-Clause or compatible OSI license, OR any NIST MPTC / PQC / ACVP submission / validation / interoperability test.
  • Defensive termination: license terminates against any party asserting patents against Magnetar, FIPS 205 SLH-DSA, or any other NIST-standardized PQ signature scheme.
  • Full text: PATENTS.md §3.

Contact

Purpose Contact
Submission coordination mptc@lux.network
Patent / IP inquiries legal@lux.network
Security disclosure magnetar@lux.network
Public discussion https://github.com/luxfi/magnetar/discussions
Primary maintainer z@lux.network (Lux Industries, Inc.)

Roadmap (v0.4 and beyond)

Milestone Target
Tier A documentation shape complete (this revision) v0.3.0
ML-KEM-768 envelope wrapping of DKG Round-1 envelopes (closes passive-network-observer channel) v0.4.0
Reshare protocol (Refresh + ReshareToNewSet) — Class N4-analog evidence v0.4.0
EasyCrypt theory shells for the threshold overlay (refinement of byte-equality to FIPS 205) v0.5.0 (research; multi-month)
Lean ↔ EC bridge (cross-citation to Pulsar's Shamir / Lagrange bridges; or Magnetar-specific entries if needed) v0.5.0
dudect-style statistical CT validation harness for the threshold overlay v0.6.0
External cryptographic audit (engaged lab) v0.6.0
v0.2 full-MPC construction (aggregator never sees the master seed) research, no committed target

The roadmap is published at SUBMISSION.md "What this submission does NOT claim" + tracked at the GitHub issues link above.


Document metadata

  • Name: NIST-SUBMISSION.md
  • Version: v0.1 (initial Tier A submission-package scaffolding)
  • Date: 2026-05-18
  • Submission package version: Magnetar v0.3.0