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と同様に特許は取得されておらず、アルゴリズムはライセンスフリーとして公開されている。
脚注
編集- ^ Shiho Moriai, Yiqun Lisa Yin (2000) (PDF). Cryptanalysis of Twofish (II) 2013年1月14日閲覧。.
- ^ Niels Ferguson (1999-10-05) (PDF). Impossible differentials in Twofish 2013年1月14日閲覧。.
- ^ Twofishの暗号ラウンド数は16段に固定されているため、暗号鍵の長さに影響を受けない安定した実行速度を持つとされる。
関連項目
編集外部リンク
編集