椭圆曲线.docx
《椭圆曲线.docx》由会员分享,可在线阅读,更多相关《椭圆曲线.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、引言 同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。前段时间刚刚进行了“基于国家密码标准算法密码卡”项目,其中算法部分就涉及了ECC,由于是采用芯片实现ECC算法,所以对ECC是如何具体实现信息加密的原理知之甚少。目前,国内详细介绍ECC的公开文献并不多(反正我没有找到)。有一些简介,也是泛泛而谈,看完后依然理解不了ECC的实质(可能我理解力太差了)。前些天从互联网上找到这篇材料,看完后对ECC了解一些,但还是比较懵懂。于是把本文整理了一
2、下,与大家分享。当然ECC博大精深,我的认识还很肤浅,有些问题今后还要向。本文涉及的部分理论知识请参考近世代数基础、初等数论之类的书。另外,由于原文中涉及的公式没有区分上标和下标,我对本文的一部分公式进行了整理,由于时间关系,对后半部分没有整理(因为公式比较多,我也懒得弄了)。由此给大家带来的阅读上的不便表示歉意。一、从平行线谈起平行线,永不相交。没有人怀疑把?不过到了近代这个结论遭到了质疑。平行线会不会在很远很远的地方相交了?事实上没有人见到过。所以“平行线,永不相交”只是假设(大家想想初中学习的平行公理,是没有证明的)。既然可以假设平行线永不相交,也可以假设平行线在很远很远的地方相交了。即
3、平行线相交于无穷远点P(请大家闭上眼睛,想象一下那个无穷远点P,P是不是很虚幻,其实与其说数学锻炼人的抽象能力,还不如说是锻炼人的想象力)。给个图帮助理解一下:直线上出现P点,所带来的好处是所有的直线都相交了,且只有一个交点。这就把直线的平行与相交统一了。为与无穷远点相区别把原来平面上的点叫做平常点。以下是无穷远点的几个性质。直线L上的无穷远点只能有一个。(从定义可直接得出)平面上一组相互平行的直线有公共的无穷远点。(从定义可直接得出) 平面上任何相交的两直线L1,L2有不同的无穷远点。(否则L1和L2有公共的无穷远点P ,则L1和L2有两个交点A、P,故假设错误。)平面上全体无穷远点构成一条
4、无穷远直线。(自己想象一下这条直线吧)平面上全体无穷远点与全体平常点构成射影平面。二、射影平面坐标系射影平面坐标系是对普通平面直角坐标系(就是我们初中学到的那个笛卡儿平面直角坐标系)的扩展。我们知道普通平面直角坐标系没有为无穷远点设计坐标,不能表示无穷远点。为了表示无穷远点,产生了射影平面坐标系,当然射影平面坐标系同样能很好的表示旧有的平常点(数学也是“向下兼容”的)。我们对普通平面直角坐标系上的点A的坐标(x,y)做如下改造:令x=X/Z ,y=Y/Z(Z0);则A点可以表示为(X:Y:Z)。变成了有三个参量的坐标点,这就对平面上的点建立了一个新的坐标体系。例2.1:求点(1,2)在新的坐标
5、体系下的坐标。解:X/Z=1 ,Y/Z=2(Z0)X=Z,Y=2Z 坐标为(Z:2Z:Z),Z0。即(1:2:1)(2:4:2)(1.2:2.4:1.2)等形如(Z:2Z:Z),Z0的坐标,都是(1,2)在新的坐标体系下的坐标。我们也可以得到直线的方程aX+bY+cZ=0(想想为什么?提示:普通平面直角坐标系下直线一般方程是ax+by+c=0)。新的坐标体系能够表示无穷远点么?那要让我们先想想无穷远点在哪里。根据上一节的知识,我们知道无穷远点是两条平行直线的交点。那么,如何求两条直线的交点坐标?这是初中的知识,就是将两条直线对应的方程联立求解。平行直线的方程是:aX+bY+c1Z =0; aX
6、+bY+c2Z =0 (c1c2);(为什么?提示:可以从斜率考虑,因为平行线斜率相同);将二方程联立,求解。有c2Z= c1Z= -(aX+bY),c1c2 Z=0 aX+bY=0;所以无穷远点就是这种形式(X:Y:0)表示。注意,平常点Z0,无穷远点Z=0,因此无穷远直线对应的方程是Z=0。例2.2:求平行线L1:X+2Y+3Z=0 与L2:X+2Y+Z=0 相交的无穷远点。解:因为L1L2 所以有Z=0, X+2Y=0;所以坐标为(-2Y:Y:0),Y0。即(-2:1:0)(-4:2:0)(-2.4:1.2:0)等形如(-2Y:Y:0),Y0的坐标,都表示这个无穷远点。看来这个新的坐标体
7、系能够表示射影平面上所有的点,我们就把这个能够表示射影平面上所有点的坐标体系叫做射影平面坐标系。练习:1、求点A(2,4) 在射影平面坐标系下的坐标。2、求射影平面坐标系下点(4.5:3:0.5),在普通平面直角坐标系下的坐标。3、求直线X+Y+Z=0上无穷远点的坐标。4、判断:直线aX+bY+cZ=0上的无穷远点 和 无穷远直线与直线aX+bY=0的交点,是否是同一个点?三、椭圆曲线上一节,我们建立了射影平面坐标系,这一节我们将在这个坐标系下建立椭圆曲线方程。因为我们知道,坐标中的曲线是可以用方程来表示的(比如:单位圆方程是)。椭圆曲线是曲线,自然椭圆曲线也有方程。椭圆曲线的定义:一条椭圆曲
8、线是在射影平面上满足方程 -3-1的所有点的集合,且曲线上的每个点都是非奇异(或光滑)的。定义详解: 是Weierstrass方程(维尔斯特拉斯,Karl Theodor Wilhelm Weierstrass,1815-1897),是一个齐次方程。 椭圆曲线的形状,并不是椭圆的。只是因为椭圆曲线的描述方程,类似于计算一个椭圆周长的方程(计算椭圆周长的方程,我没有见过,而对椭圆线积分(设密度为1)是求不出来的。谁知道这个方程,请告诉我呀_),故得名。我们来看看椭圆曲线是什么样的。 所谓“非奇异”或“光滑”的,在数学中是指曲线上任意一点的偏导数Fx(x,y,z),Fy(x,y,z),Fz(x,y
9、,z)不能同时为0。,可以这样理解这个词,即满足方程的任意一点都存在切线。下面两个方程都不是椭圆曲线,尽管他们是方程3-1的形式。因为他们在(0:0:1)点处(即原点)没有切线。椭圆曲线上有一个无穷远点O(0:1:0),因为这个点满足方程3-1。知道了椭圆曲线上的无穷远点。我们就可以把椭圆曲线放到普通平面直角坐标系上了。因为普通平面直角坐标系只比射影平面坐标系少无穷远点。我们在普通平面直角坐标系上,求出椭圆曲线上所有平常点组成的曲线方程,再加上无穷远点O(0:1:0),不就构成椭圆曲线了么?我们设x=X/Z ,y=Y/Z代入方程3-1得到: -3-2也就是说满足方程3-2的光滑曲线加上一个无穷
10、远点O,组成了椭圆曲线。为了方便运算,表述,以及理解,今后论述椭圆曲线将主要使用3-2的形式。本节的最后,我们谈一下求椭圆曲线一点的切线斜率问题。由椭圆曲线的定义可以知道,椭圆曲线是光滑的,所以椭圆曲线上的平常点都有切线。而切线最重要的一个参数就是斜率k。例3.1:求椭圆曲线方程上,平常点A(x,y)的切线的斜率k。解:令F(x,y)= 求偏导数Fx(x,y)= Fy(x,y)= 则导数为:f(x)=- Fx(x,y)/ Fy(x,y)=-( )/() = () /()所以k=() /() -3-3看不懂解题过程没有关系,记住结论3-3就可以了。练习: 1、将给出图例的椭圆曲线方程 和转换成普
11、通平面直角坐标系上的方程。四、椭圆曲线上的加法上一节,我们已经看到了椭圆曲线的图象,但点与点之间好象没有什么联系。我们能不能建立一个类似于在实数轴上加法的运算法则呢?天才的数学家找到了这一运算法则自从近世纪代数学引入了群、环、域的概念,使得代数运算达到了高度的统一。比如数学家总结了普通加法的主要特征,提出了加群(也叫交换群,或Abel(阿贝尔)群),在加群的眼中。实数的加法和椭圆曲线的上的加法没有什么区别。这也许就是数学抽象吧)。关于群以及加群的具体概念请参考近世代数方面的数学书。运算法则:任意取椭圆曲线上两点P、Q (若P、Q两点重合,则做P点的切线)做直线交于椭圆曲线的另一点R,过R做y轴
12、的平行线交于R。我们规定P+Q=R。(如图)法则详解:这里的+不是实数中普通的加法,而是从普通加法中抽象出来的加法,他具备普通加法的一些性质,但具体的运算法则显然与普通加法不同。根据这个法则,可以知道椭圆曲线无穷远点O与椭圆曲线上一点P的连线交于P,过P作y轴的平行线交于P,所以有 无穷远点 O+ P = P 。这样,无穷远点 O的作用与普通加法中零的作用相当(0+2=2),我们把无穷远点 O 称为 零元。同时我们把P称为P的负元(简称,负P;记作,-P)。(参见下图)根据这个法则,可以得到如下结论 :如果椭圆曲线上的三个点A、B、C,处于同一条直线上,那么他们的和等于零元,即A+B+C= O
13、k个相同的点P相加,我们记作kP。如下图:P+P+P = 2P+P = 3P。下面,我们利用P、Q点的坐标(x1,y1),(x2,y2),求出R=P+Q的坐标(x4,y4)。例4.1:求椭圆曲线方程上,平常点P(x1,y1),Q(x2,y2)的和R(x4,y4)的坐标。解:(1)先求点-R(x3,y3)因为P,Q,-R三点共线,故设共线方程为y=kx+b,其中若PQ(P,Q两点不重合) 则直线斜率k=(y1-y2)/(x1-x2)若P=Q(P,Q两点重合) 则直线为椭圆曲线的切线,故由例3.1可知:k=(3x2+2a2x+a4 -a1y) /(2y+a1x+a3)因此P,Q,-R三点的坐标值就
14、是方程组:y2+a1xy+a3y=x3+a2x2+a4x+a6 -1 y=(kx+b) -2的解。将2,代入1 有(kx+b)2+a1x(kx+b)+a3(kx+b) =x3+a2x2+a4x+a6 -3对3化为一般方程,根据三次方程根与系数关系(当三次项系数为1时;-x1x2x3 等于常数项系数, x1x2+x2x3+x3x1等于一次项系数,-(x1+x2+x3)等于二次项系数。)所以-(x1+x2+x3)=a2-ka1-k2x3=k2+ka1+a2+x1+x2;-求出点-R的横坐标因为k=(y1-y3)/(x1-x3) 故y3=y1-k(x1-x3);-求出点-R的纵坐标(2)利用-R求R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 椭圆 曲线
限制150内