请帮助解释 Wikipedia 中描述的生日效果:
生日攻击的工作原理如下:
- 选择任何消息 m 并计算 h(m)。
- 更新列表 L。检查 h(m) 是否在列表 L 中。
- 如果 (h(m),m) 已经在 L 中,则发现有冲突消息对。否则将 (h(m),m) 对保存在列表 L 中并返回步骤 1。
从生日悖论我们知道,在执行大约 2^(n/2) 次哈希评估之后,我们可以期望找到匹配的条目。
以上是否意味着通过上述整个循环进行 2^(n/2) 次迭代(即 2^(n/2) 返回到步骤 1),或者是否意味着与 L 中已经存在的单个项目进行 2^(n/2) 次比较?