资源描述:
《椭圆曲线密码体制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、椭圆曲线密码体制翁健jianweng@sjtu.edu.cn1.实数域上的椭圆曲线先看实数域上的椭圆曲线的各种例子(见小程序)1・1实数域上椭圆曲线的定义射影坐标下椭圆曲线的定义:设K为一个域,斤表示K的代数闭域,K上的weierstrass方程:r2z+xrz+=x3+6i2x2z+xz2+ahz3(1.1)决定射影平面尸(斤)上的一条曲线E。当曲线E非奇异时,称曲线为K上的曲线,记为E/K。由方程F(X,Y,Z)=O决定的曲线E非奇异o曲线E上不存在使得d%Yfd%Z同时为。的点(即满足方程的任意一点都存在切线)°注:▲Y2Z+a.XYZ+a3YZ2=X3+a2X2Z-^-a4XZ2
2、a.Z3是Weierstmss方程(维尔斯特拉斯,KarlTheodorWilhelmWeierstrass,1815-1897),是一个齐次方程。▲椭圆曲线的形状,并不是椭圆的。只是因为椭圆曲线的描述方程,类似于计算一个椭圆周长的方程。▲椭圆曲线E上有一个点(0,1,0)具有坐标Z=0,称该点为无穷远点0。值得注意的是O不是奇异点,vdr^z(O)=1o椭圆曲线的例子:不是椭曲线的例子:why?:因为他们在(0:0:1)点处(即原点)没冇切线。当ZH0时,令x=XZy=YIZ,贝ij(1.1)可变成如下形式:y2+a{xy+a3y=%3+a2x2+a4x-^-a6(1.2)此时,曲线E
3、就由满足方程(1・2)的所有点(兀,刃连同无穷远点O组成。将(1・2)变为/(x,y)=0的形式,则曲线E非奇异o曲线E上不存在使得%,%,同时为0的点。从而得到曲线在仿射坐标下的定义:由方程(1・2)定义的非奇异曲线上的点连同无穷远点O组成椭圆曲线值得注意的是,以前提供的图像可能会给大家产生一种错觉,即椭圆曲线是关于x轴对称的。事实上,椭圆曲线并不一定关于x轴对称。如下图:1・2实数域上椭圆曲线的运算任取椭圆曲线E上的两个交点P,Q,连接的直线(当P=Q时,取通过P的切线)与E交于第三点R,我们定义连接R与无穷点O的直线与E的第三个交点记为P㊉R现在来推导通用情形的椭圆曲线f{x.y)
4、=y2+a}xy^-a3y-x3-a2x2-a4x-a6=0(1.3)的运算公式:i)设P=Oo,yo)wE,先来推导-P的表达式通过P与O的直线L.x=x^厶与E的第三个交点即为-P(x0,y,)o将x=xQ代入(1.3)得/(xo,y)=O,即y2+(q兀0+°3)y一(Xo+a2X0+a4X0+)=0=>Vo+>1=一(%o+偽)=>必=一%-叭一。3即-P—(兀0,-『0-马兀0-a3)a.当兀]=兀2,)1+歹2+。3=0吋,斥㊉P2=Ob.当片㊉马HO时,过人,鬥的直线为:-1af-al一afar.勺一-+--y••£兄-2j__准,旺H兀2(⑺—,西=兀>(即片=出,•・•
5、片+AHO)(⑺记L与E的第三个交点为占=(忑,力),则片㊉£=-出,将直线L的方程代入式(1.3),得:f(x,Ax+v)=(x-Xj)(x一x2)(x-x3)=>X—(A-+6ZjA—Cl-,)X~—(2,Av+6Zjv4-。3兄—q)x—(v-+ci^v—务)=0由此可得:西+兀)+禺=才+偽几—5=*兀3='1+。3久—么)—X)—禺,再将兀3代入L的直线方程可以进一步求出兀3和%,最后根据求出i)可以求出P^®P-y——P—(A>~+d
6、Q—Xj_尤>,2(兀]_旺)_)1—兀3—。3)例:(见小程序)运算㊉具有如下性质:(1)若直线L与E相交于P,Q,R三点,则P㊉0㊉R=O
7、(2)对任一PwE,有P㊉O二P(3)对任意P,QeE有P㊉Q=Q㊉P(4)对任一PeE,存在E上的一点,记为-P,使P㊉(-P)=O(5)设P,Q,RwE,则(P㊉Q)㊉R=P㊉(Q㊉R)注:第(5)非常重要,它是一个集合成为群的一个重要条件。(群的条件:二元运算,结合律,单位元,逆元)证明性质(5)要用到如下的一个几何性质:设三条直线/„Z2,/3和一条曲线交于九个点片,…代(允许重复);若有其它三条直线与曲线交于九个点Q,…Q,若^=2,J=1,...8,则必有Pq=ao(由两点确定一条直线知显然成立)证明性质(5):选择椭圆曲线E上的三个不同点P,Q,R(此处只考虑这三个点不同的
8、情形),取如下六条直线:£=P,Q,_(P+Q)L=O,R,—R1?二-P,_(f2+R),P+(Q+R)AQ,R,-(Q+R)l;=O,P,—PA*(P+Q),(P+Q)+/?这样就可以得到三条直线Z„/2,Z3交E于九个点:P,-P,2,R,-R,-(P+0,-(Q+/?),O,P+(Q+/?)及三条直线/,;/;,/;交E于九个点:P,-P,2,R、—R,—(P十0,—(Q+/?),O,(P+0+/?比较这两组交点,不难发现前