On (Noisy) Simon’s (Quantum) Algorithm for Multi-shift Boolean Functions
摘要
Given a Boolean function, \(f:\{0,1\}^n\rightarrow \{0,1\}^n\) with the promise that \(f(x)=f(y)\) if and only if \(x\oplus y\in \{0^n,s\}\) for all \(x,y\in \{0,1\}^n\) and an unknown non-zero bit string \(s\in \{0,1\}^n\) , Simon’s quantum algorithm (1994) determines s using O(n) many queries to the oracle \(U_f\) . In this paper, we revisit (Bonnetain, Latincrypt 2021) the Boolean functions having more than one ( \(2^k\) many) shifts and present an exact count of such functions, with relevant characterization. The characterization was known for \(k = 1\) (May et al., CT-RSA 2021), that we generalize here for any k. This characterization is important towards analysing such functions in a noisy quantum environment (Noisy Intermediate Scale Quantum, NISQ), as this formulation presents an efficiently computable form. This reduces the propagation of error due to small depth. Finally, we devise strategies for recovering the shift space for Boolean functions, which almost satisfy the conditions for being used as Simon’s oracle, except for a few input point(s), termed as near-Simon functions.