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

定義

編集
 
方程式   に対するモンゴメリ曲線

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

 

ただし、   A, BKおよびB(A2 − 4) ≠ 0を満たす。

一般に、この曲線は、標数が2以外の有限体K (たとえば、 要素q個である有限体K = Fq )上で定義される A ≠ ±2 かつ B ≠ 0 であるような曲線と考えられる。しかし、ABの条件は同じである有理数上の曲線とも考えることもできる。

モンゴメリー演算

編集

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

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

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

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

 
 

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

 
 
 

楕円曲線を定義している体の要素の掛け算と二乗算の時間コストをそれぞれMSとすると、上記の一つ目の演算(加算)の時間コストは、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ではない体とする。

 

 

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

 

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

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

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

写像

 
 

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

  

 

で与えられる。

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

ワイエルシュトラス曲線との等価性

編集

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

  

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

 

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

 

最終的に、方程式

 

が得られる。

したがって写像

  

は次で与えられる。

 

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

  

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

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

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

  

 

で表せる。

関連項目

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

脚注

編集
  1. ^ Peter L. Montgomery (1987). “Speeding the Pollard and Elliptic Curve Methods of Factorization”. Mathematics of Computation 48 (177): 243–264. doi:10.2307/2007888. JSTOR 2007888. 
  2. ^ Daniel J. Bernstein, Peter Birkner, Marc Joye, Tanja Lange and Christiane Peters (2008). “Twisted Edwards Curves”. Progress in Cryptology – AFRICACRYPT 2008. Lecture Notes in Computer Science. 5023. Springer-Verlag Berlin Heidelberg. pp. 389–405. doi:10.1007/978-3-540-68164-9_26. ISBN 978-3-540-68159-5 
  3. ^ Katsuyuki Okeya, Hiroyuki Kurumatani, and Kouichi Sakurai (2000). Elliptic Curves with the Montgomery-Form and Their Cryptographic Applications. Public Key Cryptography (PKC2000). doi:10.1007/978-3-540-46588-1_17

参考文献

編集

外部リンク

編集