1. ホーム
  2. security

[解決済み] ファイル暗号化におけるAESとBlowfishの比較

2022-10-15 04:10:30

質問

バイナリファイルを暗号化したい。私の目標は、パスワードを持っていない人がファイルを読むことを防ぐことです。

同じ鍵長でAESとBlowfish、どちらが良い解決策でしょうか?攻撃者はファイルをクラックするための大きなリソース(ソフトウェア、知識、資金)を持っていると仮定することができます。

どのように解決するのか?

おそらく AESです。BlowfishはTwofishの直接の前身でした。Twofishは、ブルース・シュナイアーがAESを生み出すコンペティションに参加したものである。Rijndaelという作品に劣ると判断され、それがAESとなった。

興味深い余談ですが、コンペティションのある時点で、すべての参加者が暗号のランク付けについて意見を求められたことがあります。しかし、他のすべてのチームは Rijndael を 2 番目に良いものとして選びました。

とはいえ、Blowfish と AES の基本的な目標にはいくつかの違いがあり、絶対的なセキュリティという点では Blowfish に軍配が上がります(間違いなく)。特に、Blowfish は、最初のキー設定をかなり遅い操作にすることにより、ブルートフォース (キー枯渇) 攻撃を困難にすることを試みています。通常のユーザーにとっては、これはほとんど重要ではありませんが (それでも 1 ミリ秒未満です)、それを破るために 1 秒あたり数百万のキーを試している場合、その差はかなり大きくなります。

しかし、結局のところ、これは大きな利点とは思えません。私は一般的に AES をお勧めします。次の選択肢は、おそらく Serpent、MARS、Twofish の順でしょう。Blowfish はそれらの後のどこかに来るでしょう (ただし、Blowfish の前に推奨する他のものがいくつかあります)。