【发布时间】:2022-01-25 00:56:43
【问题描述】:
根据我读过的书,它说 S.H.A(安全哈希算法)是抗冲突的。但是如果输入空间是 1024 位数字而输出空间是 512 位消息摘要,那么不应该相撞 (2^1024)/(2^512) 次?由于范围小于被映射的域,因此应该存在冲突。请解释我哪里出错了。
【问题讨论】:
-
我投票决定将此问题作为离题结束,因为这纯粹是关于 cryptography 而不涉及编程。
-
是的,它会根据定义发生碰撞。但是,应该不可能计算或猜测哪个值会发生碰撞。当然,您不能只迭代可能的值,直到找到碰撞,在找到碰撞之前您已经没有时间(任何时间 - 选择您的时期)。
-
(2^1024)/(2^512) = 2^512 接近 10^155(比 googol 大,但比 googolplex 小)。
-
“输入空间是1024位数”是什么意思?唯一重要的是唯一输入的数量以及唯一输出的数量。或许见Hash collision probability calculator。
标签: cryptography collision sha sha512