丁香花免费高清视频在线观看-久久亚洲国产成人精品无码区-99er热精品视频国产免费-今天上午特朗普访华-国产口爆吞精在线视频

關于瑞(rui)術
黨建活動(dong)

解讀DES和SM4、RSA和SM2及SM3

 二維碼
發表時(shi)間:2017-02-13 14:47

安全(quan)是智能(neng)卡的(de)核(he)心,而算法(fa)是安全(quan)的(de)基礎。


  國密(mi)算(suan)(suan)法(fa)由國家密(mi)碼(ma)(ma)局發布(bu),包(bao)含SM1\ SM2\ SM3\ SM4\ SSF33算(suan)(suan)法(fa);國際(ji)算(suan)(suan)法(fa)由美(mei)國的(de)安全局發布(bu),是(shi)現今最(zui)通用(yong)的(de)商用(yong)算(suan)(suan)法(fa)。今天小鈔就以(yi)分組密(mi)碼(ma)(ma)算(suan)(suan)法(fa)(DES和(he)(he)SM4)、公鑰密(mi)碼(ma)(ma)算(suan)(suan)法(fa)(RSA和(he)(he)SM2)、摘要(yao)算(suan)(suan)法(fa)(SM3)為例,和(he)(he)大家談談國際(ji)算(suan)(suan)法(fa)和(he)(he)國密(mi)算(suan)(suan)法(fa)的(de)區別。


  分組(zu)密碼算法——國(guo)際DES、國(guo)產SM4


  分(fen)組(zu)密碼(ma)(ma)就是將明(ming)文數據按固定(ding)長度進(jin)行(xing)分(fen)組(zu),然后(hou)在同一密鑰控制下逐組(zu)進(jin)行(xing)加密,從而將各個明(ming)文分(fen)組(zu)變換成一個等長的(de)密文分(fen)組(zu)的(de)密碼(ma)(ma)。其中二進(jin)制明(ming)文分(fen)組(zu)的(de)長度稱為該分(fen)組(zu)密碼(ma)(ma)的(de)分(fen)組(zu)規模。


  分組密碼(ma)的實現原則如下:


  (1)必須實(shi)現起(qi)來比較簡單,知道密(mi)鑰時加密(mi)和(he)脫密(mi)都(dou)十分容易,適合硬件和(he)(或(huo))軟件實(shi)現.

  (2)加脫密(mi)速度和所消耗的資源和成本較低,能(neng)滿(man)足具體(ti)應用(yong)范圍的需要.


  分組密碼的設計基本遵(zun)循混淆(xiao)原則(ze)和擴散原則(ze)。


  混淆(xiao)原則就是將密文(wen)(wen)、明文(wen)(wen)、密鑰三者之間的(de)統計關系(xi)和(he)代數(shu)關系(xi)變得(de)盡可能復雜,使得(de)敵手即使獲(huo)得(de)了密文(wen)(wen)和(he)明文(wen)(wen),也(ye)無法(fa)求出密鑰的(de)任何信(xin)息(xi);即使獲(huo)得(de)了密文(wen)(wen)和(he)明文(wen)(wen)的(de)統計規律,也(ye)無法(fa)求出明文(wen)(wen)的(de)任何信(xin)息(xi)。


  擴散原則就是(shi)應將(jiang)明(ming)文(wen)(wen)(wen)的(de)統計(ji)規(gui)(gui)律和(he)結構規(gui)(gui)律散射到(dao)相當長的(de)一(yi)(yi)段(duan)統計(ji)中(zhong)(zhong)去。也就是(shi)說讓明(ming)文(wen)(wen)(wen)中(zhong)(zhong)的(de)每一(yi)(yi)位(wei)(wei)影(ying)響密(mi)(mi)文(wen)(wen)(wen)中(zhong)(zhong)的(de)盡可能多(duo)的(de)位(wei)(wei),或者說讓密(mi)(mi)文(wen)(wen)(wen)中(zhong)(zhong)的(de)每一(yi)(yi)位(wei)(wei)都受到(dao)明(ming)文(wen)(wen)(wen)中(zhong)(zhong)的(de)盡可能多(duo)位(wei)(wei)的(de)影(ying)響。


  DES算(suan)法


  DES算法(fa)是(shi)在美國NSA(國家安全局)資助下由(you)IBM公司開發的密(mi)碼算法(fa),其初衷是(shi)為政(zheng)府非(fei)機(ji)(ji)密(mi)的敏感(gan)信息提(ti)供較強的加(jia)密(mi)保護。它是(shi)美國政(zheng)府擔保的第一種加(jia)密(mi)算法(fa),并在1977年被正式作為美國聯邦(bang)信息處理標準。DES主(zhu)要提(ti)供非(fei)軍事性質的聯邦(bang)政(zheng)府機(ji)(ji)構和私營(ying)部門使(shi)用(yong),并迅速(su)成為名聲最大,使(shi)用(yong)最廣的商用(yong)密(mi)碼算法(fa)。


  DES算法的整體結構圖:

