第10章 椭圆曲线密码学
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注解2.欧氏直线L在平面直角坐标系Oxy上的方程为: ax+by+c=0 则L上任一平常点(x,y)的齐次坐标为(X,Y,Z),Z≠0, 代入得: aX+bY+cZ=0 L上的无穷远点的坐标(X,Y,Z)应满足aX+bY=0,Z=0; Z=0 平面上无穷远直线的方程自然为:Z=0 !! (3)任意域上的椭圆曲线 K为域,K上的射影平面P2(K)是一些等价类的集合 {(X:Y:Z)}。考虑下面的Weierstrass方程(次数为3的齐 次方程): Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3 (其中系数ai∈K)
其中a1,b1不同时为0;a2,b2也不同时为0。 设 D= a1 b1 Dx= b1 c1 Dy= c1 a1 a2 b2 b2 c2 c2 a2 若D≠0,则两直线L1,L2相交于一平常点P(x,y),其坐标 为x=Dx/D,y=Dy/D. 也可以将这组解表示为:x/Dx=y/Dy=1/D (约定:分母Dx,Dy有为0时,对应的分子也要为0) 上述表示可抽象为(Dx,Dy,D). 若 D=0,则L1∥L2,此时L1和L2交于一个无穷远点P∞ . 这个点P∞可用过原点O且平行于L2的一条直线L来指出他 的方向,而这条直线L的方程就是:a2x+b2y=0.
源自文库
可以设想L1上有一点P∞,它为L2和L1的交点,被称之为无 穷远点。 穷远点 ●注意:直线L1上的无穷远点只能有一个 (因为过A点只能有一条平行于L1的直线L2,而两直线的交点只 能有一个。) 结论: 1*. 平面上一组相互平行的直线,有公共的无穷远点。 (为与无穷远点相区别,把原来平面上的点叫做平常点) 平常点 2* .平面上相交于点A的两直线L1,L2有不同的无穷远点。 原因:若否,则L1和L2有公共的无穷远点P∞,则过两相异点A 和P ∞有相异两直线,与几何公理相矛盾。
可用非齐次坐标的形式来表示椭圆曲线的 Weierstrass方程: 设 x=X/Z,y=Y/Z,于是原方程转化为: y2+a1xy+a3y=x3+a2x2+a4x+a6 (※) 椭圆曲线E就是方程(※)在射影平面P2(K)上的全部 平常点解,外加一个y轴上的无穷远点θ组成的集合。 c) 若方程(1) 的系数a1,a3,a2,a4,a6∈K,此时椭圆曲线E 被称为定义在K上,用E/K表示。如果E能被限定在K 上,那么E的K-有理点集合表示为E(K),它为E中的 全体有理坐标点的集合外加无穷远点θ。 (4)实域R上的椭圆曲线 设K=R,此时的椭圆曲线可表为平面上的通常曲线上 的点,外加无穷远点θ。 b)
1 有关的基本概念
(1) 无穷远元素(无穷远点,无穷远直线) 平面上任意两相异直线的位置关系有相交和平行两 种。引入无穷远点,是两种不同关系统一。 L2 A L1 B P P∞ AB⊥L1, L2∥L1,直线AP由AB起绕A点依逆时针方向转 动,P为AP与L1的交点。
∠BAP→π /2
AP → L2
、
由P⊕Q的定义,设y=αx+β为通过P,Q两点直线L的方程,可算出: 当P≠Q时:α=( y2-y1 )/(x2-x1), β=y1-αx1 易见,直线L上的一个点(x, αx+β)是在椭圆曲线E上, 当且仅当(αx+β)2= x3 +ax +b ; P+Q=(x1,y1) +(x2,y2)=(x3,y3) =(x3 ,-(αx3+β)) 其中,x3= α2-x1-x2=((y2-y1) / (x2-x1) )2-x1-x2; y3=-y1+((y2-y1)/(x2-x1))(x1-x3) 当P=Q时: P+Q=(x3,y3)算得: x3=((3x12+a)/2y1)2-2x1; y3= -y1+((3x12+a)/2y1)(x1-x3) 。
例1:求点(1,2)在新的坐标体系下的坐标。 解:∵X/Z=1 ,Y/Z=2(Z≠0)∴X=Z,Y=2Z ∴坐标 为(Z:2Z:Z),Z≠0。即(1:2:1)(2:4:2)等形如 (t:2t:t),其中t≠0的坐标,都是(1,2)在新的坐 标体系下的坐标,用代表元(1:2:1) 表示即可 . 例2:求平行线L1:X+2Y+3Z=0 与L2:X+2Y+Z=0 相交的无穷远点。 解:因为L1∥L2 ,所以有Z=0, X+2Y=0;所以坐标为 (-2Y:Y:0),Y≠0。即(-2:1:0)为这个无穷远点的 坐标 .
第10章 椭圆曲线密码学
椭圆曲线密码学是由美国学者Neil Koblitz 与Victor Miller在1985年各自独立创建起来的。 RSA与ElGamal 加密体制中,如果使用长度为 1024比特的模数才可以达到基本的安全等级, 那么对于椭圆曲线(ECC)加密体制来说,按目 前公开的密码攻击方法,只要使用长度为160 比特的模数,就可以达到这个安全等级。 参见:www.certicom.com
E: y2 = x3 +12x +1 例子2:F23 ,点P=(0,1)是椭圆曲线
点的生成元.
P = (0, 1), 2P = (13,13), 3P = (5, 5), 4P = (3, 15) , 5P = (6, 17), 6P = (19, 2), 7P = (17, 9), 8P = (18, 0), 9P = (17, 14), 10P = (19, 21), 11P = (6, 6) , 12P = (3, 8), 13P = (5,18),14P = (13,10), 15P = (0, 22) ,16P= θ
L Q P R P=Q R L T P+Q L′ (P+Q) +R=θ θ T+T= θ (P=Q=R) θ P+Q
L′
上面的图像为椭圆曲线y2=x3 - x的具体图象。然而,用此图象来说明 计算点的加法运算规则,并不失一般性。下面针对一般的方程(※)给出的 椭圆曲线上的点 P=(x1,y1) Q=(x2,y2),来计算 P⊕Q=(x3,y3)=?
Weierstrass方程被称为光滑或非奇异的是指对所有适合 以下方程的射影点P=(X:Y:Z) ∈ P2(K)来说, F(X,Y,Z)=Y2Z+a1XYZ+a3YZ2-X3-a2X2Z-a4XZ2-a6Z3=0 ∂F ,∂F ,∂F 在P点的三个偏导数 之中至少有一个不 ∂X ∂Y ∂Z 为 0。若否,则称这个方程为奇异的。 ●椭圆曲线E的定义: 椭圆曲线E是一个光滑的Weierstrass方程在P2(K)中的 全部解集合。 Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3 注: a) 在椭圆曲线E上恰有一个无穷远点,即(0:1:0) ,用θ表示.
图左表示两相异点相加;右图表两个相同点相加
注: a) 如果直线L与E相交与三点P,Q,R(不一定相异),那么 (P+Q)+R=θ(从图中可见)。 b) 任给P∈E, P +θ =P (此时设Q= θ ,易见L=L′); c) 任给P,Q∈E有: P + Q =Q +P; d) 设P∈E,那么可以找到 - P∈E使P +( -P)= θ; e) 任给P,Q,R∈E,有(P + Q) +R= P +(Q +R) 综上所述,知E对+运算形成一个Abel群。 f) 上述规则可开拓到任意域上,特别是有限域上。假定 椭圆曲线是定义在有限域Fq上(q=pm),那么 E(Fq)={(x,y)∈Fq×Fq | y2+a1xy+a3y=x3+a2x2+a4x+a6} ∪{θ} 不难验证它对“+”运算也形成一个Abel群。
点 P=(x, y)对X轴的反射点 −P=(x, −y) 被称为点P =(x, y) 的负点(逆元) ,(x ,y) + (x,-y) = θ. 两相异点加运算:P、Q为椭圆曲线上相异两点,有
P + Q = R,点R是经过P、Q两点的直线与曲线相交之点
的唯一负点。 倍点运算:点P 的倍点2P是经过点P的切线与椭圆曲线相 交之点的负点(逆元)。若点P重复加最小的次数n,就 得nP= θ,则称点P的阶(周期)为n。
实域R上的椭圆曲线方程
E : y 2 = x 3 + ax + b
其系数满足关系式
4 a 3 + 27 b 2 ≠ 0
满足该方程的所有点 (x, y) , 外加无穷远点θ一起构成的 集合,被视为由该方程决定的 椭圆曲线 。 可以按几何关系定义椭圆 曲线上点的加法运算。
实域R上椭圆曲线点的加法运算法则
注:若#E(Fp)=p+1,曲线E(Fp)称为超奇异的,否则称为 非超奇异的。 例子1:F23上的一个椭圆曲线 令y2=x3+x+1是F23上的一个方程(a=b=1),则该椭圆 曲 线方程在F23上的解为(y2=x3+x+1的点): (0,1),(0,22),(1,7),(1,16),(3,10),(3,13), (4,0),(5,4),(5,19),(6,4),(6,19),(7,11),(7,12), (9,7),(9,16),(11,3),(11,20),(12,4),(12,19), (13,7),(13,16),(17,3),(17,20),(18,3),(18,20), (19,5),(19,18);θ。 群E(F23)有28个点(包括无穷远点θ )。
集合E(Fp)有如下加法规则:任给(x,y) ∈E(Fp), (i) θ +θ=θ (单位元素) (ii) (x,y) +θ=(x,y), (iii) (iii) (x,y) +(x,-y)=θ, (iv) 令(x1,y1),(x2,y2)为E(Fp)中非互逆元并且互不相等, 则 (x1,y1) +(x2,y2)=(x3,y3),其中 x3=α2-x1-x2 ,y3= α(x1-x3)-y1 ,斜率α=(y2-y1)/(x2-x1) (v)(倍点运算规则) 设(x1,y1) ∈E(Fp),y1≠0,则2(x1,y1)=(x3,y3), 其中x3= α2-2x1, y3=α(x1-x3)-y1 ;α=(3x12+a)/(2y1)
为把平常点和无穷远点的坐标统一起来,把点的坐标 用(X,Y,Z)表示,X,Y,Z不能同时为0,且对平常点 (x,y)来说,有Z≠0,x=X/Z,y=Y/Z,于是有:
X D Z
x
=
Y D
Z
y
=
1 D
相当于说 X / Dx = Y / Dy = Z / D, . 有更好的坐标抽象(X,Y,Z) ;Z=0时它表示无穷远点。 注解1:实数c≠0,则(cX,cY,cZ)为一等价类,代表元为 (X,Y,Z)。实质上用(X:Y:Z)表示的3个分量中,只 有两个是独立的,具有这种特征的坐标就叫齐次坐标。 齐次坐标
2 有限域上椭圆曲线的+运算
令Fq表示q个元素的有限域,用E(Fq)表示定义在Fq上 的一个椭圆曲线E。 定理1.(Hass定理) E(Fq)的点数用#E(Fq)表示,则 | #E(Fq)-q-1|≤2q1/2 (1) Fp(素域,p为素数)上椭圆曲线 令p>3,a,b∈Fp,满足4a3+27b2≠0,由参数a和b定 义的Fp上的一个椭圆曲线方程为: y2=x3+ax+b 它的所有解(x,y),(x∈Fp,y∈Fp),连同“无穷远点” θ 组 成的集合记为E(Fp),由Hass定理知: p+1-2p1/2≤#E(Fp) ≤ p+1+2p1/2
具体描素为: 设L ∈ P2(R)为一条直线。因为E的方程是三次 的,所以L可与E在P2(R)恰有三个交点,记为P,Q,R (注意:如果L与E相切,那么P,Q,R可以不是相异 的)。按下述方式定义E上运算⊕: 设P,Q ∈ E,L为联接P,Q的直线(若P=Q,则L 取过P点的切线);设R为L与E的另一个交点;再取连 接R与无穷远点θ(= (0:1:0) )的直线L′。则L′与E的另 一个交点定义为P + Q。
3*. 全体无穷远点构成一条无穷远直线。 注:欧式平面添加上无穷远点和无穷远直线,自然构成射 影平面。 影平面 L1 L2 A P∞
(2) 齐次坐标 解析几何中引入坐标系,用代数的方法研究欧氏空 间。这样的坐标法也可推广至射影平面上,建立平面射影 坐标系 ,(齐次坐标系). 平面上两相异直线L1,L2,其方程分别为: L1: a1x+b1y+c1=0 L2: a2x+b2y+c2=0