web-dev-qa-db-ja.com

GnuPGに最適な暗号化および署名アルゴリズム:RSA / RSAまたはDSA / Elgamal?

私は この比較的古い質問 を見つけました。RSAまたはDSAがGnuPGでの署名と暗号化に推奨されるアルゴリズムかどうかについてです。

gpg --gen-keyを使用する場合、関連する2つの選択肢は「RSAとRSA」または「DSAとElgamal」です。どちらが良いですか?それぞれの長所と短所は何ですか? 2009年以降、何か変更はありますか?

47
The-Q

信頼できる推奨事項

最後の投稿の時点で、デフォルトのアルゴリズムを変更することについてはまだ議論がありました まだWebアーカイブにあります 大まかなコンセンサスがありました RSA 2kキーに切り替えます デフォルトとして実行されました。

Debianは、ドキュメントで4k RSAキーを使用することを推奨しています サブキーの使用について および debian-keys readmeファイル。 debian開発者のキーリングの約4分の3のキーの大部分は(まだ)DSA/Elgamalです(gpgの出力をgreppingすることでカウントされます)。

IXのインタビュー(ドイツのコンピューターサイエンス誌、2013年11月号 無料でオンラインで入手可能 )で、PGPの発明者Phil Zimmermann「RSAを使用する場合は少なくとも3kの長さ」を推奨しますが、1kのキーはまだ壊れていません。しかし、彼らは「リソースに富んだ攻撃者の手の届くところ」にいます。

セキュリティについて

現在、両方とも適切な鍵サイズに対して安全であると言われています(RSAには4kが推奨され、DSA2には2kが必要です。それ以外の場合は、 SHA-1を使用するDSA1 を使用します)。

RSAキーの長さを選択するには、 NISTが提供する実際の強度の概要 (p。 。強度がキーの長さ(および計算時間)に比例して直線的に増加しないことは簡単にわかるので、2倍のサイズは「2倍のセキュリティ」を意味しません。

DebianでのOpenSSLのDSA実装の問題 がありましたが、これは不正なランダムデータの使用が原因であり、RSAでも発生した可能性があります。

RSAとDSA2の選択

プロRSA

  • RSAはより広く普及していますが、OpenPGP標準では必要ありませんが、すべての主要な実装で対応できます。 DSA2は(まだ)
  • RSAはより高速な署名チェックを提供します

プロDSA2

  • 署名は小さいですが、とにかく小さいです。電子メールおよびコード署名の場合は無視できる
  • より高速なキー作成(モバイルやルーターなどの低電力デバイスや組み込みデバイスに関連する場合があります)
  • 署名が少し速い

私自身の決定

最近、新しいOpenPGPキーを作成したとき、私はプライマリキー用に8k RSAを、サブキーとして4k RSAを毎日使用することにしました。とにかくRSA署名は検証が高速で、巨大な8k署名は他の鍵の署名にのみ使用されますが、8kは本当に長い間十分であると考えられるべきです。すべての署名を失うことなく取り消すのが安価であるため、現在のサブキーには4kで十分です。

私のCore 2 Duo T9300でその8kキーの作成に約20分かかったので、時間をかけていくつかの作業(ランダムソースの供給)を行ってください。

74
Jens Erat

一方、3K RSA署名サブキーと4K El-Gamal暗号化サブキーを持つ4K RSAマスターキーを選択しました。この時点でより高いマスターキーを選択しなかった唯一の理由は、モバイルデバイスを使用しているユーザーが、より大きなキーに本当に苦労しているためです。

もちろん、私は特定の目的のために大きなキーを持っていますが、それは他の人とのコミュニケーションのためではない傾向があります。

0
Ben