0.png

2006年我(wo)國公(gong)(gong)布了無限局域網產品使(shi)用(yong)的SM4密碼算(suan)法。這是我(wo)國第一次公(gong)(gong)布自(zi)己(ji)的商用(yong)密碼算(suan)法。


  SM4算法的(de)整體結(jie)構圖:

1.png2.png


國際(ji)的DES算法(fa)(fa)和國產(chan)的SM4算法(fa)(fa)的目的都是為了加密保護靜態儲存和傳輸信道(dao)中的數據,主(zhu)要特(te)性(xing)如(ru)下:


3.png

從算法上看(kan),國(guo)產SM4算法在計算過程中增加(jia)非線性變換(huan),理(li)論(lun)上能大(da)大(da)提高其算法的安(an)全性,并(bing)且由專業(ye)機構進行了(le)密碼分(fen)析(xi),民(min)間也對21輪(lun)SM4進行了(le)差(cha)分(fen)密碼分(fen)析(xi),結論(lun)均為(wei)安(an)全性較高。


  公(gong)鑰密(mi)碼算法——國際(ji)RSA、國產SM2


  公(gong)鑰(yao)密(mi)碼學與其(qi)他密(mi)碼學完全不同(tong), 使用這種方法(fa)的加密(mi)系統,不僅(jin)公(gong)開加密(mi)算法(fa)本身(shen),也(ye)公(gong)開了加密(mi)用的密(mi)鑰(yao)。


  公(gong)鑰密(mi)(mi)碼系統與只使用一個密(mi)(mi)鑰的(de)(de)(de)對(dui)稱(cheng)傳(chuan)統密(mi)(mi)碼不同,算法(fa)是(shi)基(ji)于(yu)數學函數而不是(shi)基(ji)于(yu)替換和(he)(he)置(zhi)換。公(gong)鑰密(mi)(mi)碼學是(shi)非對(dui)稱(cheng)的(de)(de)(de),它使用兩個獨立的(de)(de)(de)密(mi)(mi)鑰,即(ji)密(mi)(mi)鑰分為公(gong)鑰和(he)(he)私鑰,因(yin)此稱(cheng)雙密(mi)(mi)鑰體制(zhi)。雙鑰體制(zhi)的(de)(de)(de)公(gong)鑰可以公(gong)開,因(yin)此稱(cheng)為公(gong)鑰算法(fa)。


  公鑰算法(fa)的出(chu)現,給密(mi)碼的發(fa)展(zhan)(zhan)開辟了(le)新(xin)的方向。公鑰算法(fa)雖然已經歷了(le)20多年的發(fa)展(zhan)(zhan),但仍(reng)具有強勁的發(fa)展(zhan)(zhan)勢頭,在鑒別(bie)系統和密(mi)鑰交(jiao)換(huan)等(deng)安全技術領(ling)域(yu)起著關鍵(jian)的作用


  公(gong)鑰(yao)算(suan)法(fa)的加(jia)密(mi)與解(jie)密(mi)由不同的密(mi)鑰(yao)完成,并且(qie)從加(jia)密(mi)密(mi)鑰(yao)得到解(jie)密(mi)密(mi)鑰(yao)在計算(suan)上是不可行(xing)的。通常,公(gong)鑰(yao)算(suan)法(fa)的兩個密(mi)鑰(yao)中任何一個都可以作為加(jia)密(mi)而另一個用作解(jie)密(mi),但不是所有的公(gong)鑰(yao)算(suan)法(fa)都是如此。

