第九章 椭圆曲线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因为:(kx+b)2+a1x(kx+b)+a3(kx+b) =x3+a2x2+a4x+a6
当三次项系数为1时;-x1x2x3 等于常数项系数, x1x2+x2x3 +x3x1等于一次项系数,-(x1+x2+x3)等于二次项系数。
所以x3=k2+ka1+a2+x1+x2;y3=y1-k(x1-x3);
封闭
单位元:P+e=P 逆元:P+(-P)=e 交换律:P+Q=Q+P 结合律:P+Q+T=P+(Q+T) e=O∞,即零元
如果椭圆曲线上的三个点A、B、C,处于同 一条直线上,那么他们的和等于零元,即 A+B+C= O∞
9.3 椭圆曲线的加法原理
定理9-1
y a1xy a3 y x a2 x a4 x a6
P=sP l=sl
9.1 射影几何——齐次坐标
齐次坐标表示无穷远点
平行直线方程:aX+bY+c1Z =0; aX+bY+c2Z=0
有c2Z= c1Z= -(aX+bY),∵c1≠c2 ∴Z=0 所以无穷远点: (X:Y:0)
9.2 椭圆曲线定义
射影平面坐标系下建立
一条椭圆曲线是在射影平面上满足方程
1、p 当然越大越安全,但越大,计算速度会变慢,200位左 右可以满足一般安全要求; 2、p≠n×h; 3、pt≠1 (mod n),1≤t<20; 4、4a3+27b2≠0 (mod p); 5、n 为素数; 6、h≤4。
9.5 超椭圆曲线密码
y2 + h(x)y = f(x)
如:y2 = x5 -5x3+ 4x = x(x+1)(x-1)(x+2)(x-2) 不再构成群
右边不是椭圆曲线
9.2 椭圆曲线定义
注意:
椭圆曲线并不一定关于x轴对称
9.2 椭圆曲线定义
注意
椭圆曲线上有无穷远点O∞
可以把椭圆曲线放到普通平面直角坐标系
y2 a1xy a3 y x3 a2 x2 a4 x a6 这条光滑曲线加上一个无穷远点O∞,组成了椭 圆曲线
十七世纪真正成为几何学的重要分支
非欧几何:欧几里得第五公设
开普勒引入无穷远点
把直线的平行与相交统一
经过同一无穷远点的所有直线平行
一条直线的无穷远点只有一个,相交直线的无穷远点不同
平面上全体无穷远点构成一条无穷远直线。 平面上全体无穷远点与全体平常点构成射影平面。
9.1 射影几何——无穷远点
十七世纪真正成为几何学的重要分支
中心射影和平行射影两者就可以统一了
凡是利用中心投影或者平行投影把一个图形映 成另一个图形的映射,就叫做射影变换。
概括的说,射影几何学是几何学的一个重 要分支学科,它是专门研究图形的位置关 系的,也是专门用来讨论在把点投影到直 线或者平面上的时候,图形的不变性质的 科学。
第九章 椭圆曲线 (ECC)
巫玲
Wuling751@126.com
9.0 简介
1985年N.Koblitz及V.S.Miller分別提 出
用于加密、数字签名、密钥交换、大数分 解、之树判断等 相同安全强度下,密钥比其他公钥系统( 如RSA)小,且快
9.1 射影几何——无穷远点
射影几何与透视学
2 3 2
P(x1,y1),Q(x2,y2),R=P+Q的坐标?
(1)先求点-R(x3,y3) 因为P,Q,-R三点共线,故设共线方程为y=kx+b,其中 若P≠Q(P,Q两点不重合) 则直线斜率k=(y1-y2)/(x1-x2) 若P=Q(P,Q两点重合) 则直线为椭圆曲线的切线 , k=(3x2+2a2x+a4a1y) /(2y+a1x+a3)
9.4 密码学中的椭圆曲线
把椭圆曲线定义在有限域上:离散
并不是所有的椭圆曲线都适合加密
-P P+Q
P
Q
9.4 密码学中的椭圆曲线
Fp上的椭圆曲线的加法
1.无穷远点O∞是零元,有O∞+ O∞=O∞, O∞+P=P
2.P(x,y)的负元是 (x,-y),有P+(-P)= O∞
3.P(x1,y1),Q(x2,y2)的和R(x3,y3) 有如下关系 x3≡k2-x1-x2(mod p) y3≡k(x1-x3)-y1(mod p) 其中若P=Q 则 k=(3x2+a)/2y1 若P≠Q,则 k=(y2-y1)/(x2-x1)
9.4 密码学中的椭圆曲线
椭圆曲线上简单的加密/解密
K=kG [其中 K,G为Ep(a,b)上的点,k为小于n (n是点G的阶)的整数]
给定k和G,根据加法法则,计算K很容易;但给 定K和G,求k就相对困难了。 这就是椭圆曲线加密算法采用的难题。 把点G称为基点(base point) k(k<n,n为基点G的阶)为私钥;K称为公钥。
9.4 密码学中的椭圆曲线
下面是一个利用椭圆曲线进行加密通信的过程:
1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作 为基点G。 2、用户A选择一个私有密钥k,并生成公开密钥K=kG。 3、用户A将Ep(a,b)和点K,G传给用户B。 4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点M ,并产生一个随机整数r(r<n)。 5、用户B计算点C1=M+rK;C2=rG。 6、用户B将C1、C2传给用户A。 7、用户A接到信息后,计算C1-kC2,结果就是点M。因为C1kC2=M+rK-k(rG)=M+rK-r(kG)=M 8、再对点M进行解码就可以得到明文。
Y 2 Z a1XYZ a3YZ 2 X 3 a2 X 2 Z a4 XZ 2 a6Z 3
的所有点的集合,且曲线上的每个点都是非 奇异(或光滑)的。
9.2 椭圆曲线定义
注意:
椭圆曲线的形状,并不是椭圆的
9.2 椭圆曲线定义
注意:
所谓“非奇异”或“光滑”的,在数学中是指 曲线上任意一点的偏导数Fx(x,y,z), Fy(x,y,z),Fz(x,y,z)不能同时为0 可以这样理解这个词,即满足方程的任意一点 都存在切线。
威尔斯特拉斯(weierstrass)方程
9.3 椭圆曲线的加法原理
运算法则:任意取椭圆曲线E上两点P、Q (若P、Q两点重合,则做P点的切线)做直 线交于椭圆曲线的另一点R’,过R’做y轴的 平行线交于R。我们规定P+Q=R
9.3 椭圆曲线的加法原理
(E,+)构成交换群
9.1 射影几何——齐次坐标
射影平面坐标系
笛卡儿平面直角坐标系的扩展
引入参数,区分无穷远点和平常点
问题:如何表示无穷远点?
9.1 射影几何——齐次坐标
欧氏坐标
表示一个点P=(x,y)T
表示一条直线l :ax+by+c=0 l=(a,b,c)T
引入t axz+byz+cz=0 齐次坐标:P=(xz,yz,z) T ; l=(a,b,c)T 注意:
9.4 密码学中的椭圆曲线
密码学中,描述一条Fp上的椭圆曲线,常 用到六个参量: T=(p,a,b,G,n,h)。 p 、a 、b 用来确定一条椭圆曲线,
G为基点,n为点G的阶,h 是椭圆曲线上所 有点的个数m与n相除的整数部分
9.4 密码学中的椭圆曲线
参量取值的选择,直接影响了加密的安全 性。参量值一般要求满足以下几个条件:
9.3 椭圆曲线的加法原理
定理9-1
y a1xy a3 y x a2 x a4 x a6
2 3 2
P(x1,y1),Q(x2,y2),R=P+Q的坐标?
显然有 x4=x3= k2+ka1+a2+x1ຫໍສະໝຸດ Baidux2 y3 y4 为 x=x4 的解
(2)利用-R求R
故y4=-y3-(a1x+a3)=k(x1-x4)-y1-(a1x4+a3);