web-dev-qa-db-ja.com

新しいキーを生成-ECC vs RSA

再びGnuPGを使い始めるつもりです。過去2年間使用しておらず、 [〜#〜] rsa [〜#〜] および [〜#〜] ecc [〜#〜] キー。

[〜#〜] ecc [〜#〜] について少し読んだ後、それがどこに向かっているのか、どの曲線を使用するのかについて、かなり不確かなようです。たとえば、 NIST曲線が危険にさらされているかどうかについて、いくつかの議論がありました。 GnuPG 2.1.11とlibgcrypt 1.6.5は、 NIST- Brainpool-Curves 選択するECC GPGで? )そしてこれはわずか8か月前でした。 25519-Curve も選択できるようになりました(GnuPG 2.1.18)。

私の質問は、 [〜#〜] ecc [〜#〜] を使用して安全に開始できるか、または [〜#〜] rsa [〜# 〜] 少なくともあと数年は? 25519-Curve を使用すると思います。しかし、この曲線は古いGnuPGバージョンや他のシステムと互換性がありますか、それともいくつかの問題がありますか?これは私たちが今後数年間使用できるものでしょうか、それとも標準化され、長期間維持される曲線に関して、一定の変化が期待できますか( [〜#〜] rsa [〜#〜 ] )およびすべてのシステムでサポートされていますが、信頼できないため一部の曲線が消える可能性がありますか? [〜#〜] nsa [〜#〜] [〜#〜] rsa [〜#〜]の使用を推奨するという論文にも出会いましたおよび [〜#〜] ecc [〜#〜] を使用する代わりに、 Post-Quantum-Cryptography を待ちます。

私は平均的なGnuPGユーザーですが、今後数年以内に暗号がどのように発展するかについて、何らかの不確実性があるようです。

12
prankenandi

RSAを使用しても問題ありません。 ECCはスペース効率が高くなりますが、どこでもサポートされているわけではありません。

私の質問は、ECCの使用を安全に開始できるのか、それとも少なくとも数年間はRSAを使用する必要があるのか​​、です。

Curve25519を使用する場合、ECCは より安全 と見なされます。設計上、高速でさまざまなサイドチャネル攻撃の影響を受けません。 RSAは、実用的な面ではそれほど安全ではありませんが、現代のテクノロジーでは破壊不可能と見なされています。 GnuPGで使用するには十分高速です。

しかし、この曲線は古いGnuPGバージョンや他のシステムと互換性がありますか、それとも問題がありますか?

古いシステムとは互換性がありません。すべての関係者が同じアルゴリズムをサポートする必要があります。ただし、複数のサブキーを持つことができます。 ECCを備えた新しいサブキーを1つ、通常のRSAを備えた古いキーを1つ持つことができます。これらは、ECCサポートがユビキタスになったときに取り消すことができます。

また、これは私たちが今後数年間使用できるものになるでしょうか、または一部の曲線に関して一定の変化が標準化され、長期間維持され(RSAのように)、すべてのシステムでサポートされ、一部の曲線が消える可能性があるため、彼らは信頼できないのですか?

ECCが古い。 RSAほど古いものではありませんが、まだ古く、よく研究されています。それは何も私の袖の番号を使用していないため、curve25519は信頼性のために消える可能性は低いです。 安全曲線 です。 Curve25519はmodulo p = 2を使用します255 -19およびy2 = x + 486662x2 + x。これをP-256のような標準のNIST曲線と比較してください。これらの値は...よく説明されていないため、人々はNSAだけが知っている攻撃のクラスに弱めるように意図的に設計されたと推測しますNOBUS)。それが支持されなくなる唯一の理由は、このクラスの曲線に対する大きな攻撃が見つかった場合です。

また、NSAが、RSAを使用し続け、ECCを使用する代わりにポスト量子暗号化を待つことを推奨する論文にも出会いました。

これは、ECCに必要な鍵のサイズが小さいためです。従来のセキュリティでは、これで十分です。256ビットのECCキーは、2048ビットの従来のキーよりも強力です。これらのタイプの鍵はどちらも、暗号分析量子コンピューターを機能させることによって破られる可能性があります。量子コンピューターが機能するには、いくつかの量子ビット(トランジスタと同等の量子)が必要です。量子デコヒーレンスと呼ばれる現象により、大量のキュビットを連携させることは非常に困難であるため、その数はしばらくの間制限される場合があります。暗号分析量子コンピューターは、256ビットのECCキーを破るのに十分なキュービットを持っているが、2048ビットのRSAキーを破ることはできない可能性があります。これらすべての攻撃に抵抗するSIDH、NTRU、またはNewHopeのようなポスト量子暗号化を待つ方が良い場合があります。

私は平均的なGnuPGユーザーですが、今後数年以内に暗号がどのように発展するかについて、何らかの不確実性があるようです。

RSAを使い続けることは完全に許容されます。 ECCのサポートが改善されたら、新しいサブキーの形式でそれに移行できます。 ECCキーと署名ははるかに小さいので、これが優先される場合は、ECCの使用を開始することをお勧めします。 RSAキーと署名はサイズが大きく、扱いにくい場合があります。

6
forest

楕円曲線の利点は、特定のレベルの推定セキュリティ*に対してはるかに小さい鍵を許可することです。

しかし、私の知る限りでは。

  1. いくつかの人気のある曲線は、パラメーターが選択された理由について何も示されていない状態で、米国政府によって作成されました。米国政府が曲線に基づいて暗号を解読するのに役立つ方法でパラメータを選択することにより、曲線を「バックドア」した可能性のあるより偏執的なタイプの中で懸念があります。
  2. 新しいものはありませんが、ソフトウェアのサポートが問題になります。
  3. 従来のECDSA(DSAと似ていますが、RSAとは異なります)は、署名に使用されるシステムの乱数ジェネレーターに大きく依存しています。 EdDSAはこれを修正しますが、これはかなり新しいオプションであり(読み取り:古いがまだサポートされているソフトウェアを使用する環境ではサポートされない場合があります)、曲線25519でのみサポートされるようです。
  4. 曲線25519は、尊敬されている非政府の暗号技術者による「何もない」曲線ですが、128ビットのセキュリティレベルを目的とした「唯一の」曲線です。
  5. 一般的に、ECCはGnuPG 1.xではまったくサポートされていないことがわかる限り、かなり新しいものです。まだサポートされている一部のディストリビューションリリースは、メインのGnuPG実装として1.xにまだあります。
  6. 量子コンピューティングはすべての古典的な暗号化に対する脅威ですが、RSAよりもECCに対する脅威のようです(両方の現在の実務キーの長さを考えると)。

上記のすべてを考えると、私は4096ビットのRSAに固執しています。

*現時点で最もよく知られている攻撃を考慮して、鍵を解読する時です。

1
Peter Green