4.png

5.png

RSA算法


  RSA算(suan)(suan)法由Rivest、Shamir、Adleman于1978年(nian)首次發表,是迄今為止最容(rong)易理解(jie)和實現的公鑰算(suan)(suan)法,已經受住(zhu)了多年(nian)深入的攻擊(ji),其(qi)理論(lun)基(ji)礎是一種(zhong)特殊的可逆模(mo)冪運算(suan)(suan),其(qi)安全性(xing)基(ji)于分解(jie)大(da)整(zheng)數的困難性(xing)。


  RSA算(suan)法(fa)既可用(yong)(yong)于加密,又可用(yong)(yong)于數字簽名,已得到廣泛采(cai)(cai)用(yong)(yong),并被(bei)許(xu)多標準化(hua)組織(如ISO、ITU、IETF和SWIFT等(deng))接納。目前(qian)許(xu)多國家標準仍(reng)采(cai)(cai)用(yong)(yong)RSA算(suan)法(fa)或(huo)它的變(bian)型。


  RSA算法(fa)的實現如下:


  (1) 實現者尋找出兩個大素數p和q

  (2) 實現者計算出n=pq 和φ(n)=(p-1)(q-1)

  (3) 實現者(zhe)選擇一個(ge)隨機數(shu)e (0<e<></e<>

  (4) 實現者使用輾轉相除法計算d=e-1(modφ(n))

  (5) 實現者在目(mu)錄中公開(kai)n和(he)e作(zuo)為公鑰(yao)


  密碼(ma)分(fen)(fen)析(xi)者攻擊RSA體制的(de)關(guan)鍵(jian)點在(zai)于如(ru)何分(fen)(fen)解(jie)n。若分(fen)(fen)解(jie)成功(gong)使n=pq,則可以算出φ(n)=(p-1)(q-1),然后(hou)由公開的(de)e,解(jie)出秘密的(de)d。所以說RSA算法的(de)安全性基于分(fen)(fen)解(jie)大整數的(de)困(kun)難性。


  SM2算法


  SM2算法由國家(jia)密碼(ma)管理(li)局(ju)于2010年12月17日發布,全稱為(wei)橢(tuo)圓(yuan)(yuan)曲(qu)線算法。橢(tuo)圓(yuan)(yuan)曲(qu)線并(bing)不(bu)是(shi)橢(tuo)圓(yuan)(yuan),之所以稱為(wei)橢(tuo)圓(yuan)(yuan)曲(qu)線是(shi)因為(wei)它們(men)是(shi)用三次方(fang)程來表示(shi)的(de),并(bing)且該方(fang)程與計算橢(tuo)圓(yuan)(yuan)周長的(de)方(fang)程相似(si)。一般而(er)言,橢(tuo)圓(yuan)(yuan)曲(qu)線的(de)三次方(fang)程形為(wei):


  y2+axy+by=x3+cx2+dx+e [其中(zhong)a,b,c,d和(he)e是滿足(zu)某些條件的實數(shu),因為方程(cheng)中(zhong)的指(zhi)數(shu)最高(gao)是3,所(suo)以我們(men)稱之為三次(ci)(ci)方程(cheng),或者說方程(cheng)的次(ci)(ci)數(shu)為3]


  SM2算法使用的方程為:y2= x3 + ax + b

  SM2算(suan)法實現(xian)如下(xia):

  (1) 選擇Ep(a,b)的元(yuan)素(su)G,使得G的階(jie)n是一個大(da)素(su)數(shu)

  (2) G的階是指滿足nG=O的最小n值(zhi)

  (3) 秘密選擇(ze)整(zheng)數k,計算(suan)B=kG,然后公開(p,a,b,G,B),B為公鑰,保密k,k為私鑰

  加密M:先把消息(xi)M變換成(cheng)為Ep(a,b)中一個點Pm,然后,選(xuan)擇(ze)隨(sui)機數(shu)r,計算(suan)密文Cm={rG,Pm+rP),如果r使得rG或(huo)者(zhe)rP為O,則要重新選(xuan)擇(ze)r。

  解密(mi)Cm: (Pm+rP)-k(rG)=Pm+rkG-krG=Pm


  SM2算法(fa)的(de)安全性基于一個數學難題”離散對數問(wen)題ECDLP”實現,即考慮等式Q=KP,其中Q、P屬于Ep(a,b),K<p,則:1) p="" 已知q和p,計算k,是困難的(de)。<="">


  現今(jin)(jin)對橢圓曲線研究(jiu)的時(shi)間短,經過許多(duo)優秀的數學家的努力,至今(jin)(jin)一(yi)直沒(mei)有找(zhao)到亞指數級算法。正(zheng)是(shi)由于目前所知(zhi)求解ECDLP的最好方(fang)法是(shi)指數級的,這使得(de)我(wo)們選(xuan)用SM2算法作(zuo)加解密及(ji)數字簽名時(shi),所要(yao)求的密鑰長度(du)比RSA要(yao)短得(de)多(duo)。


  國際的(de)RSA算(suan)法和國產的(de)SM2算(suan)法的(de)主要特性對比如下:

