Blowfish
Blowfish とは何ですか?
BlowfishBruce Schneier が 1993 年に設計した 64 ビットブロック・可変鍵長の Feistel 暗号。暗号解析的には現役だがブロック長が短く、現在は AES に置き換わっている。
Blowfish は Bruce Schneier が 1993 年に DES や IDEA に代わる高速・無料の対称ブロック暗号として設計しました。64 ビットブロックに対して 16 ラウンドの Feistel 構造を適用し、鍵長は 32〜448 ビット、鍵依存の大型 S-Box を用います。フルラウンドの Blowfish 自体は現在も破られていないとされますが、64 ビットのブロック長は、同一鍵で数 GB を暗号化する長時間セッションにおいて Sweet32 のような誕生日攻撃に脆弱です。そのため NIST や現代プロトコルは AES など 128 ビットブロックの暗号を推奨します。Blowfish はパスワードハッシュ bcrypt や Twofish などの派生設計に受け継がれ歴史的価値を持ちますが、新規の暗号用途では非推奨です。
● 例
- 01
古いバージョンの OpenSSH や OpenVPN は CBC モードの Blowfish に対応していた。
- 02
パスワードハッシュ bcrypt は Blowfish の鍵スケジュールを基礎としている。
● よくある質問
Blowfish とは何ですか?
Bruce Schneier が 1993 年に設計した 64 ビットブロック・可変鍵長の Feistel 暗号。暗号解析的には現役だがブロック長が短く、現在は AES に置き換わっている。 サイバーセキュリティの 暗号 カテゴリに属します。
Blowfish とはどういう意味ですか?
Bruce Schneier が 1993 年に設計した 64 ビットブロック・可変鍵長の Feistel 暗号。暗号解析的には現役だがブロック長が短く、現在は AES に置き換わっている。
Blowfish からどのように防御しますか?
Blowfish に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。