Crooked indifferentiability of the Feistel Construction
Alexander Russell, Qiang Tang, Jiadong Zhu
TL;DR
The paper tackles subversion-resilient symmetric primitives by introducing crooked-indifferentiability for random permutations and presenting a direct Feistel construction that with enough rounds (approximately 8n, or 2000n/log(1/ε) for ε-subversion) becomes indistinguishable from a true random permutation even when round functions are adversarially subverted and the adversary knows the randomness. The approach builds on a two-layer idea: a subverted random function corrected via a public-randomness affine/Feistel composition, and a rigorous simulator-based proof that tracks chain structures (subverted/unsubverted) within a game-hopping framework, ensuring freshness and honesty of programmed values. The main contributions are a tight upper bound on the required rounds for crooked indifferentiability, a matching lower bound showing fewer rounds are insufficient, and a detailed security/effectiveness analysis that extends Crooked Indifferentiability to full models with explicit efficiency guarantees. The work advances subversion-resistant cryptography by providing a practically viable, subversion-tolerant construction that remains drop-in replaceable for randomized permutations, with formal replacement theorems adapted to the crooked setting. This has implications for kleptographic attacks and secure protocol design where subversion-resistant ideal ciphers are desirable in practice.
Abstract
The Feistel construction is a fundamental technique for building pseudorandom permutations and block ciphers. This paper shows that a simple adaptation of the construction is resistant, even to algorithm substitution attacks -- that is, adversarial subversion -- of the component round functions. Specifically, we establish that a Feistel-based construction with more than $2000n/\log(1/ε)$ rounds can transform a subverted random function -- which disagrees with the original one at a small fraction (denoted by $ε$) of inputs -- into an object that is \emph{crooked-indifferentiable} from a random permutation, even if the adversary is aware of all the randomness used in the transformation. We also provide a lower bound showing that the construction cannot use fewer than $2n/\log(1/ε)$ rounds to achieve crooked-indifferentiable security.
