mirror of
https://github.com/luxfi/pulsar.git
synced 2026-10-30 14:45:29 +00:00
1.8 KiB
1.8 KiB
Security Invariants (reviewers verify each)
- No secret residual. No production wire type, transcript, or log carries
c·s2,c·t0,r0,LowBits(w − c·s2), hint shares, orCS2/CT0/D2/D0. Enforced:TestNoHintSecretFieldsInProductionWireTypes. - No full w.
NonceCertcarriesW1 = HighBits(w)only — neverw,w_i,LowBits(w), or boundary distances. Enforced:TestNonceCertHasNoFullW,TestNonceTranscriptDoesNotRevealW,TestPublishingFullWWouldRevealResidual. - Public hint.
FindHint(w', w1)≡ FIPSUseHint; neverMakeHint(secret). Enforced:TestFindHintToTargetMatchesUseHint. - Boundary ⇒ r0 safe.
BoundaryClear(w, 2β)⇒ HighBits stable underc·s2and hiddenr0 < γ2 − β. Enforced:TestBoundaryClearImpliesHighBitsStable,TestBoundaryClearEdgeCases. Parameter scope: ML-DSA-65/87 only (TestBCCParamGuard; ML-DSA-44 violates‖c·t0‖ < γ2). - Quorum-bound nonce cert.
ClearanceQCbinds every cert field; tamper ⇒ reject. Enforced:TestNonceCertBindsAllConsensusFields,TestBadNonceTranscriptRootRejected. - Canonical nonce. Deterministic, non-grindable per session.
TestCanonicalNonce. - Coarse aborts. Rejected attempts publish only a coarse class.
TestAbortClassesCoarse. - Accountable aggregation. Tree==flat; duplicate/cross-session rejected; bitmap
accountability.
TestTreeAggregateEqualsFlat,TestMergeAggregatesDuplicateAndSession.
OPEN (this review's subject — NOT yet sound)
- NonceTranscript validator-MPC malicious security (currently debug-oracle + fail-closed).
- PartialProof soundness (currently binding + fail-closed).
- DKG well-formedness proof (currently type-clean + reflection-tested).
- Independent-verifier interop on the production sign path.
- Machine-checked boundary-clearance / FindHint proof.