数学 において 、 ヤコビ曲線は ワイエルシュトラス方程式 で定義される通常の楕円曲線とは異なる 楕円曲線 の表現である。ヤコビ曲線は 単純攻撃や差分電力解析 型(SPA)攻撃に対する防御を提供できるため、 暗号化 においてワイエルシュトラス形式の代わりに使用されること がある。実際、この形式の楕円曲線上の点の2倍演算にも一般的な加法公式を使用することができる。このようにして、2つの演算はサイドチャネル情報と区別がつかなくなる。 [1] ヤコビ曲線はワイエルシュトラス曲線に比べて演算速度も速い。
ヤコビ曲線には 、2 つの面の交差によって与えられる ヤコビ交差と、 ヤコビ四次曲線 の 2 種類があります。
楕円曲線:基礎
楕円曲線が与えられれば、その点の間でいくつかの「演算」を行うことができます。たとえば、 2 つの点 P と Q を加算して、曲線に属する点 P + Q を取得できます。楕円曲線上の点 P が与えられれば、P を「2 倍」、つまり [2] P = P + P を求めることができます(角括弧は [n]P 、つまり点 Pを n 回加算した値を示すために使用されます )。また、 P の否定、つまり - P を求めることもできます。このように、楕円曲線上の点は 群 を形成します。群演算の単位元はアフィン平面上の点ではなく、射影座標にのみ現れることに注意してください。この場合、 O = (0: 1: 0) は「無限遠点」、つまり 群法則 における 中立元に なります。加算式と倍算式は 、 楕円曲線上の 点 Pの n乗である [n]P を計算する場合にも役立ちます。この演算は、 楕円曲線暗号 において最も重要な演算と考えられています。
体 K 上の 楕円曲線 Eは、 K に a 、 b を含む ワイエルシュトラス形式 y 2 = x 3 + ax + b で表すことができます 。後で重要になるのは、 位数 2 の点 、つまり E 上の [2] P = O かつ P ≠ Oとなる点 P です。P = ( p , 0) が E 上の点である場合、位数 2 を持ちます。より一般的には、位数 2 の点は 多項式 f(x) = x 3 + ax + b の根に対応します 。
これからは、ワイエルシュトラス形式 y 2 = x 3 + ax + b の楕円曲線を表すために E a,b を使用します。
E a,b が 3次多項式 x 3 + ax + bが K に3つの異なる根を持ち 、 b = 0 となるような場合、 E a,b を ルジャンドル正規形 で 書くことができます 。
E a,b : y 2 = x(x + 1)(x + j)
この場合、位数2の点が3つあります: (0, 0), (–1, 0), (– j , 0)。この場合、 E[j] という表記を用います。jは a 、 b で 表されることに注意してください 。
定義: ヤコビ交差
P 3 ( K ) の楕円曲線は、 2つの二 次曲面 の 交差 として表すことができます 。
Q
:
{
Q
1
(
X
0
,
X
1
,
X
2
,
X
3
)
=
0
}
∩
{
Q
2
(
X
0
,
X
1
,
X
2
,
X
3
)
=
0
}
{\displaystyle Q:\{Q_{1}(X_{0},X_{1},X_{2},X_{3})=0\}\cap \{Q_{2}(X_{0},X_{1},X_{2},X_{3})=0\}}
楕円曲線のヤコビ形式 は、2つの二次曲線の交差として 定義できます。E a ,b をワイエルシュトラス形式の楕円曲線とすると、次の 写像 が適用されます。
Φ
:
(
x
,
y
)
↦
(
X
,
Y
,
Z
,
T
)
=
(
x
,
y
,
1
,
x
2
)
{\displaystyle \Phi :(x,y)\mapsto (X,Y,Z,T)=(x,y,1,x^{2})}
次の 方程式系が 成り立つことがわかります。
S
:
{
X
2
−
T
Z
=
0
Y
2
−
a
X
Z
−
b
Z
2
−
T
X
=
0
{\displaystyle \mathbf {S} :{\begin{cases}X^{2}-TZ=0\\Y^{2}-aXZ-bZ^{2}-TX=0\end{cases}}}
曲線 E[j] は P3 ( K )
の 次の 面の交差に対応する。
S
1
:
{
X
2
+
Y
2
−
T
2
=
0
k
X
2
+
Z
2
−
T
2
=
0
{\displaystyle \mathbf {S} 1:{\begin{cases}X^{2}+Y^{2}-T^{2}=0\\kX^{2}+Z^{2}-T^{2}=0\end{cases}}}
。
「特別なケース」 E[0] では、楕円曲線は2つの点を持ち、したがって 特異 である。
S1は E[j] に次の 変換 を適用することによって得られる 。
ψ: E[j] → S1
(
x
,
y
)
↦
(
X
,
Y
,
Z
,
T
)
=
(
−
2
y
,
x
2
−
j
,
x
2
+
2
j
x
+
j
,
x
2
+
2
x
+
j
)
{\displaystyle (x,y)\mapsto (X,Y,Z,T)=(-2y,x^{2}-j,x^{2}+2jx+j,x^{2}+2x+j)}
O
=
(
0
:
1
:
0
)
↦
(
0
,
1
,
1
,
1
)
{\displaystyle O=(0:1:0)\mapsto (0,1,1,1)}
団体法
S1 の場合 、 群の 中立要素は点(0, 1, 1, 1)、つまりψによる O = (0: 1: 0)の像である。
加算と倍算
P 1 = ( X 1 、 Y 1 、 Z 1 、 T 1 )、 P 2 = ( X 2 、 Y 2 、 Z 2 、 T 2 )、 S1 上の 2 つの点 、 点 P 3 = P 1 + P 2の 座標は 次のようになります。
X
3
=
T
1
Y
2
X
1
Z
2
+
Z
1
X
2
Y
1
T
2
{\displaystyle X_{3}=T_{1}Y_{2}X_{1}Z_{2}+Z_{1}X_{2}Y_{1}T_{2}}
Y
3
=
T
1
Y
2
Y
1
T
2
−
Z
1
X
2
X
1
Z
2
{\displaystyle Y_{3}=T_{1}Y_{2}Y_{1}T_{2}-Z_{1}X_{2}X_{1}Z_{2}}
Z
3
=
T
1
Z
1
T
2
Z
2
−
k
X
1
Y
1
X
2
Y
2
{\displaystyle Z_{3}=T_{1}Z_{1}T_{2}Z_{2}-kX_{1}Y_{1}X_{2}Y_{2}}
T
3
=
(
T
1
Y
2
)
2
+
(
Z
1
X
2
)
2
{\displaystyle T_{3}=(T_{1}Y_{2})^{2}+(Z_{1}X_{2})^{2}}
これらの式は2倍算にも適用できます。つまり、 P 1 = P 2 とすれば十分です。したがって、 S1 における点の加算と2倍算は、どちらも16回の乗算と定数( k )による1回の乗算を必要とする演算です 。
点 P 1を2倍して P 3 = [2] P 1 を求めるために次の式を使用することもできます 。
X
3
=
2
Y
1
T
1
Z
1
X
1
{\displaystyle X_{3}=2Y_{1}T_{1}Z_{1}X_{1}}
Y
3
=
(
T
1
Y
1
)
2
−
(
T
1
Z
1
)
2
+
(
Z
1
Y
1
)
2
{\displaystyle Y_{3}=(T_{1}Y_{1})^{2}-(T_{1}Z_{1})^{2}+(Z_{1}Y_{1})^{2}}
Z
3
=
(
T
1
Z
1
)
2
−
(
T
1
Y
1
)
2
+
(
Z
1
Y
1
)
2
{\displaystyle Z_{3}=(T_{1}Z_{1})^{2}-(T_{1}Y_{1})^{2}+(Z_{1}Y_{1})^{2}}
T
3
=
(
T
1
Z
1
)
2
+
(
T
1
Y
1
)
2
−
(
Z
1
Y
1
)
2
{\displaystyle T_{3}=(T_{1}Z_{1})^{2}+(T_{1}Y_{1})^{2}-(Z_{1}Y_{1})^{2}}
これらの公式を用いると、点を2倍にするには8回の掛け算が必要です。しかし、7回の掛け算で2倍にする、さらに効率的な「戦略」があります。 [2] この方法を用いると、23回の掛け算で点を3倍にすることが可能です。実際、[3] P 1 は P 1 と [2] P 1 を加算することで得られますが、[2] P 1 の場合は7回の掛け算、 P 1 + [2] P 1 の場合は16回の掛け算が必要です [2]
加算と倍増の例
K = R または C とし 、次のケースを考えます。
S
1
:
{
X
2
+
Y
2
−
T
2
=
0
4
X
2
+
Z
2
−
T
2
=
0
{\displaystyle \mathbf {S} 1:{\begin{cases}X^{2}+Y^{2}-T^{2}=0\\4X^{2}+Z^{2}-T^{2}=0\end{cases}}}
点 と点を考えてみましょう。P 1 と P 2 が S1 に属する ことは簡単に確認できます(これらの点が システム S1 の両方の方程式を満たしていることがわかれば十分です )。
P
1
=
(
1
,
3
,
0
,
2
)
{\displaystyle P_{1}=(1,{\sqrt {3}},0,2)}
P
2
=
(
1
,
2
,
1
,
5
)
{\displaystyle P_{2}=(1,2,1,{\sqrt {5}})}
上記の 2 つの点を追加するための式を使用すると、 P 3 の座標( P 3 = P 1 + P 2 ) は次のようになります。
X
3
=
T
1
Y
2
X
1
Z
2
+
Z
1
X
2
Y
1
T
2
=
4
{\displaystyle X_{3}=T_{1}Y_{2}X_{1}Z_{2}+Z_{1}X_{2}Y_{1}T_{2}=4}
Y
3
=
T
1
Y
2
Y
1
T
2
−
Z
1
X
2
X
1
Z
2
=
4
15
{\displaystyle Y_{3}=T_{1}Y_{2}Y_{1}T_{2}-Z_{1}X_{2}X_{1}Z_{2}=4{\sqrt {15}}}
Z
3
=
T
1
Z
1
T
2
Z
2
−
k
X
1
Y
1
X
2
Y
2
=
−
8
3
{\displaystyle Z_{3}=T_{1}Z_{1}T_{2}Z_{2}-kX_{1}Y_{1}X_{2}Y_{2}=-8{\sqrt {3}}}
T
3
=
(
T
1
Y
2
)
2
+
(
Z
1
X
2
)
2
=
16
{\displaystyle T_{3}=(T_{1}Y_{2})^{2}+(Z_{1}X_{2})^{2}=16}
結果の点は です 。
P
3
=
(
4
,
4
15
,
−
8
3
,
16
)
{\displaystyle P_{3}=(4,4{\sqrt {15}},-8{\sqrt {3}},16)}
上記の2倍算の公式を用いると、点 P 3 = [2] P 1 を求めることができる。
X
3
=
2
Y
1
T
1
Z
1
X
1
=
0
{\displaystyle X_{3}=2Y_{1}T_{1}Z_{1}X_{1}=0}
Y
3
=
(
T
1
Y
1
)
2
−
(
T
1
Z
1
)
2
+
(
Z
1
Y
1
)
2
=
12
{\displaystyle Y_{3}=(T_{1}Y_{1})^{2}-(T_{1}Z_{1})^{2}+(Z_{1}Y_{1})^{2}=12}
Z
3
=
(
T
1
Z
1
)
2
−
(
T
1
Y
1
)
2
+
(
Z
1
Y
1
)
2
=
−
12
{\displaystyle Z_{3}=(T_{1}Z_{1})^{2}-(T_{1}Y_{1})^{2}+(Z_{1}Y_{1})^{2}=-12}
T
3
=
(
T
1
Z
1
)
2
+
(
T
1
Y
1
)
2
−
(
Z
1
Y
1
)
2
=
12
{\displaystyle T_{3}=(T_{1}Z_{1})^{2}+(T_{1}Y_{1})^{2}-(Z_{1}Y_{1})^{2}=12}
したがって、この場合は P 3 = [2] P 1 = (0, 12, –12, 12)となります。
否定
S1 の点 P 1 = ( X 1 , Y 1 , Z 1 , T 1 )を考えると 、その 否定 は − P 1 = ( − X 1 , Y 1 , Z 1 , T 1 )
となる。
アフィン座標における加算と倍加
2つのアフィン点 P 1 = ( x 1 , y 1 , z 1 )と P 2 = ( x 2 , y 2 , z 2 )が与えられ、それらの和は座標を持つ点 P 3 になります。
x
3
=
y
2
x
1
z
2
+
z
1
x
2
y
1
(
y
2
2
+
(
z
1
x
2
)
2
)
{\displaystyle x_{3}={\frac {y_{2}x_{1}z_{2}+z_{1}x_{2}y_{1}}{(y_{2}^{2}+(z_{1}x_{2})^{2})}}}
y
3
=
y
2
y
1
−
z
1
x
2
x
1
z
2
(
y
2
2
+
(
z
1
x
2
)
2
)
{\displaystyle y_{3}={\frac {y_{2}y_{1}-z_{1}x_{2}x_{1}z_{2}}{(y_{2}^{2}+(z_{1}x_{2})^{2})}}}
z
3
=
z
1
z
2
−
a
x
1
y
1
x
2
y
2
(
y
2
2
+
(
z
1
x
2
)
2
)
{\displaystyle z_{3}={\frac {z_{1}z_{2}-ax_{1}y_{1}x_{2}y_{2}}{(y_{2}^{2}+(z_{1}x_{2})^{2})}}}
これらの式は、条件 P 1 = P 2 での 2 倍にも有効です。
拡張座標
ヤコビ交差上の点を表す別の座標系があります。ヤコビ交差形式で表現された次の楕円曲線を考えます。
S
1
:
{
x
2
+
y
2
=
1
k
x
2
+
z
2
=
1
{\displaystyle \mathbf {S} 1:{\begin{cases}x^{2}+y^{2}=1\\kx^{2}+z^{2}=1\end{cases}}}
拡張座標は 、 変数 X、Y、Z、T、XY、ZT を使用して点 P = (x、y、z) を記述します。ここで、
x
=
X
/
T
{\displaystyle x=X/T}
y
=
Y
/
T
{\displaystyle y=Y/T}
z
=
Z
/
T
{\displaystyle z=Z/T}
X
Y
=
X
⋅
Y
{\displaystyle XY=X\cdot Y}
Z
T
=
Z
⋅
T
{\displaystyle ZT=Z\cdot T}
これらの座標は、特定の状況において(時間コストの観点から)より便利なため、使用されることがあります。これらの座標を用いた演算の詳細については、http://hyperelliptic.org/EFD/g1p/auto-jintersect-extended.html を参照してください。
定義: ヤコビ四次関数
ヤコビ四次 方程式
y
2
=
x
4
−
1.9
x
2
+
1
{\displaystyle y^{2}=x^{4}-1.9x^{2}+1}
ヤコビ四次 形式 の楕円曲線は、 少なくとも1つの位数2の点を持つワイエルシュトラス形式の曲線 E a,b から得ることができます。次の変換 fは、 E a,b の各点を ヤコビ座標 の点に送信します 。ここで、 (X: Y: Z) = (sX: s 2 Y: sZ) です。
f: E a,b → J
(
p
,
0
)
↦
(
0
:
−
1
:
1
)
{\displaystyle (p,0)\mapsto (0:-1:1)}
(
x
,
y
)
≠
(
p
,
0
)
↦
(
2
(
x
−
p
)
:
(
2
x
+
p
)
(
x
−
p
)
2
−
y
2
:
y
)
{\displaystyle (x,y)\neq (p,0)\mapsto (2(x-p):(2x+p)(x-p)^{2}-y^{2}:y)}
O
↦
(
0
:
1
:
1
)
{\displaystyle O\mapsto (0:1:1)}
[3]
f を E a,b に 適用すると 、 J に次の形式の
曲線が得られます。
C
:
Y
2
=
e
X
4
−
2
d
X
2
Z
2
+
Z
4
{\displaystyle C:\ Y^{2}=eX^{4}-2dX^{2}Z^{2}+Z^{4}}
[3]
どこ:
e
=
−
(
3
p
2
+
4
a
)
16
,
d
=
3
p
4
{\displaystyle e={\frac {-(3p^{2}+4a)}{16}},\ \ d={\frac {3p}{4}}}
。
K の元です 。C は ヤコビ座標の
ヤコビ四次 形式の楕円曲線を表します。
アフィン座標におけるヤコビ四次関数
アフィン座標におけるヤコビ四次曲線の一般的な形は次のとおりです。
y
2
=
e
x
4
+
2
a
x
2
+
1
{\displaystyle y^{2}=ex^{4}+2ax^{2}+1}
、
ここで、多くの場合、 e = 1 が想定されます。
団体法
C の群法則の中立要素 は射影点 (0: 1: 1) です。
アフィン座標における加算と倍加
2つのアフィン点 および が与えられると 、 それらの和は点 となり 、次のようになります。
P
1
=
(
x
1
,
y
1
)
{\displaystyle P_{1}=(x_{1},y_{1})}
P
2
=
(
x
2
,
y
2
)
{\displaystyle P_{2}=(x_{2},y_{2})}
P
3
=
(
x
3
,
y
3
)
{\displaystyle P_{3}=(x_{3},y_{3})}
x
3
=
x
1
y
2
+
y
1
x
2
1
−
e
(
x
1
x
2
)
2
{\displaystyle x_{3}={\frac {x_{1}y_{2}+y_{1}x_{2}}{1-e(x_{1}x_{2})^{2}}}}
y
3
=
(
(
1
+
e
(
x
1
x
2
)
2
)
(
y
1
y
2
+
2
a
x
1
x
2
)
+
2
e
x
1
x
2
(
x
1
2
+
x
2
2
)
)
(
1
−
e
(
x
1
x
2
)
2
)
2
{\displaystyle y_{3}={\frac {((1+e(x_{1}x_{2})^{2})(y_{1}y_{2}+2ax_{1}x_{2})+2ex_{1}x_{2}({x_{1}}^{2}+{x_{2}}^{2}))}{(1-e(x_{1}x_{2})^{2})^{2}}}}
ヤコビ交差の場合と同様に、この場合もこの式を 2 倍算に使用することもできます。
射影座標における加算と倍加
C′ 内の2 つの点 P 1 = ( X 1 : Y 1 : Z 1 ) と P 2 = ( X 2 : Y 2 : Z 2 )が与えられている場合 、点 P 3 = ( X 3 : Y 3 : Z 3 )の座標 ( P 3 = P 1 + P 2 ) は、 P 1 と P 2 に関して次の式で与えられます 。
X
3
=
X
1
Z
1
Y
2
+
Y
1
X
2
Z
2
{\displaystyle X_{3}=X_{1}Z_{1}Y_{2}+Y_{1}X_{2}Z_{2}}
Y
3
=
(
Z
1
2
Z
2
2
+
e
X
1
2
X
2
2
)
(
Y
1
Y
2
−
2
a
X
1
X
2
Z
1
Z
2
)
+
2
e
X
1
X
2
Z
1
Z
2
(
X
1
2
Z
2
2
+
Z
1
2
X
2
2
)
{\displaystyle Y_{3}=\left(Z_{1}^{2}Z_{2}^{2}+eX_{1}^{2}X_{2}^{2}\right)\left(Y_{1}Y_{2}-2aX_{1}X_{2}Z_{1}Z_{2}\right)\ +\ 2eX_{1}X_{2}Z_{1}Z_{2}\left(X_{1}^{2}Z_{2}^{2}+Z_{1}^{2}X_{2}^{2}\right)}
Z
3
=
Z
1
2
Z
2
2
−
e
X
1
2
X
2
2
{\displaystyle Z_{3}=Z_{1}^{2}Z_{2}^{2}-eX_{1}^{2}X_{2}^{2}}
この式はP 2 = P 1 という条件で2倍算にも使用できます 。このようにして点 P 3 = P 1 + P 1 = [2] P 1 が得られます。
2 つの点を加算するために必要な乗算の回数は、 13 回に定数による乗算 3 回を加えた回数です。具体的には、定数 e による乗算が 2 回、定数 a による乗算が 1 回あります。
ポイントの加算と倍増に必要な演算を減らすための「戦略」がいくつかあります。乗算の回数は11回と定数による3回の乗算に減らすことができます(詳細については [4]の セクション3を参照)。
定数e と d を調整することで、乗算の回数を減らすことができます 。ヤコビ形式の楕円曲線は、加算と倍算の演算回数を減らすように修正できます。例えば、 C の定数 dが非常に小さい場合、 d による乗算 を省略できます。しかし、最善の選択肢は e を 減らすことです。e が小さい場合、1つだけでなく2つの乗算が省略されます。
加算と倍増の例
楕円曲線 E 4,0 を考える。この曲線には位数2の 点 Pが存在する: P = ( p , 0) = (0, 0)。したがって、 a = 4、 b = p = 0 となり、 e = 1、 d = 1 となり、関連するヤコビの4次形式は以下のようになる:
C
:
Y
2
=
X
4
+
Z
4
{\displaystyle C:\ Y^{2}=X^{4}+Z^{4}}
2つの点とを選択すると 、 上記の加算公式を使用して
それらの合計 P 3 = P 1 + P 2 を求めることができます。
P
1
=
(
1
:
2
:
1
)
{\displaystyle P_{1}=(1:{\sqrt {2}}:1)}
P
2
=
(
2
:
17
:
1
)
{\displaystyle P_{2}=(2:{\sqrt {17}}:1)}
X
3
=
1
⋅
1
⋅
17
+
2
⋅
2
⋅
1
=
17
+
2
2
{\displaystyle X_{3}=1\cdot 1\cdot {\sqrt {17}}+{\sqrt {2}}\cdot 2\cdot 1={\sqrt {17}}+2{\sqrt {2}}}
Y
3
=
(
1
2
⋅
1
2
+
1
⋅
1
2
⋅
2
2
)
(
2
⋅
17
−
2
⋅
0
⋅
1
⋅
2
⋅
1
⋅
1
)
+
2
⋅
1
⋅
1
⋅
2
⋅
1
⋅
1
(
1
2
⋅
1
2
+
1
2
⋅
2
2
)
=
5
34
+
20
{\displaystyle Y_{3}=\left(1^{2}\cdot 1^{2}+1\cdot 1^{2}\cdot 2^{2}\right)\left({\sqrt {2}}\cdot {\sqrt {17}}-2\cdot 0\cdot 1\cdot 2\cdot 1\cdot 1\right)+2\cdot 1\cdot 1\cdot 2\cdot 1\cdot 1\left(1^{2}\cdot 1^{2}+1^{2}\cdot 2^{2}\right)=5{\sqrt {34}}+20}
Z
3
=
1
2
⋅
1
2
−
1
⋅
1
2
⋅
2
2
=
−
3
{\displaystyle Z_{3}=1^{2}\cdot 1^{2}-1\cdot 1^{2}\cdot 2^{2}=-3}
。
それで
P
3
=
(
17
+
2
2
:
5
34
+
20
:
−
3
)
{\displaystyle P_{3}=({\sqrt {17}}+2{\sqrt {2}}:5{\sqrt {34}}+20:-3)}
。
同じ式を用いて点 P 4 = [2] P 1 が得られる。
X
3
=
1
⋅
1
⋅
2
+
2
⋅
1
⋅
1
=
2
2
{\displaystyle X_{3}=1\cdot 1\cdot {\sqrt {2}}+{\sqrt {2}}\cdot 1\cdot 1=2{\sqrt {2}}}
Y
3
=
(
1
+
1
⋅
1
)
(
2
⋅
2
−
2
⋅
0
⋅
1
⋅
1
⋅
1
⋅
1
)
+
2
⋅
1
(
1
2
⋅
1
2
+
1
2
⋅
1
2
)
=
8
{\displaystyle Y_{3}=\left(1+1\cdot 1\right)\left({\sqrt {2}}\cdot {\sqrt {2}}-2\cdot 0\cdot 1\cdot 1\cdot 1\cdot 1\right)+2\cdot 1\left(1^{2}\cdot 1^{2}+1^{2}\cdot 1^{2}\right)=8}
Z
3
=
1
2
⋅
1
2
−
1
⋅
1
2
⋅
1
2
=
0
{\displaystyle Z_{3}=1^{2}\cdot 1^{2}-1\cdot 1^{2}\cdot 1^{2}=0}
それで
P
4
=
(
2
2
:
8
:
0
)
{\displaystyle P_{4}=(2{\sqrt {2}}:8:0)}
。
否定
点 P 1 = ( X 1 : Y 1 : Z 1 )の否定は: − P 1 = (− X 1 : Y 1 : Z 1 )
ヤコビ四次座標の代替座標
ヤコビ四次座標系における点を表すために使用できる他の座標系も存在します。これらは、特定のケースにおいて高速な計算を行うために使用されます。これらの座標系を用いた演算にかかる時間コストの詳細については、http://hyperelliptic.org/EFD/g1p/auto-jquartic.html を参照してください。
アフィンヤコビ四次関数が与えられた場合
y
2
=
x
4
+
2
a
x
2
+
1
{\displaystyle y^{2}=x^{4}+2ax^{2}+1}
倍増 指向 XXYZZ 座標は、 a 2 + c 2 = 1を満たす 追加の曲線パラメータ c を導入し、点 (x, y) を(X, XX, Y, Z, ZZ, R) として表します 。
x
=
X
/
Z
{\displaystyle x=X/Z}
y
=
Y
/
Z
Z
{\displaystyle y=Y/ZZ}
X
X
=
X
2
{\displaystyle XX=X^{2}}
Z
Z
=
Z
2
{\displaystyle ZZ=Z^{2}}
R
=
2
⋅
X
⋅
Z
{\displaystyle R=2\cdot X\cdot Z}
同じ追加の仮定( a 2 + c 2 = 1)を伴う 倍加指向の XYZ 座標 は、 (X、Y、Z) が 次の式を満たす
点 (x、y)を表します。
x
=
X
/
Z
{\displaystyle x=X/Z}
y
=
Y
/
Z
2
{\displaystyle y=Y/Z^{2}}
XXYZZ 座標 を使用する場合 、追加の仮定はなく、点 (x, y)は (X, XX, Y, Z, ZZ) として 次のように表されます。
x
=
X
/
Z
{\displaystyle x=X/Z}
y
=
Y
/
Z
Z
{\displaystyle y=Y/ZZ}
X
X
=
X
2
{\displaystyle XX=X^{2}}
Z
Z
=
Z
2
{\displaystyle ZZ=Z^{2}}
XXYZZR 座標は (x, y)を (X, XX, Y, Z, ZZ, R) として 表し、 次のようになります。
x
=
X
/
Z
{\displaystyle x=X/Z}
y
=
Y
/
Z
Z
{\displaystyle y=Y/ZZ}
X
X
=
X
2
{\displaystyle XX=X^{2}}
Z
Z
=
Z
2
{\displaystyle ZZ=Z^{2}}
R
=
2
⋅
X
⋅
Z
{\displaystyle R=2\cdot X\cdot Z}
XYZ座標 では、 点 (x, y)は (X, Y, Z) で与えられ 、次のようになります。
x
=
X
/
Z
{\displaystyle x=X/Z}
y
=
Y
/
Z
2
{\displaystyle y=Y/Z^{2}}
。
参照
特定のケースで必要な実行時間の詳細については、 「楕円曲線での演算コストの表」 を参照してください。
注記
^ オリヴィエ・ビレット「 楕円曲線のヤコビモデルとサイドチャネル解析」
^ ab PYLiardet と NPSmart、 「ヤコビ式を用いた ECC システムにおける SPA/DPA の防止」 、397 ページ
^ ab Olivier Billet と Marc Joye、 「楕円曲線のヤコビモデルとサイドチャネル解析」 、37-38ページ
^ シルヴァン・デュケイン、 「ヤコビモデルにおける楕円曲線の算術演算の改良 -I3M」(UMR CNRS 5149)および「Lirmm」(UMR CNRS 5506)、モンペリエ第2大学
参考文献
オリヴィエ・ビレット、マーク・ジョイエ (2003). 「楕円曲線のヤコビモデルとサイドチャネル解析」. 楕円曲線のヤコビモデルとサイドチャネル解析 . コンピュータサイエンス講義ノート. 第2643巻. シュプリンガー・フェアラーク・ベルリン・ハイデルベルク 2003. pp. 34– 42. doi :10.1007/3-540-44828-4_5. ISBN 978-3-540-40111-7 。
PY Liardet, NP Smart (2001). 「ヤコビ形式を用いたECCシステムにおけるSPA/DPAの防止」. 暗号ハードウェアと組み込みシステム — CHES 2001. コンピュータサイエンス講義ノート. 第2162巻. Springer-Verlag Berlin Heidelberg 2001. pp. 391– 401. doi :10.1007/3-540-44709-1_32. ISBN 978-3-540-42521-2 . S2CID 32648481。
http://hyperelliptic.org/EFD/index.html
外部リンク
http://hyperelliptic.org/EFD/g1p/index.html