雙魚算法(英語:Twofish)是布魯斯·施奈爾帶領的項目組於1998年研發的區塊加密算法。
基本介紹
- 中文名:雙魚算法
- 外文名:Twofish
- 提出者:布魯斯·施奈爾
- 提出時間:1998年
- 套用學科:密碼學
- 適用領域範圍:區塊加密算法
介紹,概要,特點,軟體實現,
介紹
雙魚算法(英語:Twofish)是布魯斯·施奈爾帶領的項目組於1998年研發的區塊加密算法。美國國家標準技術研究所(NIST)公開招募的高級加密標準(AES)算法最終候選算法之一,但最終並未當選高級加密標準算法。
概要
雙魚算法有128、192、256位三種密鑰長度可供選擇,塊大小為128位,可以看作是布魯斯·施奈爾1993年開發的Blowfish算法的延伸版本。技術上使用與Blowfish類似的計算方法,但是考慮到主要面向於網路套用,提高了更大密鑰算法的速度。
與Blowfish算法一樣,雙魚算法無須授權即可使用。
特點
雙魚算法的標誌性特點是它採用了和密鑰相關的替換盒(S盒)。密鑰輸入位的一半被用於“真正的”加密流程進行編排並作為Feistel的輪密鑰使用,而另一半用於修改算法所使用的S盒。雙魚算法的密鑰編排非常複雜。
軟體實現
軟體實現的128位雙魚算法在大多數平台上的運行速度不及最終獲勝的128位的AES標準算法Rijndael,不過,256位的雙魚算法運行速度卻較AES-256稍快。