日本の夏はとってもあつい。覚えている方がいるかどうかは分かりませんが、以前私はRSA公開鍵暗号アルゴリズムを理解するという記事を書きました。今回はその続編(?)です。こんな画像が脳裏に浮かぶと思います。楕円曲線の楕円は楕円積分から現れた言葉で、楕円積分は文字通り楕円の弧長などを求める方法なので全くの無関係とは言えませんが、少なくとも楕円曲線と楕円は別の図形です。楕円のことは忘れましょう。実際の楕円曲線は、例を示すと以下のような曲線です。いう式で表されるこのような曲線をワイエルシュトラス型楕円曲線と呼びます。ワイエルシュトラス型、と付いているのは他のパターンもあるからで、こんな形の楕円曲線もあります。形で表すことができます。いずれにしても、楕円曲線はx軸に対称の滑らかな曲線です。いう特殊な点を加えることで、楕円曲線上の加法演算を定義することができます。ここで言う加法演算は、実数の加法とは異ります。いう記号が現れますが、似たような性質を持っているために同じ記号が使われているだけ、といった感じに捉えてください。楕円曲線上の点の加法は、以下のように定義されます。すると、と、言葉だけで説明するといまいち良く分からないですね。いうか無限遠点って何だ。無限遠点のことは置いといて、無限遠点じゃない点に関しての加法演算を視覚化してみます。一意に定まることが分かるでしょうか。ように、x軸に対称な2点に加法演算を適用した場合、直線と楕円曲線は新たな交点を作らないので、楕円曲線上の一意な点を作れません。このような場合に解なしとしてしまうと加算群が作れなくなってしまうので、無限遠点が導入されます。無限遠点について無限遠点という概念を飲み込むのに引っかかりを覚えてしまう人は少なくないかと思います。実際私も「なんだそりゃ」と思わないでもありません。ユークリッド空間の中だけで考えると、無限遠点を理解するのは難しいです。そのような点は(ユークリッド空間には)存在しないと言わざるを得ません。分かりやすそうな例を考えてみます。奥行きのある絵や図を描く時の手法として、一点透視図法というものがあります。建物などを画面上のある特定の点(消失点)から伸びる直線に合わせて描くことで、遠近による歪みがある像をそれなりに正確に描くことができる手法です。ここで、消失点から伸びる直線は、平面的に見ればもちろん平行ではありませんが、絵の中の世界では平行のはずの線です。ユークリッド空間では平行線はどこまで行っても交わりませんが、一点透視図法の空間では平行線は消失点で交わるのです。したがって、この消失点は、ユークリッド空間上の点に置き換えることができない点ということになります。ここで、ユークリッド空間の概念を拡張して、無限遠点を導入します。平行線は有限な点では交わらないが、無限遠点で交わるということにしてしまえば、一点透視図法からの変換も容易です。このような空間はもはやユークリッド空間とは言い難いですが。逆に、一点透視図法の消失点は、絵の中の世界における無限遠点であると言えます。無限遠点の概念は、他にも例えば3DCGの世界などで見ることができます。3Dオブジェクトをライティングする際に、平行光源という物を使い、例えば太陽光のような光を再現することがあります。現実における太陽はもちろん地球から約1auの距離にあって無限遠にある訳ではないので、厳密には太陽からの光は平行ではありませんが、平行としてしまってもおおむね問題なく描画できます(リアリティを求める場合はそれでも足りないかもしれませんが)。現実にはそのような光源は存在しませんが、もし存在すると仮定するなら、それは無限遠に位置する光源ということになります。無限遠点がなんとなく飲み込めて来たでしょうか。飲み込めてなかったらすみません、もっといい説明の方法がありそうなら教えて下さい。ここから先は無限遠点の概念が分かってきたという体で話します。軸に平行な直線と楕円曲線が交わる点のうち、有限な座標を持たないもの」と考えることができます。実際は交わりませんが、一点透視図法のように、グラフを傾ければ無限に伸ばした先で直線と楕円曲線が交わる消失点があるはずです。結ぶことを考えてみます。仮想的な点であり、具体的な座標は分かりませんが、これを「消失点と任意の点を結ぶ」と同じように考えてみることができます。消失点から出た直線は一点透視図法の世界では互いに平行な直線です。軸と平行」と考えられます。座標ということになります。結ぶ直線であると言う事もできるわけです。