Montgomery curve

数学において、モンゴメリ曲線は楕円曲線の一つの形式であり、通常のワイエルシュトラス形式とは異なる形式である。1987年にピーターL.モンゴメリーによって導入された。特定の計算、特にさまざまな暗号化アプリケーションで使用される。

定義 

体上のモンゴメリ曲線は次の方程式で定義される。

 

ただし、  と  は およびを満たす。

一般に、この曲線は、標数が2以外の有限体K （たとえば、 要素が個である有限体 ）上で定義される  かつ  であるような曲線と考えられる。しかし、との条件は同じである有理数上の曲線とも考えることもできる。

モンゴメリー演算 
楕円曲線の点の間でいくつかの「演算」を行うことができる。2つの点  の「加算」は  である3番目の点 を見つけることである。点の「2倍算」は、 を計算することである。（演算の詳細については、下の説明や群構造を参照のこと。）

モンゴメリ形式  の楕円曲線上の点 は、モンゴメリー座標  で表すことができる。ただし、 は射影座標であり、 に対して  である。

注意しなければならないことは、この種の点の表現は情報を失うことである。実際、この場合、アフィン空間内の点  と  は共に同じ点  で表現されるため、区別が無くなる。しかし、この表現においても、点の定数倍を得ることができる。つまり、与えられた点  から、 を計算できる。

今、2つの点  と  を考える。それらの和は点 で表され、その座標は次のように与えられる。

 

 

もし  ならば、演算は「2倍算」である。 の座標は次の式で与えられる。

 

 

 

楕円曲線を定義している体の要素の掛け算と二乗算の時間コストをそれぞれMとSとすると、上記の一つ目の演算（加算）の時間コストは、3M+2Sである。

また、体の要素の定数倍の時間コストをDとすると、2つ目の演算（2倍算）の時間コストは2M+2S+1D である。定数倍の定数は  であるため、D を小さくするために小さい  を選ぶことができる。

アルゴリズム例 
次のアルゴリズムは、モンゴメリー形式の楕円曲線上の点の2倍算を表す。

 とする。この実装における計算コストは、1M + 2S + 1*A + 3add + 1*4である。ここで、Mは乗算、Sは二乗、"*a"は定数倍（定数aをかける）を表す。

計算例 
を曲線  上の点とする。 座標では、 より、 となる。

よって

 

 

 

これにより、である点はである。

加算 
モンゴメリ曲線  上の与えられた2つの点  と  に対して、点  は、幾何学的には、 と  を通る直線と曲線  の3番目の交点によって決定される。の座標  は次のように計算できる。

1）アフィン平面における直線は一般に で表せるが、とを通るという条件から、  と  となる。

2）この直線と曲線  との交点を求めるために、曲線の方程式の  に  を代入する。すると次の3次方程式が得られる。

 

この方程式には、3つの解があり、それらは  と  と  の  座標に対応する。したがって、この方程式は次のように書き直すことができるはずである。

 

3）上記の2つの同じ方程式の係数、特に2次の項の係数を比較すると、次を得ることができる。

 

よって、 は、 ,  , ,  によって

 

で書き表すことができる。

4）点  の  座標を見つけるためには、直線の式  に  を代入すれば良い。ただし、これは点  を直接与えないことに注意。この方法は、 を満たす点  の座標を与える。 が  を意味することに注意すると、 を得るためには、得られた点  から点  を見つける必要がある。ただ、これは  の  の座標の符号を逆にすることで、簡単に行うことができる。つまり、直線の式に  を代入して得られた  座標の符号を反転させる必要がある。

これらをまとめると、 である点の座標  は、次のように書ける。

2倍算 
モンゴメリ曲線上の与えられた点に対して、点において曲線と接する直線を考えたとき、2倍算の点は、直線と曲線の3番目の交点で表される。よって、点の座標を見つけるには、加算で与えられたのと同じ方法に従えば十分である。ただし、この場合、直線は点で曲線に接している必要がある。もし曲線が

 

であるならば、直線の傾きを表す の値は、陰関数定理により、次の式で与えられます。

 

よって、であり、の座標は

 

で求められる。

ツイステッドエドワーズ曲線との同等性 
を、標数が2ではない体とする。

を

 

で表されるモンゴメリ形式の楕円曲線とする。ただし、 、 。また、を

 

で表されるエドワーズ形式の楕円曲線とする。ただし、。

次の定理は、モンゴメリ曲線とツイステッドエドワーズ曲線との双有理同値性を示している 。

定理（i）ツイステッドエドワーズ曲線は、上のモンゴメリ曲線と双有理同値である。特に、ツイステッドエドワーズ曲線は、、 を満たすモンゴメリ曲線と双有理的同値である。

写像

 

 

は、からへの双有理同値であり、逆写像：

  ： 

は

 

で与えられる。

2つの曲線間のこの同値性は、任意の場所で有効であるわけではないないことに注意。例えば、写像は、 やである 上の点では定義されていない。

ワイエルシュトラス曲線との等価性 
楕円曲線はワイエルシュトラス形式で記述できる。特に、モンゴメリ形式の楕円曲線

  ： 

は、次の方法で変換できる；の方程式の各項をで除算し、変数xとyをそれぞれ  と  に置き換える。これにより、方程式

 

が得られる。ここから短いワイエルシュトラス形式を取得するには、uを変数  に置き換えるだけで十分で、

 

最終的に、方程式

 

が得られる。

したがって写像

  ： 

は次で与えられる。

 

一方、体をベースとするワイエルシュトラス形式の楕円曲線

  ： 

は、常にモンゴメリ形式に変換できるわけではない。の位数が4で割り切れ、次の条件を満たすときに、またその時に限り変換できる。

  が少なくとも1つの根を持ち、
  がにおいて平方剰余である。

これらの条件が満たされるとき、と置くと、写像

  ： 

は

  

で表せる。

関連項目 

 Curve25519
 楕円曲線上の演算のコスト – 特定の場合に必要な実行時間に関する情報

脚注

参考文献

外部リンク 

 大きな標数を持つ体のGenus-1曲線
楕円曲線暗号
楕円曲線