Definition
Glitch leakage is a physical side-channel leakage effect that arises due to the change in value a gate experiences within a clock cycle. Because the evaluation of a CMOS gate is not instantaneous and its output is not propagated instantaneously through its outgoing wires, an input change can force a cascade of output adjustments in connected gates before the cycle settles. This intra-cycle transient behavior is what the term "glitch" refers to [FGP+18].
Modeling
Formally, a common approximation of glitch leakage effects is to assume an idealized adversary observing a logic gate (g) can gain information about all registers and circuit inputs in the gate's computational base (C_g). The glitch-extended leakage of gate (g) in state (\sigma_i) is then defined as:
$$\lambda_g(\sigma_{i-1}, \sigma_i) := C_g(\sigma_i)$$
That is, instead of merely observing the gate's settled output (g(\sigma_i)) (value leakage) or the concatenation of old and new values (g(\sigma_{i-1}) | g(\sigma_i)) (transition leakage), a glitch-aware adversary is assumed to observe the entire computational base — the set of registers and primary inputs on which the gate's output functionally depends within the cycle.
Context within the leakage taxonomy
Glitch leakage sits alongside two simpler physical leakage effects:
- Value leakage (\lambda_g(\sigma_{i-1}, \sigma_i) := g(\sigma_i)) — the gate's settled output at the end of the cycle [ISW03].
- Transition leakage (\lambda_g(\sigma_{i-1}, \sigma_i) := g(\sigma_{i-1}) | g(\sigma_i)) — the concatenation of the old and new gate values, capturing all possible transitions [BGG+14].
Glitch leakage is strictly more permissive than either of these: a model that observes the computational base subsumes any information revealed by the settled output or the transition.
Role in leakage contracts
In the leakage-contract framework, the per-cycle leakage of a circuit is the concatenation of every gate's individual leakage function:
$$\langle \lambda_g(\sigma_{i-1}, \sigma_i) \mid g \in G \rangle$$
Substituting the glitch-extended (\lambda_g(\sigma_{i-1}, \sigma_i) := C_g(\sigma_i)) into this composition yields the overall glitch-leakage trace emitted by the hardware over an (m)-cycle execution. Hardware compliance with a contract then requires that any leakage detectable in the hardware — including glitch leakage — is also reflected in the contract when computing with the same data.