ProofStrength

sealed interface ProofStrength

What a subclass claims its scheme's CommutativeScheme.verifyEncrypt / CommutativeScheme.verifyStrip pair does with a transition the scheme did not produce — the answer CommutativeSchemeConformanceSuite.verifyAnswersForgedTransitionsAsDeclared holds it to.

Sealed and two-armed rather than a nullable forgery fixture. A nullable hook reads "I cannot reach that state", which is an opt-out, and #2247's finding is that an opt-out relocates the vacuity one level up where it is harder to see. Neither arm here opts out: each asserts the answer its own name promises, over the same six derived forgeries, so a mis-declaration reds in either direction and the fixture cannot quietly stop testing anything.

Top-level rather than nested so a fixture helper outside a suite subclass can name one, matching DurabilityFixture in :kuilt-bolt.

Inheritors

Types

Link copied to clipboard

verify* accept every transition, forged or honest — the return true stub CommutativeScheme permits until real proofs exist, and what both SraScheme and XorKeystreamScheme do today.

Link copied to clipboard

verify* reject a transition that was not produced by applying the key behind the named pubKey to prev — the substituted-layer, skipped-layer and framed-peer cheats CommutativeSchemeConformanceSuite.verifyAnswersForgedTransitionsAsDeclared derives.