为 Git 开发新的哈希算法
为 Git 开发新的哈希算法
2020年02月04日 20时58分
Git 源码管理系统是基于 SHA‑1 哈希算法,Git 库储存的不同对象类型都使用 SHA‑1 哈希来进行识别。Linus Torvalds 在设计 Git 时并没有考虑 SHA‑1 有一天可能会不安全,他没有设计能切换到不同哈希算法的功能,而哈希类型深入到代码之中。但 SHA‑1 已经迟暮,Google 在 2017 年宣布了对 SHA-1 哈希算法的首个成功碰撞攻击。所谓碰撞攻击是指两个不同的信息产生了相同的哈希值。今年早些时候,研究人员将攻击成本降至 4.5 万美元,未来几年攻击成本还会继续下降。使用 SHA-1 的项目需要尽快切换到更安全的哈希算法。在考虑了多个替代之后,Git 社区在 2018 年宣布它的下一代哈希算法将是 SHA‑256。对小的项目来说,过渡到 SHA‑256 比较容易,但对 Linux 内核这样庞大的项目来说,这并非轻而易举。