libtorrent 项目刚刚释出了libtorrent-2.0,其中一个重要特性是支持BitTorrent v2协议。而 BitTorrent v2 相比之前版本的一个主要变化是其哈希函数用 SHA-256 取代了 SHA-1,原因是 SHA-1 不再安全。
Google 在 2017 年宣布了对 SHA-1 哈希算法的首个成功碰撞攻击。所谓碰撞攻击是指两个不同的信息产生了相同的哈希值。
在 Google 的研究中,攻击所需的计算量十分惊人,但今年初研究人员已经将攻击成本降至4.5 万美元,以后还会更低。
SHA-256 的哈希长度从 20 字节增加到了 32 字节。为了确保兼容性,SHA-256 info-hash 仍然维持在 20 字节长度。
BitTorrent 2.0 不兼容于旧的协议,但 libtorrent 2.0 能同时处理旧的协议和新的协议,不过旧的客户端无法访问新协议创造的种子。为了帮助 BT 客户端过渡到 BitTorrent 2.0,libtorrent 2.0 引入了名叫 hybrid torrents 的方案。
来源:solidot