gpt4 book ai didi

security - 为什么好的散列算法不允许攻击者找到产生相同散列的两条消息?

转载 作者:行者123 更新时间:2023-12-04 16:37:01 25 4
gpt4 key购买 nike

我在看维基百科,它说

加密哈希函数是第三种加密算法。 他们将任意长度的消息作为输入,并输出一个简短的, 可用于(例如)数字签名的固定长度散列。 对于良好的哈希函数,攻击者无法找到产生相同哈希值的两条消息。

但是为什么?我的理解是,您可以将长长的麦克白故事放入散列函数中,并从中得到 X 长的散列。然后,您可以放入 Beowulf 故事,再次从中提取另一个哈希值 X 长。

因此,由于此函数将大量事物映射到较短的长度,因此必然会有重叠,就像我可能将霍比特人的故事放入哈希函数中并获得与 Beowulf 相同的输出,好吧,但这是不可避免 对吗(?)因为我们从输入中产生了更短的长度输出?即使找到了输出,为什么会出现问题?

我可以想象,如果我将它反转并取出 Hobit 而不是 Beowulf,那会很糟糕,但为什么它对攻击者有用?

最好的,

最佳答案

是的,由于您描述的原因,当然会发生碰撞。

我想声明应该是这样的:“对于良好的散列函数,攻击者无法找到产生相同散列的两条消息,除非通过蛮力”

至于为什么...

哈希算法通常用于身份验证。通过检查消息的散列,您可以(几乎)确定消息本身未被篡改。这依赖于找到生成相同散列的两条消息是不可行的。

如果散列算法允许相对容易地发现冲突,那么它就无法用于身份验证,因为攻击者随后可以(理论上)篡改消息并让被篡改的消息生成与原始消息相同的散列。

关于security - 为什么好的散列算法不允许攻击者找到产生相同散列的两条消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com