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).