Quantum attacks on Feistel constructions have attracted much attention from worldwide crytologists. To reduce the time complexity of quantum attacks on
r-round (
r≥7) Feistel construction, we propose a novel quantum meet-in-the-middle (QMITM) attack. For 7-round Feistel construction, we introduce quantum computing in the offline computation of the classic meet-in-the-middle (MITM) attack [Guo2016], i.e., propose a quantum claw finding algorithm based on quantum walk, which speeds up the process of finding a match in the offline computation phase. The keys in 7-round Feistel construction could be recovered by the match at last. Furthermore, to attack
r-round (
r>7), we use amplitude amplification algorithm to search the last
r−7 rounds of keys. Compared with other quantum attacks in Q2 model, our attack reduces the time complexity from
O(20.25nr−n) to
O(22n/3+(r−7)n/4), and is significantly better than classic attacks. Moreover, our attack only needs to make classical online queries, without quantum superposition queries in other quantum attacks, which is more practical.
In this article, we propose an efficient quantum k-collision search algorithm with low quantum memory O(n). The previous quantum k-collision algorithms can not be converted into a low quantum memory k-collision algorithm directly, because the time complexity of the converted algorithm is larger than the basic k-collision algorithm. To solve this problem, we shall not only divide our low memory quantum k-collision algorithm into several subroutines, but also need to achieve some balances between these subrou tines. The time complexity of our k-collision search algorithm is O(2(2k-2)n/2k+1-3 ), and the classical memory and quantum memory complexities are O(2(2k-2)n/2k+1-3 ) and O(n) respectively. In addition, we propose an efficient k-claw search algorithm, which can output a k-claw with O(n) qubits. Given 2squantum processors, we can construct our quantum k-collision and k-claw parallel algorithm with the time of O(2(2k-2)n-(2k+1-2k-1-3)s/2k+1-3 )while the classical memory and quantum memory complexities are O(2(2k-1-1)n+s-2k-2/2k+1-3 ) and O(n), respectively.