libtorrent 項(xiàng)目剛剛釋出了libtorrent-2.0,其中一個(gè)重要特性是支持BitTorrent v2協(xié)議。而 BitTorrent v2 相比之前版本的一個(gè)主要變化是其哈希函數(shù)用 SHA-256 取代了 SHA-1,原因是 SHA-1 不再安全。
Google 在 2017 年宣布了對(duì) SHA-1 哈希算法的首個(gè)成功碰撞攻擊。所謂碰撞攻擊是指兩個(gè)不同的信息產(chǎn)生了相同的哈希值。
在 Google 的研究中,攻擊所需的計(jì)算量十分驚人,但今年初研究人員已經(jīng)將攻擊成本降至4.5 萬(wàn)美元,以后還會(huì)更低。
SHA-256 的哈希長(zhǎng)度從 20 字節(jié)增加到了 32 字節(jié)。為了確保兼容性,SHA-256 info-hash 仍然維持在 20 字節(jié)長(zhǎng)度。
BitTorrent 2.0 不兼容于舊的協(xié)議,但 libtorrent 2.0 能同時(shí)處理舊的協(xié)議和新的協(xié)議,不過(guò)舊的客戶端無(wú)法訪問(wèn)新協(xié)議創(chuàng)造的種子。為了幫助 BT 客戶端過(guò)渡到 BitTorrent 2.0,libtorrent 2.0 引入了名叫 hybrid torrents 的方案。
來(lái)源:solidot