Stateful Fiat-Shamir CMA games #
Direct QueryImpl.Stateful versions of the Fiat-Shamir CMA/NMA games.
These handlers use ordinary product states rather than heap packages.
Public part of the no-message-attack game.
State: random-oracle cache, lazily sampled keypair, and bad flag.
Instances For
Programmable random-oracle part of the no-message-attack game.
Instances For
The no-message-attack game as a direct stateful handler.
Instances For
Forward the public, non-signing CMA queries to the shared NMA interface.
This component has no private state. Its imports are intentionally the same
ambient nmaSpec used by the signing simulator, so adversarial RO queries and
programming queries interact through one inner random-oracle cache.
Instances For
Signing part of the CMA-to-NMA reduction.
State: signed-message log. Signing queries sample the HVZK simulator and program the random oracle through the shared NMA interface.
Instances For
The CMA-to-NMA reduction as a direct stateful handler.
Public queries are forwarded to the NMA interface; signing queries are handled
by the simulator component that owns the signed-message log. Both paths share
the same nmaSpec imports on purpose.
Instances For
The simulated CMA game, linked through the direct CMA frame.
Instances For
The public random-oracle runtime as an explicit cache-state QueryImpl.
This handler is shared by the fixed-key public post-keygen experiment and the direct named CMA game.
Instances For
Fixed-key real Fiat-Shamir signing over the shared random-oracle cache.
Instances For
Source-query part of the real CMA game over the full direct CMA state.
Instances For
Source-query part of the real CMA game over the concrete sum interface used
by SignatureAlg.unforgeableAdv.
Instances For
The real CMA game as a direct stateful handler.
On signing queries, this runs the real Sigma protocol and appends the message to the signed log. The bad flag is preserved and never set by real signing.