Files
2026-06-28 20:35:37 -07:00

2.6 KiB

tee

luxfi/tee

Optional TEE-backed threshold-signing custody extension for the Lux post-quantum signing stack. Deployments that want institutional, attested-enclave custody of post-quantum signing keys integrate this module. It is not required by the threshold core and is not used on the permissionless / dealerless production signing path.

Dependency direction (one-way)

luxfi/tee  ──►  luxfi/pulsar   (ML-DSA / FIPS 204 kernel)
           ──►  luxfi/corona   (Ring-LWE threshold kernel)
           ──►  luxfi/magnetar (SLH-DSA / FIPS 205 kernel)
           ──►  luxfi/mpc      (attestation · release-gate · HSM)

The cores never depend on luxfi/tee. The threshold core (luxfi/threshold) builds with zero reference to this module; the dealerless signing path (corona DKG, pulsar v0.3 algebraic-aggregate) is the production default and carries no TEE dependency.

Packages

Package Primitive Custody surface
github.com/luxfi/tee/mldsa-tee ML-DSA-65 (FIPS 204) Signer.Sign
github.com/luxfi/tee/rlwe-tee Corona Ring-LWE Signer.Sign
github.com/luxfi/tee/slhdsa-tee SLH-DSA (FIPS 205) Signer.Sign + CombinerPool (t-of-n attested combiners)

Each Signer chains attestation evidence (SEV-SNP / TDX / NRAS) + operator-asserted RIM + hardware fingerprint through the luxfi/mpc release gate and HSM, then emits wire bytes that are byte-identical to a single-party FIPS signature on the same (key, message, ctx) tuple — verifiable by any independent verifier holding the published group key.

slhdsa-tee.ChainSecurityProfile (ProfileStrictPQ / ProfileLegacyCompat) and the ErrMagnetar* sentinels express the strict-PQ residency policy a deployment enforces when it wants every SLH-DSA combine routed through an attested pool.

Integration

There is exactly one way to TEE-sign: construct the per-scheme Signer (New(gate, hsm, approval, cfg)), Provision, then call Signer.Sign(ctx, env, jobID, msg[, signCtx]), or — for SLH-DSA t-of-n — drive a CombinerPool (AddMember / Attest / Combine).

Provenance

The mldsa-tee, rlwe-tee, and slhdsa-tee packages were extracted verbatim from github.com/luxfi/threshold/protocols/* in 2026-06 to decomplect optional TEE custody from the threshold core. Their full end-to-end attestation test suites (against committed AMD Milan SEV-SNP vectors) moved with them and pass in this module.