999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SM2橢圓曲線公鑰加密算法的研究與實現

2016-11-23 08:30:38李玉生
無線互聯科技 2016年20期

李玉生

(南京理工大學 自動化學院,江蘇 南京 210094)

SM2橢圓曲線公鑰加密算法的研究與實現

李玉生

(南京理工大學 自動化學院,江蘇 南京 210094)

隨著互聯網的發(fā)展,越來越多的信息交換通過網絡進行,在這些信息中包含著不能為人所知的私密信息,例如,信用卡賬號、銀行賬號、病歷、電子郵件等。由于私密信息泄露產生不良后果的事件時有發(fā)生,這些都牽扯到對數據信息的加密問題。針對這一問題,文章提出運用SM2加密算法實現數據信息的加密,保證網絡通信的安全性。事實表明,SM2公鑰加密算法能夠更加安全地加密數據信息,且加密的數據很難破譯。

私密信息泄露;SM2加密算法;安全性;難破譯

保密通信催生了密碼技術,從古到今先進的技術都首先應用在軍事領域,軍隊歷來是使用密碼最頻繁的地方,保護己方秘密洞悉敵方秘密是克敵制勝的重要條件,正所謂“知己知彼,百戰(zhàn)不殆”,古代中國所使用的密碼技術主要有:陰符、陰書、虎符、信牌、字驗和礬書等。西方的傳統(tǒng)密碼技術主要包含凱撒密碼、換字式密碼、多表替代密碼、轉制式密碼等。第二次世界大戰(zhàn)密碼學得到了長遠的發(fā)展,無論是在密碼學的技術、理論,還是在應用方面,都發(fā)生了革命性的變化。

1976年,公鑰密碼算法的思想被提出,1978年,第一個公鑰密碼算法RSA誕生了,標志著密碼學進入了一個全新的時代。2010年國家密碼管理局提出了SM2橢圓曲線公鑰密碼算法主要包括數字簽名算法、密鑰交換協(xié)議和公鑰加密算法3部分。

本論文主要研究SM2公鑰加密算法并基于keil uVision 5軟件平臺采用C語言編程,將設計的模加、模減、模乘、模冪和模逆5個底層運算函數封裝成庫函數,供點加、倍點、標量乘函數和其他模塊調用,最后,在LPC1778硬件平臺上實現數據的加密與解密。

1 公鑰加密算法簡介

公鑰加密算法又稱非對稱加密算法,相對于只有一個密鑰的對稱加密算法,非對稱加密算法中加密密鑰和解密密鑰是一對密鑰,可以由解密密鑰通過一定的數學算法計算出加密密鑰,而加密密鑰理論上即使知道了數學算法也很難推導出解密密鑰,這就是密鑰在數學上的大數難解問題。由于加密密鑰是公開的,理論上任何人都可以獲得這個加密密鑰用來加密信息,但是使用加密密鑰加密的消息只有相應的解密密鑰可以解開,而這個解密密鑰是保密的,是不公開的。非對稱密碼算法中,加密密鑰也叫作公開密鑰或公鑰,解密密鑰則稱為私人密鑰或私鑰。

例如,通信雙方A和B建立通信,公鑰密碼算法實現的是A和B之間的數據加密,加解密過程如圖1所示。

圖1 公鑰加密算法的加密和解密過程

A要發(fā)送消息給B,那么A必須持有B的公鑰作用于明文進行加密將加密后的密文發(fā)送給接收方B,B在接收到密文后,用自己持有的私鑰作用于密文進行解密操作,還原出A發(fā)送的明文。同樣B要發(fā)送數據給A則用自己的私鑰加密明文將生成的密文發(fā)送給接收方A,接收方A用B的公鑰解密收到的密文就能還原出B發(fā)送的明文了,但是這樣不能保證數據傳輸的私密性。因為B的公鑰是公開的所以理論上獲得B的公鑰的人,都可以解密出明文信息,要實現B向A發(fā)送密文數據,則B應該持有A的公鑰,用A的公鑰加密數據把密文發(fā)送給A,A用自己的私鑰解密密文獲得明文信息,也就是說A和B之間相互的通信需要A的公鑰、私鑰,B的公鑰、私鑰共4把鑰匙,A 和B各持有對方的公鑰,私鑰只有A和B自己知道。

在這一過程中要保證私鑰的私密性,這樣即使密文被人截獲了,在沒有私鑰的情況下也無法破譯出密文所對應的明文信息,僅私鑰的持有者能夠解密密文獲取明文信息,保證了信息的安全性。公鑰密碼算法的公鑰和密碼算法是公開的。原則上,B的公鑰人人都可以獲取,所以數據加密不提供身份認證和不可抵賴的功能。關于身份認證的內容,即A如何確定收到的公鑰是B的,可由SM2橢圓曲線公鑰密碼算法的數字簽名算法保證。

