楕円曲線
体F上で定義された以下の式で表される曲線を楕円曲線という。
y*y*y+a1*x*y+a2*y=x*x*x+a3*x*x+a4*x+a5
特に有限体Fqにおいて位数qが2または3のべき乗でない場合については、上記の式は次のより単純な式で表現できることが知られている。
y*y =x*x*x + a*x + b
簡単のために素体Zp(p≠2,3)上の楕円曲線
⇔2*2*a*a*a + 3*3*3*b*b ≠0(mod p)合同の否定の記号がなかったorz
E:y*y = x*x*x + a*x +b, a,b∈Zp
Zp上のすべての2次元ベクトルの集合
Zp*Zp = {(x,y):x,y∈Zp}
のなかで
y*y = x*x*x + a*x + b(mod p)
を満たすベクトルの集合に無限遠点を加えた集合を楕円曲線Eの点集合という。
ハッセの定理
楕円曲線の K 上の点の個数を N とすると、
となることが知られている。
楕円曲線E上の2点P,Qに関して
1.PQがy軸に平行でないとき
直線PQと楕円曲線とのもうひとつの好転R=(x,y)とX軸に対して対称な点R’=(x,y)を用いてP+Q=R’とする。
2.直線PQがy軸に平行なとき(x1=x2)
無限遠点Oを用いてP+Q=Oとする。
3.PとQが同一点の時
Pを通る接戦と楕円曲線のもうひとつの好転Rとx軸に関して対象な点R’を用いてP+P=R'とする。
4.どちらかが無限遠点である時
P+O=Pまたは、O+Q=Qとする。このように定義された加算演算を用いるとE(Zp)は可換群となる。
特にこの時の加法を楕円加算という。
この辺の説明は楕円曲線を用いた暗号が詳しい。
楕円曲線上の鍵交換
楕円曲線上の離散対数問題
楕円曲線上のDH鍵交換
公開情報:素数p、楕円曲線E:y*y=x*x*x+a*x+b,点P∈E(Zp)
Ka:Aが定めた乱数、Aが秘密情報として保持(秘密鍵)
Kb:Bが定めた乱数、Bが秘密情報として保持(秘密鍵)
KaP=Qa:Aが送信する情報(公開鍵)
KbP=Qb:Bが送信する情報(公開鍵)
0 件のコメント:
コメントを投稿