web-dev-qa-db-ja.com

ECCおよびRSA 10Kのより強力な主張

これに似ていると主張されているウェブサイトはたくさんありますが、根拠には説明がありません。

「256ビットのECCキーサイズは3072ビットのRSAキーに相当し、2048ビットのRSAキーよりも10,000倍強力です」

Q:10K係数に関するこの主張の根拠は何ですか? 10Kはどこから来るのですか?

table (これはどこでも参照されます)から、同等のキーサイズがわかります。

また、主張が行われる link 。ところで:これはこの主張をする唯一のサイトではありません。

3
Khanna111

これらの見積もりは非常に粗雑であり、おそらく、意味がありません。

RSAやECDSAのような非対称暗号化アルゴリズムは数学的構造に基づいており、それらを解読するにはその構造を解明する必要があります。一般的に言えば、そうすることの難しさは、基礎となるオブジェクトのサイズ(つまり、「キーサイズ」)とともに高くなりますが、簡単で単純な指数則ではありません。

RSA鍵のサイズをECDSA鍵のサイズと比較したり、対称アルゴリズム(AESなど)の鍵のサイズを比較したりできるように、いくつかの「強度推定」を行うことに多くの努力が注がれています。 整数因数分解 を介してRSAキーをそのタスクの最もよく知られたアルゴリズム(一般的な数値フィールドシーブ)で壊すには、多くの計算だけでなく、シリアライゼーションと並列処理に対応できないアクセスパターンを持つひどい大量のデータ-はっきり言って、本当に大量の非常に速いRAM(ここではテラバイト単位では話していない)これは、たとえば、CPUを大量に必要とするが、 RAMは必要ありません 恥ずかしいほど並列です

それにもかかわらず、一部の賢い人々はまだ見積もりを出しており、ニース Webサイト を使用してそれらを提示し、パラメーターを微調整できます。たとえば、NISTの推奨事項を見ると、2048ビットのRSAキーは対称アルゴリズムの112ビットキーと「なんらかの形で同等」と見なされ、3072ビットのRSAキーは128ビットの対称キーとして評価されます。 。対称鍵は特別な構造を持たない単なるビットの束であるため、nビットの鍵は「労力を割ることができる2n-1 平均して」(正しいビットが見つかるまでnビットの可能な組み合わせを列挙することにより。)したがって、NISTの推定値によると、RSA-3072は約65536倍強力であると見なされますRSA-2048(128-112 = 16および2であるため)16 = 65536)。

他の方程式は異なる結果をもたらします。 RFC 3766 で説明されている方法では、RSA-2048を103ビットの対称鍵と同等に、RSA-3072を125ビットまでと評価しています。これらの見積もりは、RSA-3072がRSA-2048よりも400万倍以上壊れにくいことを意味します(2125/ 2103 = 4194304)。また、RFC 3766は、RSA-2048はNISTが言うよりも50万倍弱いと述べていることにも注意してください。


また、「RSA-3072は[〜#〜] x [〜#〜]倍RSA-2048よりも壊れにくい」などの簡単なステートメントで、 RSA-2048とRSA-3072の破壊の硬さを定量化できる場合にのみ意味があります。数量化は次のとおりです。そして今、そしてまた近い将来(つまり、今後40年以内)に、唯一の正解は「忘れて」です。地球上の金額は、既存のすべてのお金を一緒にしたとしても、RSA-2048キーブレークまたはRSA-3072キーブレークを購入することはできません。これは単に私たちの技術の範囲外です。

これはしないということは、RSA-2048が永久に壊れないことを意味します。それが(またはいつ)壊れた場合、それは定性的強化(アルゴリズムの画期的な進歩)により、特性が定義により完全に未知であると述べているだけです。

これに対応して、RSA-3072がRSA-2048よりも「1万倍」強いという主張は、ほとんど根拠のない推測です。または、せいぜい、既存のデータポイントからの数学的外挿を、物理的に意味のないレベルに引き上げます。

5
Thomas Pornin

私はあなたが言及したこの10Kを主張する1つの情報源を見つけましたが、Symantecによる調査 here は次のように述べています

RSAを使用する現在の暗号化方式のキーの長さは、セキュリティレベルが上がるにつれて指数関数的に増加しますが、ECCキーの長さは直線的に増加します。たとえば、128ビットのセキュリティには3,072ビットのRSAキーが必要ですが、256ビットのECCキーのみが必要です。セキュリティを256ビットに増やすには、15,360ビットのRSAキーが必要ですが、512ビットのECCキーのみが必要です3 ....


ここ 楕円曲線暗号の「比較的理解しやすい」入門書を見つけることができます。


暗号システム間の比較を見つけることができます here

楕円曲線暗号はおそらくほとんどの目的に適していますが、すべてに適しているわけではありません。

ECCの主な利点は、特に高レベルのセキュリティ(AES-256〜ECC-512〜RSA-15424)で、同じレベルのセキュリティに小さいキーを使用できることです。これは、Number Field Sieveのような因数分解のための凝ったアルゴリズムのためです。

ECCの利点:

  • 小さい鍵、暗号文、および署名。
  • 非常に高速な鍵の生成と署名。
  • 適度に高速な暗号化と復号化。
  • バイナリ曲線はハードウェアで本当に高速です。

ECCの欠点:

  • 安全、特に標準曲線を実装するのは複雑でトリッキーです。
  • 標準は最新のものではなく、特にECDSAはSchnorrの署名と比較すると一種のハッキングです。
  • 壊れた乱数ジェネレータで署名すると、キーが危険にさらされます。
  • まだいくつかの特許問題があり、特にバイナリカーブについてはそうです。
  • 新しいアルゴリズムには、理論的には未知の弱点があります。二項曲線は少し怖いです。 DUAL_EC_DRBGにはバックドアがあるため、使用しないでください。

RSAの利点:

  • 非常に高速で非常にシンプルな暗号化と検証。
  • ECCよりも実装が簡単です。
  • 署名と復号化は似ています。暗号化と検証は似ています。
  • 広く導入され、より優れた業界サポート。

RSAの欠点:

  • 鍵の生成が非常に遅い。
  • 署名と復号化が遅いため、安全に実装するには少し注意が必要です。
  • 2部構成のキーは、実装が不十分な場合、GCD攻撃に対して脆弱です。
2
user69377