
代数幾何学において、ツイスト・エドワーズ曲線は楕円曲線の平面モデルであり、2008年にBernstein、Birkner、Joye、Lange 、Petersによって導入されたエドワーズ曲線の一般化である。 [1]この曲線セットは数学者Harold M. Edwardsにちなんで名付けられている。楕円曲線は公開鍵暗号において重要であり、ツイスト・エドワーズ曲線はEdDSAと呼ばれる電子署名方式の中核をなすものであり、この方式は高いパフォーマンスを提供しながら、他のデジタル署名方式で表面化したセキュリティ問題を回避している。
意味
特性が2 でない体上のねじれたエドワーズ曲線(つまり、どの要素もそれ自身の加法逆ではない) は、次の式で定義されるアフィン平面曲線です。
ここで、 はの異なる非ゼロ要素です。
ねじれたエドワーズ曲線はそれぞれ、エドワーズ曲線のねじれです。特殊なケースはねじれがなく、曲線は通常のエドワーズ曲線に縮小されます。
ねじれたエドワーズ曲線はすべてモンゴメリ形式の楕円曲線と双有理的に同値であり、その逆もまた同様である。[2]
グループ法
すべての楕円曲線と同様に、ねじれたエドワーズ曲線でも、2 つの点を加算したり、1 つの点を 2 倍 (または 3 倍) にするなど、その点の間でいくつかの操作を行うことができます。これらの操作の結果は常に、曲線自体に属する点です。次のセクションでは、他の 2 つの点を加算 (加算) した結果の点の座標、または曲線上の 1 つの点を 2 倍にした結果の点の座標を取得するためのいくつかの式を示します。
ねじれたエドワーズ曲線への追加
を2 とは異なる特性を持つ体とします。および をねじれたエドワーズ曲線上の点 とします。 ねじれたエドワーズ曲線の方程式は次のように表されます。
- : .
これらの点の合計は次のようになります。
中立要素は(0,1)であり、負の要素は
これらの公式は倍数計算にも適用できます。aがの正方形で、dがの非正方形の場合、これらの公式は完全です。つまり、例外なくすべての点のペアに使用できます。したがって、倍数計算にも適用でき、中立要素と負の要素も入力として受け入れられます。[3] [検証失敗]
追加の例
a = 3、d = 2の次のねじれたエドワーズ曲線があるとします。
上記の式を使用して点を加算することができます。結果は座標を持つ点 P 3になります。
ねじれたエドワーズ曲線の倍増
倍増は加算とまったく同じ式で実行できます。曲線上の点の倍増は次のようになります。
どこ
2 倍算の分母は曲線方程式を使用して簡略化されます。これにより、累乗が 4 から 2 に削減され、より効率的な計算が可能になります。
倍増の例
前の例で示した同じねじれたエドワーズ曲線(a=3、d=2)を考えると、点を2倍にすることができます。上記の式を使用して得られた点2P 1の座標は次のようになります。
少し計算するだけで、点が曲線に属していることが簡単にわかります。
拡張座標
ねじれたエドワーズ曲線上の点を表すことができる別の種類の座標系があります。上の点は、次の式x = X / Z、y = Y / Z、xy = T / Zを満たすX、Y、Z、Tとして表されます。
点の座標 ( X : Y : Z : T ) は拡張ツイストエドワーズ座標と呼ばれます。単位元は (0:1:1:0) で表されます。点の負の値は (− X : Y : Z :− T ) です。
逆ツイストエドワーズ座標
点の座標は、曲線 上の 反転ツイスト エドワーズ座標と 呼ばれます。この点は、上のアフィン エドワーズ座標に相当します。Bernstein と Lange は、a=1 の場合にこれらの反転座標を導入し、さらに座標によって時間が節約されることを観察しました。
射影ツイストエドワーズ座標
射影ツイストエドワーズ曲線の方程式は次のように与えられます: Z 1 ≠ 0の場合、 点 (X 1 :Y 1 :Z 1 ) はE E、a、d上のアフィン点( x 1 = X 1 / Z 1、y 1 = Y 1 / Z 1 )を表します。
楕円曲線をツイスト エドワーズ形式で表現すると、同じ曲線をエドワーズ形式で表現できる場合でも、計算時間が節約されます。
射影ねじれ曲線の加算
射影ツイストエドワーズ曲線上の加法は次のように表される。
- (X 3 :Y 3 :Z 3 ) = (X 1 :Y 1 :Z 1 ) + (X 2 :Y 2 :Z 2 )
これには 10回の乗算 + 1 回の 2乗+ 2 D + 7 回の加算が必要です。ここで、 2 D はaによる乗算 1 回とdによる乗算 1 回です。
- アルゴリズム
- A = Z 1 · Z 2、
- B = A 2
- C = X 1 · X 2
- D=Y1・Y2
- E = dC · D
- F = B − E
- G = B + E
- X 3 = A · F((X 1 + Y 1 ) · (X 2 + Y 2 ) − C − D)
- Y 3 = A · G · (D − aC)
- Z 3 = F · G
射影ねじれ曲線の倍加
射影ねじれ曲線上の倍加は次のように与えられる。
- (X 3 :Y 3 :Z 3 ) = 2(X 1 :Y 1 :Z 1 ) です。
これには 3回の乗算 + 4 回の二乗 + 1 回のD + 7 回の加算が必要です。ここで、1 回のDはaによる乗算です。
- アルゴリズム
- B = (X 1 + Y 1 ) 2
- C = X 1 2
- D=Y12
- E = αC
- F = E + D
- H = Z 1 2
- J = F − 2H
- X 3 = (B − C − D).J
- Y 3 = F · (E − D)
- Z 3 = F · J [1]
参照
- エドDSA
- 特定のケースで必要な実行時間の詳細については、「楕円曲線での演算コストの表」を参照してください。
注記
- ^ ab バーンスタイン、ダニエル J.;バークナー、ピーター。ジョイ、マーク。タンジャ、ランゲ。ピーターズ、クリスティアーヌ (2008)。 「ツイステッド・エドワーズ・カーブ」。ヴォードネー、セルジュ編著。暗号学の進歩 – AFRICACRYPT 2008。コンピューターサイエンスの講義ノート。 Vol. 5023. ベルリン、ハイデルベルク: Springer。 389–405ページ。土井:10.1007/978-3-540-68164-9_26。ISBN 978-3-540-68164-9。
- ^ ダニエル・J・バーンスタイン;ピーター・バークナー。マーク・ジョイ。タンジャ・ランゲ。クリスティアン・ピーターズ。 「ねじれたエドワーズ曲線」(PDF) 。2020 年1 月 28 日に取得。
- ^ Daniel J. Bernstein と Tanja Lange、楕円曲線上のより高速な加算と倍加
参考文献
- ダニエル・J・バーンスタイン。マーク・ジョイ。タンジャ・ランゲ。ピーター・バークナー。クリスティアン・ピーターズ、Twisted Edwards Curves (PDF)
- Huseyin Hisil、Kenneth Wong、Gary Carter、Ed Dawson。(2008)「ツイスト エドワーズ曲線の再考」、Cryptology ePrint Archive
{{citation}}: CS1 maint: multiple names: authors list (link)
- ダニエル・J・バーンスタイン。タンジャ・ランゲ。ピーター・バークナー。 Christiane Peters、エドワーズ曲線を使用した ECM (PDF)
外部リンク
- http://hyperelliptic.org/EFD/g1p/index.html
- http://hyperelliptic.org/EFD/g1p/auto-twisted.html
- Ed25519 アルゴリズム: http://ed25519.cr.yp.to/
