web-dev-qa-db-ja.com

GPG対称暗号化で最も堅牢なアルゴリズムは何ですか?

GPG対称暗号化で最も堅牢なアルゴリズムは何ですか(--cipher-algoの引数として与えられます)?

可能な暗号:

  1. IDEA
  2. 3DES
  3. CAST5
  4. ブローフィッシュ
  5. AES
  6. AES192
  7. AES256
  8. TWOFISH
  9. カメリア128
  10. カメリア192
  11. カメリア256
8
user123456

AES-256を使用してください(量子コンピュータについて人々が講義をするのを阻止するためです)。

特定の(パフォーマンス)要件を念頭に置いていない場合は、256ビットAESが適切で安全な選択肢です。しかし、それは他の暗号に対する実際的な攻撃があるという意味ではありません。結局のところ、どの理論的観測が将来の実用的な攻撃として機能する可能性があるかを誰も予測できないため、これは個人的な好みの問題です。

実際、AES-128を安全に使用することもできます。これは約30%高速です。 AES-128からAES-256に切り替える価値があるかどうかについては、少し意見の相違があります。キーサイズを2倍にしても、キースペースの検索はどちらも実用的ではないため、現在の攻撃を防ぐことはできません。ただし、将来のある時点で量子コンピューターが実行可能になる可能性がある場合、違いは重要になります グローバーのアルゴリズム これにより、キーサイズが実質的に半分になり、AES-128に対するブルートフォース攻撃が実行可能になる可能性があります。しかし、それは理論的な将来のシナリオです。 「 なぜ256ビットのAESキーに移行するのかという推測 」という記事は、AESキーのサイズについての良い参考文献です。

@SteffenUllrichと同様に、NIST標準としての地位のため、AESは広範囲にわたって研究されており、誰もが弱点に関する発表をしていなかったため、かなり長い間使用されてきました。

GnuPG FAQ にも意見があります:

11.10 GnuPGの最良のアルゴリズムは何ですか?

MD5とSHA-1は可能な限り回避する必要があります。一括暗号化には、Camellia、Twofish、またはAESを使用するのが最適です。そのガイダンスを超えて、GnuPGには「最適なアルゴリズム」はありません。ゴジラとキングコングのどちらが都市の恐怖に優れているかを尋ねるようなものです。明確な勝者はありません。

ただし、これは好みがないと言っているのではありません。 GnuPGのアルゴリズムは非常によく設計されているため、「最高」というものはありません。個人的な、主観的な選択がたくさんあります。

8
Arminius

AESバリアントの1つを使用する必要があります。これは、最も一般的な最新の暗号であるためです。

  1. ほとんどの代替案よりも綿密に調査されています。
  2. AESにはかなりのハードウェアサポートがあります。たとえば、Intel CPUと多くのARMモバイルCPUには、何年もの間ハードウェアAESアクセラレーションがありました。

GnuPGバージョン2.1はデフォルトとしてAES(128ビットキー)を使用しているため、そのバージョンを使用している場合は、デフォルトを調整する必要はありません。古いバージョンのデフォルトはCAST5ですが、AESをサポートしている場合は、そのデフォルトをオーバーライドする価値があります。 (ただし、これを怠ったことは警告の原因にはなりません。)


ここで、他の選択肢について説明します。

  • IDEA、3DES、CAST5、Blowfishは64ビットのブロックサイズです。このような暗号は、技術的に安全でないことがわかっていなくても、回避するのが最善です。 Matthew Greenには、このトピックに関するアクセシブルなブログ記事があります。
  • 3DESは、64ビットのブロックサイズに加えて非常に低速です。 3DESを使用する唯一の正当な理由は、レガシーシステムのtonsが単純なDES(これは安全ではない)を使用する)ことです。 3DESは、大きな投資をせずにこれらのシステムのセキュリティをアップグレードする方法です。
  • Camelliaは、AESと同様に、最新の128ビットブロックサイズをサポートしています。 Camelliaには明らかに悪いことは何もありませんが、AESほど使用されていないため、ネットワークの影響によるメリットはありません。
3
Luis Casillas