はい、Elliptic Curve Diffie-HellmanはDiffie-Hellmanと非常によく似ていますが、同じ「塗りつぶしを使用する」アルゴリズムには異なる数学ベースが使用されています。
クラシックDiffie-Hellmanは、式s = mod(exp(mod(exp(g, a), p), b), p)
(aとbが反転されている場合に同じ値を生成する)を持つ有限体暗号(FFC)に基づいています。それはかなり非友好的な式です。
EC Diffie-Hellmanは、楕円曲線暗号(ECC)に基づいて式s = a*b*G
を使用しています。なぜそれが働くのか理解するために乗法の交換性を信じるだけです(最後にX座標が使用されます)。もちろん、G
を乗算する実際の数学はかなり醜いですが、a
とb
の両方がちょうど(大きな)整数です)。
古典DHの塗装色のアナロジーを使用するには:
- 共通曲線は、両当事者によって使用されています。 ECCのすべての「カーブ」には確立された開始点(
G
=ジェネレータ)があります。ウィキペディアの画像と比較するには、黄色と呼んでください。
- アリスにはプライベートキー
a
があります。これは、あなたの幸運のゲームボードをカラーホイールの周りを何度も前進させる回数です。選択した色とGを組み合わせると、色の桃が生成されます。
- ボブにはプライベートキー
b
があります。プレスあなたの運のアナロジーを使用して、彼はあなたの運の色は、アリスの秘密とボブの水色をマージするのと同じ色を生成し、ボブの秘密を押すと、アリスの桃をマージ、ちょうど古典的なDHの画像のようG.
と合成後の水色を取得しますあなたの幸運の色を押してください。
多くの理由から、ECCキーは「密に安全」です。したがって、160ビットのECC DHキーは、1024ビットのFFC DHキーと同じくらい安全です。そのため、同じセキュリティがより迅速に実行されるため、ECDHがDHを置き換え、ECDSAがDSAを置き換えています。より一般的なsecp256r1カーブ(256ビットECCキーを使用)を使用すると、3072ビットのFFC DHキーと同等の値になります。
これはプログラミング上の質問ではないので、このトピックをオフトピックとして閉じることにしました。 –