web-dev-qa-db-ja.com

4096のgpgキーサイズと「未来はECC」

上司がバイナリに署名したいと考えています。彼に署名キーを作成する方法を教えてください。

バイナリの署名について私が見たすべてではないにしてもほとんどのサイトは「use gpg」と言っています。

OK、つまりデフォルトあたりのgpgは2048です。FAQ https://www.gnupg.org/faq/gnupg-faq.html#sec-11-4 3072や4096でもより高いセキュリティが提供されないが「コストが高い」理由がいくつかあります(私はそれらがコンピューティングリソースを参照していると思います)。

これはまだ2020年に適用されますか? 2048キーサイズを使用することを上司に安全に推奨できますか?

しかし、私をさらに困惑させるのは、彼らのFAQで彼らが言う:

おそらく違います。将来は、RSA-16384に匹敵する安全性のレベルをもたらす楕円曲線暗号です。デフォルトをRSA-3072以上に変更する必要があるかどうかの議論に費やす1分ごとに、ECCへの移行が1分遅れます。率直に言って、ECCは本当に良いアイデアだと思います。人間ができる限り早くそれを展開してもらいたいと思っています。

バイナリの署名にECCを使用することは可能ですか?そのためのチュートリアルはありますか?それとも、現在の最先端技術で2048キーサイズのgpgを使用していますか?

3
transient_loop

これはまだ2020年に適用されますか? 2048キーサイズを使用することを上司に安全に勧めることはできますか?

これはある程度意見の問題であり、StackExchangeでの議論には適さない可能性があります。実用的な目的では、2048ビットのRSAを使用して何年もの間安全である必要があります。ただし、4096ビットのRSAを使用するコストは、バイナリーの署名に使用する場合はほとんど気になりません。

ECCは、署名と検証の両方で、小さいキーの方が強力であり、計算が高速であるようです。たとえば、ビットコインは256ビットキーのECDSAを採用しています。

バイナリの署名にECCを使用することは可能ですか?そのためのチュートリアルはありますか?

現在、少なくともGPG v2.1以降では、ECGキーペアをGPGで作成することが可能です。システムのGPGのバージョンを確認し、使用可能なアルゴリズムを一覧表示するには、gpg2 --versionを呼び出します。 ECDSAまたはEDDSAが表示される場合は、gpg2 --full-gen-key --expertを使用して適切なアルゴリズムを選択することにより、ECCキーペアを生成することもできます。 2つの違いについては、 this の質問を参照してください。

4