Textbook UC vocabulary over the abstract open-system theory #
This file gives a thin, presentation-layer reading of the abstract
OpenTheory / Semantics infrastructure in the standard Canetti-style
UC vocabulary: Protocol, Functionality, Adversary, Environment,
Simulator, and an explicit execution experiment EXEC.
The point of this file is faithfulness. The contextual-equivalence
form CompEmulates ε π F quantifies uniformly over arbitrary plugs
K : T.Plug Δ, which is mathematically clean but does not visibly look
like the textbook definition of UC security. The textbook form
UCSecure ε π F fixes that with explicit ∀ A. ∃ S. ∀ Z-quantification
over real-world adversaries A, simulators S, and environments Z.
The bridge compEmulates_toUCSecure_id (this file) shows that
semantic emulation implies textbook UC security with the identity
simulator S := A, exposing a single plug
K(A, Z) : T.Plug Δ.toPort via OpenTheory.plug_wire_left and then
applying CompEmulates at that plug.
The converse direction (textbook UC implies plug-level
CompUCSecure) goes through Canetti's dummy-adversary theorem and
is recorded as the stated obligation ucSecure_toCompUCSecure_dummy.
Main definitions #
ProtocolBoundary: a pair of port boundaries(main, adv)for the environment-facing and adversary-facing sides of a protocol.ProtocolBoundary.toPort: the combinedmain ⊗ advport boundary.Protocol T Δ,Functionality T Δ: open systems exposingΔ.toPort.Adversary T Δ back: an open system atswap Δ.adv ⊗ back; the back-channelbackcarries communication between the adversary and the environment.Environment T Δ back: an open system atswap Δ.main ⊗ swap back, which is definitionally aT.Plug (Δ.main ⊗ back).Simulator T Δ back: a function from real-world adversaries to ideal-world adversaries on the same back-channel.dummyAdversary: the canonical bidirectional relayidWire Δ.adv : Adversary T Δ Δ.advfromHasIdWire.EXEC π A Z: the closed systemT.close (T.wire π A) Z.UCSecure sem ε π F: textbook computational UC security∀ back A. ∃ S. ∀ Z. distAdvantage (EXEC π A Z) (EXEC F S Z) ≤ ε.
Main results #
compEmulates_toUCSecure_id:CompEmulates sem ε π FimpliesUCSecure sem ε π Fwith the identity simulatorS := A.
Standard UC roles #
A protocol's boundary signature: a pair of port boundaries recording the two directed interfaces a protocol exposes.
mainis the interface to the environment / honest parties (inputs in, outputs out).advis the interface to the adversary / network (network packets, scheduling tokens, leakage, etc.).
Both sides are full PortBoundarys rather than bare Interfaces
because each direction generally carries traffic in both directions.
- main : PortBoundary
Interface to the environment / honest parties.
- adv : PortBoundary
Interface to the adversary / network.
Instances For
A protocol is an open system exposing its full
(main ⊗ adv) boundary.
Instances For
A functionality is the ideal-world counterpart of a protocol; the same type, used as the trusted reference object.
Instances For
An adversary speaks to the protocol over the swapped adv side
and to the environment over a back-channel back.
Instances For
An environment speaks to the protocol over the swapped main
side and to the adversary over the swapped back-channel. By
definitional equality of swap and tensor, this is exactly a
T.Plug (PortBoundary.tensor Δ.main back).
Instances For
A simulator maps a real-world adversary to an ideal-world adversary on the same back-channel.
This is the lightweight presentation form. A more structural variant
keeps the simulator as an open system on
Δ.adv ⊗ swap Δ.adv and applies it via wire; both variants are
interconvertible in any compact-closed OpenTheory.
Instances For
The dummy adversary: the canonical bidirectional relay between
the adversary's view of the protocol (swap Δ.adv) and the
environment's view of that same channel (Δ.adv on the back-channel).
It is the coevaluation idWire Δ.adv provided by HasIdWire.
Instances For
The execution experiment #
EXEC π A Z is the closed-system execution obtained by wiring the
protocol π to the adversary A along their shared adv boundary,
and then closing the result against the environment Z.
By definitional equality of swap (X ⊗ Y) with swap X ⊗ swap Y,
the type of Z is exactly the T.Plug of the wired result, so no
explicit boundary transport is needed.
Instances For
Textbook UC security #
UCSecure sem ε π F is the textbook computational UC security
statement: for every adversary A, there exists a simulator S such
that no environment Z can distinguish the real-world execution
EXEC π A Z from the ideal-world execution EXEC F S Z with
advantage greater than ε.
The quantifier structure ∀ back A. ∃ S. ∀ Z is exactly Canetti's
formulation; in particular, the simulator may depend on the adversary
but not on the environment. The back-channel back is universally
quantified to allow the environment-adversary side-channel to be
arbitrary.
Instances For
Bridge to abstract computational emulation #
Computational emulation CompEmulates ε π F implies textbook UC
security UCSecure ε π F with the identity simulator S := A:
the existential simulator is witnessed by the real-world adversary
itself.
The proof rewrites both EXEC π A Z and EXEC F A Z via
OpenTheory.plug_wire_left, exposing the same plug
K(A, Z) : T.Plug Δ.toPort on both sides, and then applies the
CompEmulates hypothesis at that single plug.
Stated dummy-adversary direction.
Textbook UC security UCSecure ε π F implies the plug-level
simulator-based form CompUCSecure: given the existential simulator
from UCSecure instantiated at the dummy adversary, one constructs
a T.Plug Δ.toPort-level simulator by repackaging the
adversary-environment pair through the zig-zag identity
wire_idWire_right.
This is the content of Canetti's dummy-adversary theorem (cf. Canetti
'01, Thm 4.16). Discharging this proof requires IsCompactClosed T
plus a structural decomposition of arbitrary plugs into
(adversary, environment) pairs; it is left as an explicit obligation
here so that the textbook quantifier structure can be presented now
without committing to the structural side of the proof.