由于對稱密碼算法加密解密使用的是同一把鑰匙,密鑰在傳遞的過程中容易遭到竊取,導致密鑰泄露,使用公鑰密碼算法加密數據的一大好處是通信雙方不需要事先協(xié)商加密密鑰,減少了密鑰泄露的風險,也擴大了通信對象的范圍,所有人都可以使用公鑰密碼算法輕易地建立安全的通信信道。

2 橢圓曲線大數運算的數學基礎

2.1模運算與素數域

同余是數論中的等價關系,對于正整數m如果有a=b+km (a,b,k均是整數)那么記b=a mod(m),則稱a與b關于m同余。當m=p(p為素數)時,我們定義素數域FP可由{0,1,2,3…p-1}中P個元素構成,關于P的模運算稱為素數域上模運算。

2.2有限域上的模運算的設計與實現

有限域上的模運算是SM2橢圓曲線公鑰密碼算法的基礎,主要包括模加和模減運算、模乘運算、模冪和模逆運算。

模逆運算是模運算中最復雜運算量最大的運算,模逆運算可以通過費馬小定理(n是素數的時候,和n互素的某個整數a有公式an-1=1modn成立)得到,即當p為素數時,有ap-1=1mod p,則可得到模逆運算a-1=ap-2mod p,這樣就可以利用模冪運算來表示模逆運算。以上的這些模運算都已在LPC1778硬件平臺上實現,如圖2所示。

圖2 模運算測試結果

2.3有限域上標量乘運算的設計與實現

標量乘的數學形式,P=(xp,yp)為橢圓曲線E(FP)上的點,k為正整數,P的k倍點為Q。Q=[k]P=P+P+…+P(k 個p)。標量乘運算是所有運算中最耗時的運算操作,主要由點加和倍點產生,點加和倍點運算在不同坐標系下的運算規(guī)則不同。采用仿射與雅可比混合坐標系下的運算規(guī)則:y2=x3+axz4+bz6,其中,a,b為橢圓曲線上的整數,并且△= (4a3+27b2)mod p≠0。

三維坐標P(x1,y1,z1),Q(x2,y2,1)的無窮遠點為(1,1,0)。倍點運算P+P=( x3,y3,z3)聲明為Padd1(x1,y1,z1,x3,y3,z3),把2P的值存入(x3,y3,z3),點加運算P+Q=(x3,y3,z3)聲明為Padd2(x1,y1,z1,x2,y2,x3,y3,z3),把P+Q的值存入(x3,y3,z3)。最后還要把結果(x3,y3,z3)從雅可比加重攝影坐標系下轉換到仿射坐標系下,需要對參數進行轉換:x3=x3/ z12,y3=y3/z13,即可得到所需的二維坐標點(x3,y3)。

有了點加和倍點運算就可以進行標量乘運算,標量乘從右往左的算法為:

3 SM2公鑰加密算法

素數域橢圓曲線的參數:素數域的模P,橢圓曲線E(FP)的系數:a,b;E(FP)上的基點G(Gx,Gy)≠0,基點G的解為n余因子h=1,用戶A持有的用戶B的公鑰PB,用戶B持有的私鑰dB。

3.1SM2加密算法

(1)用隨機數發(fā)生器生成隨機數k,0<k<n。

(2)計算橢圓曲線上的點C1=[k]G。

(3)計算橢圓曲線點S=[h]PB,若S為無窮遠點則報錯并退出,h為余因子,這里取為1。

(4)計算橢圓曲線上的點[k]PB=(x2,y2)。

(5)計算t=KDF(x2||y2,len)若t全為0則返回1。

(6)計算C2=M⊕t。

(7)計算C3= SM3(x2||M||y2)。

(8)計算密文C=C1||C2||C3。

SM2加密流程如圖3示。

圖3 SM2加密算法流程

3.2SM2解密算法

(1)從密文中取出C1,驗證C1是否滿足橢圓曲線方程,若不滿足則報錯并退出。

(2)計算S=[h]C1,若S為無窮遠點則報錯并退出。

(3)計算 [dB]C1=(x2,y2)。

(4)計算 t=KDF(x2||y2,len)。

(5)從C中取出C2計算m= C2⊕t。

(6)計算u=SM3(x2||m||y2),若u與C3不相等,則報錯并退出。

(7)輸出明文m。

SM2解密流程如圖4所示。

圖4 SM2解密算法流程

加密解密算法在LPC1778上實現通過串口RS232在超級終端上的顯示結果如圖5所示,待加密的消息M為“Hello World!”。

圖5 加解密測試結果

4 結語

SM2公鑰加密算法可以實現數據的加密,但相對于對稱密碼算法如DES,AES等對稱密碼算法計算量大,加密速度慢,所以在實際應用中一般把公鑰密碼算法和對稱密碼算法結合起來使用,既利用了公鑰密碼算法的密鑰易于傳輸的優(yōu)點又利用了對稱密碼算法加密速度快、適合大批量數據加密的優(yōu)點。

[1]張明德,劉偉.PKI/CA與數字證書技術大全[M].北京:電子工業(yè)出版社,2015.

