初めに 多倍長整数の実装, 有限体の実装と解説してきたので次は楕円曲線暗号の高速な実装方法を紹介します。 しばらくは数学の準備で、まずは射影座標を解説します。射影座標は通常の2次元座標 (x, y) と無限遠点 \infty を統一的に扱う座標です。 一覧 楕円曲線暗号のための数学1(射影座標)(これ) 楕円曲線暗号のための数学2(バイナリ法によるスカラー倍算) 楕円曲線暗号のための数学3(ヤコビ座標) 楕円曲線の定義 Pythonを使った楕円曲線を実装する話は楕円曲線暗号のPythonによる実装その2(楕円曲線とECDSA)でも解説してるので参考にしてください。 ここでは最小限の説明をしておきます。 楕円曲線は、有限体の元 a, b \in 𝔽_p を固定して E=\Set{(x,y)\in {𝔽_p}^2 | y^2=x^3+ax+b} \cup \infty で定義される集合です