明日から"知ったか"できる!? 速習! 楕円曲線!!
この記事はポート株式会社 サービス開発部 Advent Calendar 2024の11日目の記事です。
ポート株式会社で新卒2年目のinit-ikuyaです。大学では物理学を学んで、系の対称性の記述に群を用いたりしてきました。(群論はあまり得意ではなかったですが。。。笑)
本記事は、そんな僕が弊社のアルゴリズム勉強会中に見かけた楕円曲線というものについて書いてみたものです!
以下間違いなどありましたら指摘いただけますと幸いです
(以降、アドカレの記事として書く都合上、ですます調で書きます。数学をですます調で書くとムズムズしますが笑)
楕円曲線とは
まずは下の式と図を見てください
以下を満たすような点
これを
「全く楕円の形をしてねぇじゃねぇか!」と突っ込みたくなりますが、そもそも楕円曲線というネーミングは「楕円の孤の長さを計算する時に出てくる曲線」というニュアンスらしいので、お門違いです!
ともあれ、
楕円加算
で、なんとびっくり、この楕円曲線(に無限遠点を加えたもの)上の2点
- 直線PQが
軸に並行でない場合y (x_1\neq x_2)
直線PQと楕円曲線が交わる点を とすると、これをR 軸に関して対称移動した点x についてR'
P+Q\equiv R' \tag{2} - 直線PQが
軸に並行である場合y (x_1=x_2)
直線PQが 軸に並行であるとき、この直線は楕円曲線上の他の点と交差しないように見えるが、ここで無限遠点y を使う。無限遠点とは、イメージ的にO のことだと思っておけば良さそうです(x,y)=(0,\infty)
P+Q\equiv O\tag{3} - PとQが等しい場合
を接点とする接線が楕円曲線と交差する点をP(=Q) とすると、これをR 軸に関して対称移動した点x についてR'
P+Q\equiv R'\tag{4} - PとQのいずれかが無限遠点である場合
(単に無限遠点は加法単位元であると割り切って考えてもいいですが)上記の①や③と同様に考えるなら「直線POが楕円曲線と交差する点はもう1つある。ここを として、例の如くR 軸に関して対称移動すると......当然x に戻ってくる」と考えても良いでしょうP
以下は少し別の画像で、筆者が描いたものでは無いですが、雰囲気をよく表していると思うので掲載します
このように定義される加算を"楕円加算"と言います
幾何学的に比較的わかりやすく定義されているんですが、誰がどうやってこんな和を思いついたんだ、と愕然としてしまいますね。。。
ちなみに、これは可換群になっています! というのも、「直線を引いて、楕円曲線との残りの交点を探して、
- 結合法則が成り立つ(らしい)→(というのもこれの証明は難しい)
- 単位元がある → 無限遠点がこれにあたる
- 逆元 →
軸に対して折り返した点がこれにあたるx
スカラー倍
ちなみに、和が定義できたのでここから自然にスカラー倍も定義できます。当然以下のように定義されます
有限体上の楕円曲線
例えば暗号への応用、という文脈においては離散対数の計算困難性を用いたいので、巡回群が導入されます。(この辺の説明はWikipediaの離散対数 暗号への応用 項が分かりやすいです)
特に楕円曲線暗号の文脈では剰余を導入することで有限体を獲得し、これを達成します
巡回群?? 有限体?? 知らんがな、という方も次の例を見てください!
例
以下を満たす
ただし、先ほどまでと違って
となります
今、例えば
となります
というのも、楕円加算は先述の通り幾何学的に行うことができるので加法の計算規則を導出するのは難しくなく、それは以下のようになるためです
-
かつx_1=x_2 の場合、y_1+y_2=0\mod p P+Q=O - それ以外の場合は
P+Q=(\lambda^2-x_1-x_2,\lambda(x_1-x_3)-y_1)\tag{10}
ただし、 は直線PQと楕円曲線のもう1つの交点のx_3 座標x -
の場合、P\neq Q \lambda=\frac{y_2-y_1}{x_2-x_1}\mod p\tag{11} -
の場合、P=Q \lambda=\frac{3x_1^2+a}{2y_1}\mod p\tag{12}
-
これにより、
まず
ここでユークリッドの互除法などを用いると
これを用いると、
よって
以上のように
今回は
楕円離散対数問題
そもそも、有限体上の楕円曲線が暗号に使われるのは楕円離散対数問題の困難性のためです。これは、「楕円曲線E上の点
加法群であるために対数らしさを感じませんが、歴史的には乗法群の中で「
まとめ
本記事を読んで以下3点を皆様に"知ったか"していただければと思います!
- 楕円曲線上に加法群が定義できる
- 有限体上に限ると巡回群になる
- 加法巡回群が楕円離散対数問題と呼ばれ、暗号の文脈で利用されている
今回は実際に暗号としてどのように利用されているかについては触れられなかったのですが、機会があればそういった記事も書いてみようと思います
ここまでご覧いただきありがとうございました
Discussion