[2]盧開澄,盧華明.橢圓曲線密碼算法導引[M].北京:清華大學出版社,2008.

[3]劉合義.談數論中的同余及其應用[J].計算機學報,2004(1):38-39.

[4]李學俊,敬忠良.基于橢圓曲線離散對數問題的公鑰密碼[J].計算機工程與應用,2002(6):20-22.

[5]周宣武,楊曉元,黃德官,等.網絡中基于橢圓曲線密碼的密鑰管理方案[J].計算機工程,2004(11):89-91.

[6]國家密碼管理局.SM2橢圓曲線公鑰密碼算法[EB/OL].(2016-10-25)[2010-12-18].http://wenku.baidu.com/view/6337c57c27284b73f242501a. html.

[7]劉鐸,戴一奇.計算橢圓曲線上標量乘的快速算法[J].計算機學報,2008(3):102-106.

[8]李輝,劉中華,易軍凱.基于偽隨機數生成器的標量乘改進算法[J].計算機系統(tǒng)應用,2015(1):151-155.

[9]牛廣平,馬建峰.橢圓曲線標量乘的快速實現[J].計算機工程,2004(16):45-46.

[10]LAUTER K.The Advantages of Elliptic Curve Cryptography for Wireless Security.[J]Wireless Communications,2004(3):62-67.

[11]NEAL K,ALFRED M,VANSTONE S.The State of Elliptic Curve Cryptography Designs[J].Codes and Cryptography,2010(1):173-193.

Research and realization of SM2 elliptic curve public key encryption algorithm

Li Yusheng
(Automation School of Nanjing University of Science and Technology, Nanjing 210094,China)

With the development of the Internet, more and more information is exchanged through the network, among those information, there are some private information that can not be known by others, for example, credit card accounts, bank accounts, medical record, e-mail, etc. Bad consequences caused by private information leakage occurred frequently, which is involved in the encryption of data information. In view of this problem, this paper proposes the use of SM2 encryption algorithm to achieve data encryption and ensure the security of network communication. Facts show that the SM2 public key encryption algorithm can encrypt data more safely, and the encryption data is difficult to decipher.

private information leakage; SM2 encryption algorithm; security; difficult to decipher

李玉生(1989— ),男,江蘇徐州,碩士研究生;研究方向:arm嵌入式軟件開發(fā),SM2公鑰密碼算法。

主站蜘蛛池模板: 亚洲av无码成人专区| 久草青青在线视频| 片在线无码观看| 亚洲熟女中文字幕男人总站| 五月激激激综合网色播免费| 午夜国产精品视频| 国产欧美网站| 亚洲欧美一区二区三区图片 | 91精品免费高清在线| 亚洲AⅤ无码国产精品| 中文字幕av无码不卡免费| 日韩成人在线视频| 欧美日韩高清| 精品成人免费自拍视频| 一级毛片在线播放| 无码中文AⅤ在线观看| 久久精品视频一| 久久精品一卡日本电影| 亚洲色图欧美在线| 永久免费精品视频| 国产精品美人久久久久久AV| 亚洲第一成网站| 色综合久久88色综合天天提莫| 亚洲精品欧美日本中文字幕| 再看日本中文字幕在线观看| 大乳丰满人妻中文字幕日本| 国产香蕉97碰碰视频VA碰碰看| 色婷婷在线影院| 日日碰狠狠添天天爽| 成人国产一区二区三区| 亚洲熟女偷拍| 国产原创演绎剧情有字幕的| 午夜视频在线观看区二区| 国模视频一区二区| 国产第一色| 456亚洲人成高清在线| 亚洲永久视频| 幺女国产一级毛片| 亚洲 成人国产| 国产一区二区三区日韩精品| 亚洲中文制服丝袜欧美精品| 欧美一区日韩一区中文字幕页| 欧洲一区二区三区无码| 国产午夜无码专区喷水| 一级爱做片免费观看久久| 亚洲男人天堂久久| 欧美成人第一页| 伊人精品视频免费在线| 麻豆精品在线| 精品国产自在现线看久久| 无码高潮喷水专区久久| 人人91人人澡人人妻人人爽| 欧美a在线| 中文字幕第4页| 婷婷综合色| 日韩国产黄色网站| 97在线免费视频| 无码又爽又刺激的高潮视频| 狠狠色成人综合首页| 一区二区在线视频免费观看| 99精品在线视频观看| 午夜福利亚洲精品| av一区二区三区高清久久| 午夜福利在线观看成人| 免费观看欧美性一级| 找国产毛片看| 亚州AV秘 一区二区三区| 91麻豆精品视频| 国产91高清视频| 色综合天天综合| 麻豆精品久久久久久久99蜜桃| 成人免费网站久久久| 无码'专区第一页| 成人午夜亚洲影视在线观看| 欧美色视频网站| 日韩精品亚洲一区中文字幕| 亚洲人成网18禁| 国产性生交xxxxx免费| 欧美中文字幕在线播放| 国产在线无码av完整版在线观看| 成人精品视频一区二区在线| 日韩视频精品在线|