資源描述:
《ecc加密算法入門介紹》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、ECC加密算法入門介紹前言同RSA(RonRivest,AdiShamir,LenAdleman三位天才的名字)一樣,ECC(EllipticCurvesCryptography,橢圓曲線密碼編碼學)也屬于公開密鑰算法。目前,國內(nèi)詳細介紹ECC的公開文獻并不多(反正我沒有找到)。有一些簡介,也是泛泛而談,看完后依然理解不了ECC的實質(zhì)(可能我理解力太差)。前些天我從國外網(wǎng)站找到些材料,看完后對ECC似乎懵懂了。于是我想把我對ECC的認識整理一下,與大家分享。當然ECC博大精深,我的認識還很膚淺,文章中錯誤一定不少,歡迎各路高手批評指
2、正,小弟我洗耳恭聽,并及時改正。文章將采用連載的方式,我寫好一點就貼出來一點。本文主要側(cè)重理論,代碼實現(xiàn)暫不涉及。這就要求你要有一點數(shù)學功底。最好你能理解RSA算法,對公開密鑰算法有一個了解。《近世代數(shù)基礎》《初等數(shù)論》之類的書,最好您先翻一下,這對您理解本文是有幫助的。別怕,我盡量會把語言通俗些,希望本文能成為學習ECC的敲門磚。一、從平行線談起。平行線,永不相交。沒有人懷疑把:)不過到了近代這個結(jié)論遭到了質(zhì)疑。平行線會不會在很遠很遠的地方相交了?事實上沒有人見到過。所以“平行線,永不相交”只是假設(大家想想初中學習的平行公理,是
3、沒有證明的)。既然可以假設平行線永不相交,也可以假設平行線在很遠很遠的地方相交了。即平行線相交于無窮遠點P∞(請大家閉上眼睛,想象一下那個無窮遠點P∞,P∞是不是很虛幻,其實與其說數(shù)學鍛煉人的抽象能力,還不如說是鍛煉人的想象力)。給個圖幫助理解一下:直線上出現(xiàn)P∞點,所帶來的好處是所有的直線都相交了,且只有一個交點。這就把直線的平行與相交統(tǒng)一了。為與無窮遠點相區(qū)別把原來平面上的點叫做平常點。以下是無窮遠點的幾個性質(zhì)?!本€L上的無窮遠點只能有一個。(從定義可直接得出)▲平面上一組相互平行的直線有公共的無窮遠點。(從定義可直接得出)▲
4、平面上任何相交的兩直線L1,L2有不同的無窮遠點。(否則L1和L2有公共的無窮遠點P,則L1和L2有兩個交點A、P,故假設錯誤。)▲平面上全體無窮遠點構(gòu)成一條無窮遠直線。(自己想象一下這條直線吧)▲平面上全體無窮遠點與全體平常點構(gòu)成射影平面。二、射影平面坐標系射影平面坐標系是對普通平面直角坐標系(就是我們初中學到的那個笛卡兒平面直角坐標系)的擴展。我們知道普通平面直角坐標系沒有為無窮遠點設計坐標,不能表示無窮遠點。為了表示無窮遠點,產(chǎn)生了射影平面坐標系,當然射影平面坐標系同樣能很好的表示舊有的平常點(數(shù)學也是“向下兼容”的)。我們對
5、普通平面直角坐標系上的點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(想想為什么?提示:普通平面直角坐標
6、系下直線一般方程是ax+by+c=0)。新的坐標體系能夠表示無窮遠點么?那要讓我們先想想無窮遠點在哪里。根據(jù)上一節(jié)的知識,我們知道無窮遠點是兩條平行直線的交點。那么,如何求兩條直線的交點坐標?這是初中的知識,就是將兩條直線對應的方程聯(lián)立求解。平行直線的方程是:aX+bY+c1Z=0;aX+bY+c2Z=0(c1≠c2);(為什么?提示:可以從斜率考慮,因為平行線斜率相同);將二方程聯(lián)立,求解。有c2Z=c1Z=-(aX+bY),∵c1≠c2∴Z=0∴aX+bY=0;所以無窮遠點就是這種形式(X:Y:0)表示。注意,平常點Z≠0,無窮
7、遠點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.
8、5),在普通平面直角坐標系下的坐標。3、求直線X+Y+Z=0上無窮遠點的坐標。4、判斷:直線aX+bY+cZ=0上的無窮遠點和無窮遠直線與直線aX+bY=0的交點,是否是同一個點?三、橢圓曲線上一節(jié),我們建立了射影平面坐標系,這一節(jié)我