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