§4.2: Integrity #
An adversary who knows every mix node's private key cannot forge a header that N = r + 1 honest
nodes all accept, except with the probability of solving Problem P. The paper's algebraic identity
for the last hop's MAC (γ_N = a_0 ⊕ ⋯ ⊕ a_{N-1}) is taken as the hypothesis
DecompositionWitness, and Problem P's hardness as ProblemPHard.
Honest per-hop processing along a forged α_0 #
Each hop advances α_i ↦ α_i^{hb(α_i, s_i)} with s_i = α_i^{x_{n_i}} (§3.6).
α_i: α_0 blinded through i hops with private keys privKeys.
Equations
- One or more equations did not get rendered due to their size.
- Cryptlib.Protocols.Sphinx.Integrity.alphaSeq S privKeys alpha0 0 = alpha0
Instances For
s_i = α_i^{x_{n_i}}.
Equations
- Cryptlib.Protocols.Sphinx.Integrity.sAt S privKeys alpha0 i = privKeys i • Cryptlib.Protocols.Sphinx.Integrity.alphaSeq S privKeys alpha0 i
Instances For
Problem P (§4.2) #
Given random oracles f_0, ..., f_{2^κ-1}, ρ̂, ρ0, find x, y with ρ̂(x) = f_{ρ0(x)}(y).
An instance of Problem P.
- ρhat : Seed → Kappa
- ρ0 : Seed → Idx
- f : Idx → Yy → Kappa
Instances For
A Problem P adversary: given the instance, output a candidate (x, y).
Equations
- Cryptlib.Protocols.Sphinx.Integrity.ProblemPAdversary Seed Idx Yy Kappa = (Cryptlib.Protocols.Sphinx.Integrity.ProblemPInstance Seed Idx Yy Kappa → ProbComp (Seed × Yy))
Instances For
The adversary's success probability against a fixed instance.
Equations
- Cryptlib.Protocols.Sphinx.Integrity.problemPSuccessProb P B = probEvent (B P) fun (xy : Seed × Yy) => P.Solves xy
Instances For
Hypothesis: Problem P is hard.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The integrity game and its reduction to Problem P #
A forged header: N node private keys, all known to the adversary, and a forged α_0.
- privKeys : ℕ → F
- alpha0 : G
Instances For
The Problem P instance a successful N-hop forgery reduces to.
Equations
- Cryptlib.Protocols.Sphinx.Integrity.inducedInstance ρhat0 ρ0 f = { ρhat := ρhat0, ρ0 := ρ0, f := f }
Instances For
k_0 = hρ(s_0), Problem P's x.
Equations
- Cryptlib.Protocols.Sphinx.Integrity.Forgery.k0 S hρ fga = hρ (Cryptlib.Protocols.Sphinx.Integrity.sAt S fga.privKeys fga.alpha0 0)
Instances For
Every accepted forgery's k_0 has a Problem P witness y = (k_1, ..., k_{N-1}, k_μ).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The reduction adversary: replay the honest chain to compute k_0 and answer with the witness
from hDecomp.
Equations
- One or more equations did not get rendered due to their size.
Instances For
§4.2's bound: given hDecomp, the probability that Game accepts a forgery is bounded by
Problem P's hardness.
The statement of integrity_bound.
Equations
- One or more equations did not get rendered due to their size.