2011年5月4日水曜日

鍵交換-2

楕円曲線

 

体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

 

ECexamples01

簡単のために素体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 とすると、

6c3c5fb47d0dcb51ade2adb47114075c

となることが知られている。

 

楕円曲線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 件のコメント:

コメントを投稿