Quantum cryptographic property testing of multi-output Boolean functions - Cui, Jingyi; Guo, Jiansheng (Quantum information processing, 2019)
Compared with Boolean functions, multi-output Boolean functions (a.k.a. vectorial Boolean functions) are commonly used in classical cryptography. More generally, many cryptographic primitives can be treated as multi-output Boolean functions. Hence, the research on property testing of multi-output Boolean functions is meaningful for the design and cryptanalysis of symmetric cryptography. This paper mainly focuses on the cryptographic property testing of multi-output Boolean functions in the quantum world. Firstly, the generalized Deutsch–Jozsa algorithm is proposed to distinguish balanced multi-output Boolean functions from constant ones with a single query. This algorithm has a wider scope of applications with arbitrary ancillary inputs. The first generalized Bernstein–Vazirani algorithm suitable for multi-output Boolean functions is presented to recover the linear coefficients of linear functions. Then, combined with the generalized Deutsch–Jozsa algorithm, the quantum algorithm for estimating Walsh coefficients of multi-output Boolean functions is proposed with the same idea of quantum approximate counting algorithm, accompanied with an algorithm for computing the Walsh coefficient at a specified point based on quantum exact counting algorithm. Finally, with the usage of algorithms mentioned above, the cryptographic property testing of multi-output Boolean functions is studied. In order to describe the distances from having the certain properties, Euclidean distance and Manhattan distance are introduced as complements of Hamming distance. According to the definition, the first balance testing of multi-output Boolean functions is presented by testing the uniformity of images. The second algorithm exploits the relationship between balance and the Walsh coefficients at the point 0 which could be easily extended to k -order resiliency testing. We also briefly analyze the query complexities of strict avalanche criterion testing and k -order propagation criteria testing. The linearity testing algorithm for multi-output Boolean functions based on the generalized Bernstein–Vazirani algorithm can be adapted to Boolean functions achieving a further speedup. The non-junta testing algorithm is proposed with lower query complexity.