
見つけたこの比較的古い質問GnuPG での署名と暗号化に RSA と DSA のどちらが推奨されるアルゴリズムかについて。
を使用する場合gpg --gen-key
、関連する 2 つの選択肢は「RSA と RSA」または「DSA と Elgamal」のいずれかです。どちらの方が暗号化アルゴリズムが強力ですか? 2009 年から何が変わりましたか?
答え1
信頼できる推奨事項
前回の投稿の時点では、デフォルトのアルゴリズムを変更することについてまだ議論がありましたウェブアーカイブにまだ残っている大まかな合意があったが、RSA 2kキーに切り替えるデフォルトが実行されました。
デビアン文書では4k RSAキーの使用を推奨しているサブキーの使用についてそしてdebianキーreadme ファイル。Debian 開発者キーリングのキーの約 4 分の 3 の大部分は (依然として) DSA/Elgamal です (gpg の出力を grep してカウント)。
iX(ドイツのコンピュータサイエンス雑誌、2013年11月号、またオンラインで無料で利用可能PGPの発明者、フィル・ジマーマン1k のキーはまだ破られていませんが、「RSA を使用する場合は少なくとも 3k の長さ」を推奨しています。しかし、それらは「リソースが豊富な攻撃者の手の届く範囲」にあります。
セキュリティについて
現時点では、どちらも適切な鍵サイズであれば安全だと言われています(RSAでは4kが推奨、DSA2では2kが必要、それ以外ではSHA-1を使用するDSA1)。
選択するにはRSAキーの長さ、 見てNISTが提供する実際の強度の概要(p. 64) 強度がキーの長さ (および計算時間) とともに直線的に増加しないのは容易にわかるので、サイズが 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 分かかりました。時間をかけて作業してください (ランダム ソースを入力するため)。
答え2
一方、私は 3K RSA 署名サブキーと 4K El-Gamal 暗号化サブキーを備えた 4K RSA マスター キーを選択しました。この時点でより高いマスター キーを選択しなかった唯一の理由は、より大きなキーを扱うのに苦労するモバイル デバイスを使用するユーザーが普及しているからです。
もちろん、特定の目的のために大きなキーを持っていることもありますが、それは他の人とのコミュニケーションのためではないことが多いです。