Twofish
Twofish(雙魚)是布魯斯·施奈爾帶領的項目組於1998年研發的分組密碼算法。美國國家標準技術研究所(NIST)公開招募的高級加密標準(AES)決賽算法之一,但最終並未當選高級加密標準。Twofish的標誌性特點是它採用了和密鑰相關的替換盒(S盒)。密鑰輸入位的一半被用於「真正的」加密流程進行編排並作為Feistel的輪密鑰使用,而另一半用於修改算法所使用的S盒。Twofish的密鑰編排非常複雜。
概述 | |
---|---|
設計者 | 布魯斯·施奈爾 |
首次發布 | 1998年 |
衍生自 | Blowfish、SAFER、Square |
相關算法 | Threefish |
認證 | AES決賽算法 |
密碼細節 | |
密鑰長度 | 128、192、256位 |
分組長度 | 128位 |
結構 | Feistel network |
重複回數 | 16 |
最佳公開破解 | |
Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1] Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2] |
軟件實現的128位Twofish在大多數平台上的運行速度不及最終勝出AES評選的128位Rijndael算法,不過,256位的Twofish運行速度卻較AES-256稍快。
概要
Twofish有128、192、256位三種密鑰長度可供選擇,塊大小為128位,可以看作是布魯斯·施奈爾1993年開發的Blowfish算法的延伸版本。技術上使用與Blowfish類似的計算方法,但是考慮到主要面向於網絡應用,提高了更大密鑰算法的速度。[3]
與Blowfish算法一樣,Twofish無須授權即可使用。
參考資料
- ^ Shiho Moriai; Yiqun Lisa Yin. Cryptanalysis of Twofish (II) (PDF). 2000 [2013-01-14]. (原始內容 (PDF)存檔於2012-06-01).
- ^ Niels Ferguson. Impossible differentials in Twofish (PDF). 1999-10-05 [2013-01-14]. (原始內容存檔於2013-03-08).
- ^ Bruce Schneier. Twofish. 1998 [2011-09-13]. (原始內容存檔於2011-09-06).