6.png

摘要算法——國產SM3


  摘要函(han)數(shu)(shu)在密(mi)碼學中(zhong)具(ju)有重要的地(di)位(wei),被(bei)廣泛應(ying)用(yong)在數(shu)(shu)字簽名,消息(xi)認證,數(shu)(shu)據完整性(xing)(xing)檢測等領(ling)域。摘要函(han)數(shu)(shu)通常被(bei)認為需要滿足(zu)三個基本特性(xing)(xing):碰撞穩(wen)固性(xing)(xing),原根穩(wen)固性(xing)(xing)和第二原根穩(wen)固性(xing)(xing)。


  2005年,Wang等人(ren)給出了MD5算法(fa)(fa)和SHA-1算法(fa)(fa)的碰(peng)撞(zhuang)攻擊方法(fa)(fa),現今被廣泛應(ying)用的MD5算法(fa)(fa)和SHA-1算法(fa)(fa)不再是安全的算法(fa)(fa)。


  SM3密(mi)碼摘要(yao)算法(fa)是中(zhong)國(guo)國(guo)家密(mi)碼管理局2010年公布的(de)中(zhong)國(guo)商用密(mi)碼雜湊算法(fa)標(biao)準(zhun)。SM3算法(fa)適用于商用密(mi)碼應用中(zhong)的(de)數(shu)字簽名(ming)和驗證,是在SHA-256基(ji)礎上改進(jin)實現(xian)的(de)一種算法(fa)。SM3算法(fa)采(cai)用Merkle-Damgard結構,消(xiao)息(xi)分(fen)組長(chang)度(du)為512位(wei),摘要(yao)值(zhi)長(chang)度(du)為256位(wei)。


  SM3算法(fa)(fa)的(de)壓縮函數與(yu)SHA-256的(de)壓縮函數具有相似(si)的(de)結構(gou),但是SM3算法(fa)(fa)的(de)設計更加復雜,比如壓縮函數的(de)每一(yi)輪都使(shi)用2個消息字(zi)。


  現今為(wei)止,SM3算(suan)法的(de)安全性相(xiang)對較高。


(來源(yuan):中鈔研究院)

上(shang)一(yi)篇聯合體
文章分類: 專業知識
分享(xiang)到: