|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般加密|算法ECC加密算法进门先容
媒介
同RSA(RonRivest,AdiShamir,LenAdleman三位天赋的名字)一样,ECC(EllipticCurvesCryptography,椭圆曲线暗码编码学)也属于公然密钥算法。今朝,国际具体先容ECC的公然文献其实不多(归正我没有找到)。有一些简介,也是平常而谈,看完后仍然了解不了ECC的本色(大概我了解力太差)。前些天我从外洋网站找到些质料,看完后对ECC仿佛懵懂了。因而我想把我对ECC的熟悉收拾一下,与人人分享。固然ECC胸无点墨,我的熟悉还很浅薄,文章中毛病必定很多,接待各路妙手品评斧正,小弟我倾耳细听,并实时更正。文章将接纳连载的体例,我写好一点就贴出来一点。本文次要偏重实际,代码完成暂不触及。这就请求你要有一点数学功底。最好你能了解RSA算法,对公然密钥算法有一个懂得。《晚世代数基本》《初等数论》之类的书,最好您先翻一下,这对您了解本文是有匡助的。别怕,我只管会把言语普通些,但愿本文能成为进修ECC的拍门砖。
1、从平行线谈起。
平行线,永不订交。没有人嫌疑把:)不外到了近代这个结论遭到了质疑。平行线会不会在很远很远的中央订交了?现实上没有人见到过。以是“平行线,永不订交”只是假定(人人想一想初中进修的平行正义,是没有证实的)。既然能够假定平行线永不订交,也能够假定平行线在很远很远的中央订交了。即平行线订交于无量远点P∞(请人人闭上眼睛,设想一下谁人无量远点P∞,P∞是否是很虚幻,实在与其说数学熬炼人的笼统才能,还不如说是熬炼人的设想力)。给个图匡助了解一下:
直线上呈现P∞点,所带来的优点是一切的直线都订交了,且只要一个交点。这就把直线的平行与订交一致了。为与无量远点相区分把本来立体上的点叫做寻常点。
以下是无量远点的几本性质。
▲直线L上的无量远点只能有一个。(从界说可间接得出)
▲立体上一组互相平行的直线有大众的无量远点。(从界说可间接得出)
▲立体上任何订交的两直线L1,L2有分歧的无量远点。(不然L1和L2有大众的无量远点P,则L1和L2有两个交点A、P,故假定毛病。)
▲立体上全部无量远点组成一条无量远直线。(本人设想一下这条直线吧)
▲立体上全部无量远点与全部寻常点组成射影立体。
2、射影立体坐标系
射影立体坐标系是对一般立体直角坐标系(就是我们初中学到的谁人笛卡儿立体直角坐标系)的扩大。我们晓得一般立体直角坐标系没无为无量远点计划坐标,不克不及暗示无量远点。为了暗示无量远点,发生了射影立体坐标系,固然射影立体坐标系一样能很好的暗示旧有的寻常点(数学也是“向下兼容”的)。
我们对一般立体直角坐标系上的点A的坐标(x,y)做以下改革:
令x=X/Z,y=Y/Z(Z≠0);则A点能够暗示为(X:Y:Z)。
酿成了有三个参量的坐标点,这就对立体上的点创建了一个新的坐标系统。
例2.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)(1.2:2.4:1.2)等形如(Z:2Z:Z),Z≠0的坐标,都是(1,2)在新的坐标系统下的坐标。
我们也能够失掉直线的方程aX+bY+cZ=0(想一想为何?提醒:一般立体直角坐标系下直线一样平常方程是ax+by+c=0)。新的坐标系统可以暗示无量远点么?那要让我们先想一想无量远点在那里。依据上一节的常识,我们晓得无量远点是两条平行直线的交点。那末,怎样求两条直线的交点坐标?这是初中的常识,就是将两条直线对应的方程联立求解。平行直线的方程是:
aX+bY+c1Z=0;aX+bY+c2Z=0(c1≠c2);
(为何?提醒:能够从斜率思索,由于平行线斜率不异);
将二方程联立,求解。有c2Z=c1Z=-(aX+bY),∵c1≠c2∴Z=0∴aX+bY=0;
以是无量远点就是这类情势(X:Y:0)暗示。注重,寻常点Z≠0,无量远点Z=0,因而无量远直线对应的方程是Z=0。
例2.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)(-4:2:0)(-2.4:1.2:0)等形如(-2Y:Y:0),Y≠0的坐标,都暗示这个无量远点。
看来这个新的坐标系统可以暗示射影立体上一切的点,我们就把这个可以暗示射影立体上一切点的坐标系统叫做射影立体坐标系。
实习:
1、求点A(2,4)在射影立体坐标系下的坐标。
2、求射影立体坐标系下点(4.5:3:0.5),在一般立体直角坐标系下的坐标。
3、求直线X+Y+Z=0上无量远点的坐标。
4、判别:直线aX+bY+cZ=0上的无量远点和无量远直线与直线aX+bY=0的交点,是不是是统一个点?
3、椭圆曲线
上一节,我们创建了射影立体坐标系,这一节我们将在这个坐标系下创建椭圆曲线方程。由于我们晓得,坐标中的曲线是能够用方程来暗示的(好比:单元圆方程是x2+y2=1)。椭圆曲线曲直线,天然椭圆曲线也无方程。
椭圆曲线的界说:
一条椭圆曲线是在射影立体上满意方程
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3----------------[3-1]
的一切点的汇合,且曲线上的每一个点都长短奇怪(或平滑)的。
界说详解:
▲Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3是Weierstrass方程(维尔斯特拉斯,KarlTheodorWilhelmWeierstrass,1815-1897),是一个齐次方程。
▲椭圆曲线的外形,并非椭圆的。只是由于椭圆曲线的形貌方程,相似于盘算一个椭圆周长的方程(盘算椭圆周长的方程,我没有见过,而对椭圆线积分(设密度为1)是求不出来的。谁晓得这个方程,请告知我呀^_^),故得名。
我们来看看椭圆曲线是甚么样的。
▲所谓“非奇怪”或“平滑”的,在数学中是指曲线上恣意一点的偏导数Fx(x,y,z),Fy(x,y,z),Fz(x,y,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]失掉:
y2+a1xy+a3y=x3+a2x2+a4x+a6-------------------------[3-2]
也就是说满意方程[3-2]的平滑曲线加上一个无量远点O∞,构成了椭圆曲线。为了便利运算,表述,和了解,从此叙述椭圆曲线将次要利用[3-2]的情势。
本节的最初,我们谈一下求椭圆曲线一点的切线斜率成绩。
由椭圆曲线的界说能够晓得,椭圆曲线是平滑的,以是椭圆曲线上的寻常点都有切线。而切线最主要的一个参数就是斜率k。
例3.1:求椭圆曲线方程y2+a1xy+a3y=x3+a2x2+a4x+a6上,寻常点A(x,y)的切线的斜率k。
解:令F(x,y)=y2+a1xy+a3y-x3-a2x2-a4x-a6
求偏导数
Fx(x,y)=a1y-3x2-2a2x-a4
Fy(x,y)=2y+a1x+a3
则导数为:f(x)=-Fx(x,y)/Fy(x,y)=-(a1y-3x2-2a2x-a4)/(2y+a1x+a3)
=(3x2+2a2x+a4-a1y)/(2y+a1x+a3)
以是k=(3x2+2a2x+a4-a1y)/(2y+a1x+a3)------------------------[3-3]
看不懂解题历程没有干系,记着结论[3-3]就能够了。
实习:
1、将给出图例的椭圆曲线方程Y2Z=X3-XZ2和Y2Z=X3+XZ2+Z3转换成一般立体直角坐标系上的方程。
4、椭圆曲线上的加法
上一节,我们已看到了椭圆曲线的图像,但点与点之间好象没有甚么接洽。我们能不克不及创建一个相似于在实数轴上加法的运算法例呢?天赋的数学家找到了这一运算法例
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
自从晚世纪代数学引进了群、环、域的观点,使得代数运算到达了高度的一致。好比数学家总结了一般加法的次要特性,提出了加群(也叫互换群,或Abel(阿贝尔)群),在加群的眼中。实数的加法和椭圆曲线的上的加法没有甚么区分。这大概就是数学笼统把:)。关于群和加群的详细观点请参考晚世代数方面的数学书。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
运算法例:恣意取椭圆曲线上两点P、</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 |
|