Correcting Subverted Random Oracles
Alexander Russell, Qiang Tang, Moti Yung, Hong-Sheng Zhou, Jiadong Zhu
TL;DR
This paper addresses the challenge of subverted random oracles in cryptography, where an adversary corrupts a hash function on a negligible fraction of inputs. It introduces crooked indifferentiability and a simple correction construction using public randomness to transform the subverted oracle into a function indistinguishable from a random oracle, formalized as $ ilde{h}_R(x)= ilde{h}_0igl(igoplus_{i=1}^{ ext{poly}(n)} ilde{h}_i(xoxplus r_i)igr)$ with $ ext{poly}(n)$ terms. The authors prove a replacement theorem: the corrected oracle can replace an unsubverted random oracle in cryptographic constructions, preserving security even under kleptographic subversion. The work has practical impact for defending PoW blockchains, system initialization, and digital signatures against backdoors, and it outlines future directions for extending crooked indifferentiability to larger error tolerances and other primitives.
Abstract
The random oracle methodology has proven to be a powerful tool for designing and reasoning about cryptographic schemes. In this paper, we focus on the basic problem of correcting faulty or adversarially corrupted random oracles, so that they can be confidently applied for such cryptographic purposes. We prove that a simple construction can transform a "subverted" random oracle which disagrees with the original one at a small fraction of inputs into an object that is indifferentiable from a random function, even if the adversary is made aware of all randomness used in the transformation. Our results permit future designers of cryptographic primitives in typical kleptographic settings (i.e., those permitting adversaries that subvert or replace basic cryptographic algorithms) to use random oracles as a trusted black box.
