UC Subroutine Composition #
This file proves the UC subroutine composition theorem: if protocol π
is sdist-close to functionality F, and subroutine ρ_real is sdist-close to ρ_ideal,
then the compiled protocol compile π ρ_real is sdist-close to compile F ρ_ideal
with error ε₁ + ε₂. UC emulation follows via UCEmulates_of_sdist.
Main results #
sdist_compile— compile preserves sdist bounds additivelysdist_compile_same— compile with same subroutine preserves sdistUCEmulates_compile— UC composition via compile + sdistUCEmulates_seq— sequential composition (re-export ofUCEmulates_trans)UCEmulates_par— parallel composition (re-export ofUCEmulates_mapSum_of_sdist)
Proof strategy #
The proof uses the triangle inequality:
sdist(compile π ρ_real, compile π ρ_ideal) ≤ ε₂by left PPL on subroutinesdist(compile π ρ_ideal, compile F ρ_ideal) ≤ ε₁by right PPL on protocol
References #
- Canetti, Universally Composable Security, 2001
- Patrignani et al., UC is RC, TOPLAS 2024
Compile Distance Bounds #
Compile with same subroutine: sdist is preserved.
Compile with different subroutines: sdist bounds are additive.
Triangle through compile π ρ_ideal:
sdist(compile π ρ_real, compile π ρ_ideal) ≤ ε₂(subroutine swap)sdist(compile π ρ_ideal, compile F ρ_ideal) ≤ ε₁(protocol swap)
UC Emulation via Compile #
UC Subroutine Composition (same-interface).
The compiled protocol compile π ρ_real UC-emulates compile F ρ_ideal
with error ε₁ + ε₂, using leak = sim_if = δ (same adversary interface).
Since compile outputs α → SPComp (β ⊕ δ), the natural UC spec has
out = β and leak = sim_if = δ.
Same subroutine UC: compile with same subroutine preserves UC bound.
Perfect subroutine: when ρ_real = ρ_ideal, only protocol gap matters.
Sequential and Parallel Composition #
Sequential composition: if π₁ → π₂ (ε₁) and π₂ → π₃ (ε₂),
then π₁ → π₃ (ε₁ + ε₂). Re-exported from UCEmulates_trans.
Parallel composition: max(ε₁, ε₂) bound on coproduct.
Re-exported from UCEmulates_mapSum_of_sdist.