ECC 楕円曲線入門

ブロックチェーン学習ウェブサイト

https://web3study.club/

序章

ECC (Ellipse Curve Cryptography) は、楕円曲線暗号システム、楕円曲線暗号アルゴリズムなどとも呼ばれます。楕円曲線暗号アルゴリズムは、ビットコインとブロックチェーンで広く使用されています。

式: y^2 = x^3 + ax + b

ここでは、どなたでも簡単に理解していただけるよう、この部分の内容を分かりやすくご紹介します。

原則紹介

公開鍵と秘密鍵の暗号化コンテンツ

公開鍵は公開されず、秘密鍵は公開できないプロセスです. 暗号化する必要がある情報は公開鍵で暗号化された後、秘密鍵に送信されて復号化され、秘密鍵のみが公開されます.ここには 2 つの問題があります。

  1. 公開鍵暗号化のプロセスは高速でシンプルです
  2. 暗号化された情報は元に戻すことができず、直接解読することは困難です。つまり、元に戻すことはできません。

グラフィカルな説明

楕円曲線の例:

  1. 楕円曲線は x 軸に対して対称です.y 軸の正の方向の点を選択すると、-y に対称な点がなければなりません
  2. グラフ上の 2 点を見つけ、2 点を線で結び、3 番目の点 (垂直線を除く) まで延長するだけです。

図のように、AとBの延長線のあと、y軸の対称点を探すと、演算である点C、ABはCになります。簡単に言えば点です。操作(この点操作は楕円曲線の加算操作です):A点B = C

AC を接続し、1 点で交差し、その対称点 D を見つけます。つまり、点 C=D

など、点 E など、もう一度 AE を接続すると、より多くの点を見つけることができます

条件を仮定します。開始点が点 A であり、終点が点 F であることがわかっています。点 F を取得するために点計算を何回行うことができますか?

パスを見れば確実にF点の操作回数がわかるのですが、これがないとなかなか難しいので、例えばビリヤードをするなら友達にスタート地点を見てもらいましょう。白球を出してから目を閉じる. 遊び始めて、ある位置で止まって、友達に目を開けてもらい、「白球の経路を聞いてもいいですか?あなたはそれを自分で忘れています。これは原則の 1 つです: 順方向は簡単、逆方向は難しい (暗号化は簡単、復号化は難しい)

ただし、上の図のような特殊なケースがあります。点 P は接点であり、延長線の対称点は点 Q であり、接点は 2 点の一致点、つまり P 点と見なすことができます。 P=Q = 2P そして再び交点を伸ばす 対称性: P 点 2P=3P そして対称性は順番に 6P 点を得ることができます. 6P は非常に特別です. この定義を見てください. (3p)2 = 6P (2p)3 = 6p 乗算問題。

DHアルゴリズムの原理

甘酸っぱいポークリブの簡単な例を挙げると、アリスとボブの両方が独自のレシピを持っています.アリスの砂糖、ボブの酢.シンディは彼らの間の連絡役ですが、シンディはいつも彼らのレシピを盗もうとしています.アリスはカルビを加工した後、ここに砂糖を加えます. , それはシンディを通してボブに送られ、ボブはカルビを酢で処理した後、シンディを通してアリスに送ります. 砂糖を加え、ボブは酢を加えて甘酸っぱい豚カルビの原料を形成します. 調理後、甘い酸っぱいポークリブは拾って売ることができます. ここでは、シンディがそれらすべてに触れましたが、彼女はコアレシピを持っていないことがわかります, それらの結果を盗む方法はありません.

その中でカルビは公開されており、これは公開鍵に例えられますが、シンディは他人の秘密鍵を持っていないため、最終的に酢豚カルビを取得することはできません。

これに基づいて、楕円曲線アルゴリズムを追加します

  1. Alice が秘密鍵 a を生成し、Bob が秘密鍵 b を生成し、
  2. アリスとボブの両方が公開データ G を持っており、これは公開されており、誰もが知ることができます。アリスは秘密鍵を使用して点操作で公開鍵 A を生成し、ボブも秘密鍵を使用して公開鍵 B を生成します。
  3. 次に、交換、A と B の操作は、使用される楕円曲線暗号化操作です。A は a 回の後に生成されるため、この数を知ることは難しく、元に戻すことができないため、A は a を逆に終了することはできず、同じこともできません。 B逆出口点b
  4. 交換後、アリスは新しい鍵 aB を生成し、ボブは新しい鍵 bA を生成し、次に説明した (3p)2 = 6P 問題に従って aB と bA を逆アセンブルします。
    1. aB = a(bG)
    2. bA=b(aG) ここで、a(bG) = b(aG) を置くことができます。つまり、aB = bA

ECDHEは、上記の楕円曲線とDHを組み合わせた鍵交換アルゴリズムで、前に進みやすく逆に進みにくい

さらに読む

ECC 楕円曲線暗号の原理、式の導出、例、Python の実装と応用 - プログラマー募集

[イーサリアムのソースコード解析] IV. 楕円曲線暗号と楕円曲線デジタル署名アルゴリズムのイーサリアムへの応用 - プログラマー募集

ECC楕円曲線の詳しい解説(具体例付き) - Kalafinaian - 博客园

おすすめ

転載: blog.csdn.net/u013377003/article/details/127878386