Twofish

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Twofish
Twofish演算法
概述
設計者布魯斯·施奈爾
首次發布1998年,​26年前​(1998
衍生自BlowfishSAFER英語SAFERSquare英語Square (cipher)
相關演算法Threefish英語Threefish
認證AES決賽演算法
密碼細節
金鑰長度128、192、256位
分組長度128位元
結構Feistel network
重複回數16
最佳公開破解
Truncated differential cryptanalysis英語Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1] Impossible differential attack英語Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2]

Twofish(雙魚)是布魯斯·施奈爾帶領的專案組於1998年研發的區塊加密法演算法。美國國家標準技術研究所(NIST)公開招募的進階加密標準(AES)決賽演算法之一,但最終並未當選進階加密標準。Twofish的標誌性特點是它採用了和金鑰相關的替換盒(S盒)。金鑰輸入位的一半被用於「真正的」加密流程進行編排並作為Feistel的輪金鑰使用,而另一半用於修改演算法所使用的S盒。Twofish的金鑰編排非常複雜。

軟體實現的128位元Twofish在大多數平台上的執行速度不及最終勝出AES評選的128位元Rijndael演算法,不過,256位的Twofish執行速度卻較AES-256稍快。

概要[編輯]

Twofish有128、192、256位三種金鑰長度可供選擇,塊大小為128位元,可以看作是布魯斯·施奈爾1993年開發的Blowfish演算法的延伸版本。技術上使用與Blowfish類似的計算方法,但是考慮到主要面向於網路應用,提高了更大金鑰演算法的速度。[3]

與Blowfish演算法一樣,Twofish無須授權即可使用。

參考資料[編輯]

  1. ^ Shiho Moriai; Yiqun Lisa Yin. Cryptanalysis of Twofish (II) (PDF). 2000 [2013-01-14]. (原始內容 (PDF)存檔於2012-06-01). 
  2. ^ Niels Ferguson. Impossible differentials in Twofish (PDF). 1999-10-05 [2013-01-14]. (原始內容存檔於2013-03-08). 
  3. ^ Bruce Schneier. Twofish. 1998 [2011-09-13]. (原始內容存檔於2011-09-06).