gpt4 book ai didi

algorithm - 为什么 gzip 使用 CRC 而不是一般的哈希算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:12 27 4
gpt4 key购买 nike

Digital Signature 之间有什么区别?和一个 codeword

背景:我最近不得不对 gzip 文件做大量的工作。 One interesting thing I found while reading the Python zlib documentation is the claim that CRC should not be used as a general hash algorithm.这让我想知道,如果它不是一般的哈希算法,那么 CRC 有什么意义呢?检查平等不是重点吗?

最佳答案

zip 文件中的 CRC 主要用于确保文件在存储或传输过程中不被损坏。它不用于提供真实性或防止文件被攻击者更改。因此不需要密码安全。

加密散列确实提供相同或更好的保护以防止完整性失败。然而,它们的计算量更大,并且需要更大的输出。如果散列的输出减少太多,那么 CRC 实际上可能会更好地检测(随机)变化。

由于 CRC 值不能防止故意更改 - 不难找到会生成相同 CRC 值的文件 - 它不适合数字签名。为此,您确实需要一个加密散列。

请注意,加密哈希不是签名。对于签名,您需要数字签名应用程序,例如 PGP。数字签名(通常)包含一个散列,然后使用来自私钥的信息进行处理(由接收方的公钥验证)。


注意:有时“签名”一词的意思是“指纹”。对于指纹,仍然使用加密散列 - 主要是 MD5 或 SHA-1 。但这是相当牵强的,而且在我看来是对“签名”一词的错误使用。

关于algorithm - 为什么 gzip 使用 CRC 而不是一般的哈希算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27609902/

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