Twofish(トゥーフィッシュ)とは、ブルース・シュナイアーを中心としたプロジェクトチームによって開発されたブロック暗号の名称。

Twofish
The Twofish algorithm
一般
設計者 ブルース・シュナイアー
初版発行日 1998
派生元 Blowfish, SAFER, Square
関連 Threefish
認証 AES最終候補
暗号詳細
鍵長 128, 192 or 256 bits
ブロック長 128 bits
構造 Feistel構造
ラウンド数 16
最良の暗号解読
切詰差分解読法:251選択平文を要する[1]不能差分攻撃:鍵長256 bitsにおいて、2256 stepsを要して16ラウンド中6ラウンドまで[2]

NIST(アメリカ国立標準技術研究所)が公募・実施したAESセレクションにおけるファイナリストのひとつ。セレクションはベルギールーヴァン・カトリック大学研究チームが開発したRijndaelに敗れたが、暗号化復号処理速度においてはTwofishの方が優れているとする評もある[3]

概要 編集

128、192、256ビットの三種の鍵長を選択可能。ブロック長は128ビット。1993年にブルース・シュナイアーが開発した対称ブロック暗号、Blowfishの発展型と位置づけられている。技術的にはBlowfishと同型の各種アルゴリズムを使用しているが、主にネットワークシステムにおける利用を念頭に置いた鍵拡大アルゴリズムの高速化が施された。

Blowfishと同様に特許は取得されておらず、アルゴリズムはライセンスフリーとして公開されている。

脚注 編集

  1. ^ Shiho Moriai, Yiqun Lisa Yin (2000) (PDF). Cryptanalysis of Twofish (II). http://www.schneier.com/twofish-analysis-shiho.pdf 2013年1月14日閲覧。. 
  2. ^ Niels Ferguson (1999-10-05) (PDF). Impossible differentials in Twofish. https://www.schneier.com/paper-twofish-impossible.html 2013年1月14日閲覧。. 
  3. ^ Twofishの暗号ラウンド数は16段に固定されているため、暗号鍵の長さに影響を受けない安定した実行速度を持つとされる。

関連項目 編集

外部リンク 編集