哈希和校验和如何检查数据?
这些工具根据数据计算紧凑值。请将该值与使用预期字节创建的可靠值比较。匹配结果支持完整性,但不能证明安全性、作者身份或真实性。
Tool Factory 将哈希工具与比较、识别和解释页面连接起来。该集合将文件完整性与密码哈希、身份验证和加密分开。
根据威胁模型选择完整性机制
| 机制 | 提供的功能 | 不提供的功能 |
|---|---|---|
| 非密码学校验和 | 快速检测许多意外更改。 | 抵抗有意攻击者的能力。 |
| 密码学哈希 | 生成具有安全属性的固定长度哈希。 | 证明发布的哈希来自可靠来源。 |
| HMAC | 使用共享秘密验证参与方之间的消息。 | 公开验证或机密性。 |
| 密码哈希 | 以可控成本生成缓慢的加盐验证值。 | 通用文件完整性或可逆加密。 |
| 数字签名 | 提供可验证的完整性和签名密钥证明。 | 没有额外加密时的机密性。 |
如何完成此任务
- 获取可靠哈希. 通过发布者的已验证渠道获取预期值和算法。
- 选择相同算法. 不要将 SHA-256 结果与 MD5 或 SHA-3 比较。
- 对准确字节计算哈希. 使用下载的文件,不要打开、重写或规范化文件。
- 比较每个字符. 按照表示形式处理大小写,并拒绝任何差异。
- 限制性解释结果. 匹配结果将字节与哈希关联,但不提供安全保证。
常见使用场景
检查下载的软件
将本地哈希与通过可靠渠道发布的值比较。
诊断传输
在两端计算哈希,以检测字节变化。
查找重复内容
将匹配的哈希作为候选,并保留适当的碰撞要求。
证据和标准
- NIST Hash Functions project: NIST 描述了将任意长度消息映射为固定哈希的认可算法。
- NIST FIPS 180-4: FIPS 180-4 规定 SHA-1 和 SHA-2 系列,包括 SHA-256 和 SHA-512。
- NIST FIPS 202: FIPS 202 规定 SHA-3 系列和可扩展 SHAKE 输出函数。
- RFC 6151: RFC 6151 更新了对 MD5 和 HMAC-MD5 的安全考虑。
- NIST SHA-1 transition guidance: NIST 建议安全应用使用更强的 SHA-2 或 SHA-3 替代方案。
重要限制
- 预期哈希只有在其传输渠道可靠时才有用。
- 匹配的哈希不会分析文件的恶意行为。
- 算法是否适用取决于所需变更、攻击者、身份验证和存储。