Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
好吧,选择x为 0 给出f(0) = f(a) = f(b) = f(a xor b). 并且没有其他匹配的输入f(0)。所以我们只是在寻找v令人满意的v != 0, f(v) = f(0)。因此,制作一个电路,v当它满足时采用 a 并反转相位,否则什么也不做。然后应用 Grover 算法。运行时间将是O(sqrt(N))找到第一个值。然后你也重复它。
x
f(0) = f(a) = f(b) = f(a xor b)
f(0)
v
v != 0, f(v) = f(0)
O(sqrt(N))
另一方面,只是经典地随机采样直到你发现碰撞也有预期O(sqrt(N))的时间,所以你可能会做一些更聪明的事情。