黨建活動(dòng)

解讀DES和SM4、RSA和SM2及SM3

 二維碼
發(fā)表時(shí)間:2017-02-13 14:47

安全是智能卡的核心,而算法是安全的基礎(chǔ)。


  國密算法由國家密碼局發(fā)布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;國際算法由美國的安全局發(fā)布,是現(xiàn)今最通用的商用算法。今天小鈔就以分組密碼算法(DES和SM4)、公鑰密碼算法(RSA和SM2)、摘要算法(SM3)為例,和大家談?wù)剣H算法和國密算法的區(qū)別。


  分組密碼算法——國際DES、國產(chǎn)SM4


  分組密碼就是將明文數(shù)據(jù)按固定長(zhǎng)度進(jìn)行分組,然后在同一密鑰控制下逐組進(jìn)行加密,從而將各個(gè)明文分組變換成一個(gè)等長(zhǎng)的密文分組的密碼。其中二進(jìn)制明文分組的長(zhǎng)度稱為該分組密碼的分組規(guī)模。


  分組密碼的實(shí)現(xiàn)原則如下:


  (1)必須實(shí)現(xiàn)起來比較簡(jiǎn)單,知道密鑰時(shí)加密和脫密都十分容易,適合硬件和(或)軟件實(shí)現(xiàn).

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


  分組密碼的設(shè)計(jì)基本遵循混淆原則和擴(kuò)散原則。


  混淆原則就是將密文、明文、密鑰三者之間的統(tǒng)計(jì)關(guān)系和代數(shù)關(guān)系變得盡可能復(fù)雜,使得敵手即使獲得了密文和明文,也無法求出密鑰的任何信息;即使獲得了密文和明文的統(tǒng)計(jì)規(guī)律,也無法求出明文的任何信息。


  擴(kuò)散原則就是應(yīng)將明文的統(tǒng)計(jì)規(guī)律和結(jié)構(gòu)規(guī)律散射到相當(dāng)長(zhǎng)的一段統(tǒng)計(jì)中去。也就是說讓明文中的每一位影響密文中的盡可能多的位,或者說讓密文中的每一位都受到明文中的盡可能多位的影響。


  DES算法


  DES算法是在美國NSA(國家安全局)資助下由IBM公司開發(fā)的密碼算法,其初衷是為政府非機(jī)密的敏感信息提供較強(qiáng)的加密保護(hù)。它是美國政府擔(dān)保的第一種加密算法,并在1977年被正式作為美國聯(lián)邦信息處理標(biāo)準(zhǔn)。DES主要提供非軍事性質(zhì)的聯(lián)邦政府機(jī)構(gòu)和私營部門使用,并迅速成為名聲最大,使用最廣的商用密碼算法。


  DES算法的整體結(jié)構(gòu)圖:

0.png

2006年我國公布了無限局域網(wǎng)產(chǎn)品使用的SM4密碼算法。這是我國第一次公布自己的商用密碼算法。


  SM4算法的整體結(jié)構(gòu)圖:

1.png2.png


國際的DES算法和國產(chǎn)的SM4算法的目的都是為了加密保護(hù)靜態(tài)儲(chǔ)存和傳輸信道中的數(shù)據(jù),主要特性如下:


3.png

從算法上看,國產(chǎn)SM4算法在計(jì)算過程中增加非線性變換,理論上能大大提高其算法的安全性,并且由專業(yè)機(jī)構(gòu)進(jìn)行了密碼分析,民間也對(duì)21輪SM4進(jìn)行了差分密碼分析,結(jié)論均為安全性較高。


  公鑰密碼算法——國際RSA、國產(chǎn)SM2


  公鑰密碼學(xué)與其他密碼學(xué)完全不同, 使用這種方法的加密系統(tǒng),不僅公開加密算法本身,也公開了加密用的密鑰。


  公鑰密碼系統(tǒng)與只使用一個(gè)密鑰的對(duì)稱傳統(tǒng)密碼不同,算法是基于數(shù)學(xué)函數(shù)而不是基于替換和置換。公鑰密碼學(xué)是非對(duì)稱的,它使用兩個(gè)獨(dú)立的密鑰,即密鑰分為公鑰和私鑰,因此稱雙密鑰體制。雙鑰體制的公鑰可以公開,因此稱為公鑰算法。


  公鑰算法的出現(xiàn),給密碼的發(fā)展開辟了新的方向。公鑰算法雖然已經(jīng)歷了20多年的發(fā)展,但仍具有強(qiáng)勁的發(fā)展勢(shì)頭,在鑒別系統(tǒng)和密鑰交換等安全技術(shù)領(lǐng)域起著關(guān)鍵的作用


  公鑰算法的加密與解密由不同的密鑰完成,并且從加密密鑰得到解密密鑰在計(jì)算上是不可行的。通常,公鑰算法的兩個(gè)密鑰中任何一個(gè)都可以作為加密而另一個(gè)用作解密,但不是所有的公鑰算法都是如此。

4.png

5.png

RSA算法


  RSA算法由Rivest、Shamir、Adleman于1978年首次發(fā)表,是迄今為止最容易理解和實(shí)現(xiàn)的公鑰算法,已經(jīng)受住了多年深入的攻擊,其理論基礎(chǔ)是一種特殊的可逆模冪運(yùn)算,其安全性基于分解大整數(shù)的困難性。


  RSA算法既可用于加密,又可用于數(shù)字簽名,已得到廣泛采用,并被許多標(biāo)準(zhǔn)化組織(如ISO、ITU、IETF和SWIFT等)接納。目前許多國家標(biāo)準(zhǔn)仍采用RSA算法或它的變型。


  RSA算法的實(shí)現(xiàn)如下:


  (1) 實(shí)現(xiàn)者尋找出兩個(gè)大素?cái)?shù)p和q

  (2) 實(shí)現(xiàn)者計(jì)算出n=pq 和φ(n)=(p-1)(q-1)

  (3) 實(shí)現(xiàn)者選擇一個(gè)隨機(jī)數(shù)e (0<e<></e<>

  (4) 實(shí)現(xiàn)者使用輾轉(zhuǎn)相除法計(jì)算d=e-1(modφ(n))

  (5) 實(shí)現(xiàn)者在目錄中公開n和e作為公鑰


  密碼分析者攻擊RSA體制的關(guān)鍵點(diǎn)在于如何分解n。若分解成功使n=pq,則可以算出φ(n)=(p-1)(q-1),然后由公開的e,解出秘密的d。所以說RSA算法的安全性基于分解大整數(shù)的困難性。


  SM2算法


  SM2算法由國家密碼管理局于2010年12月17日發(fā)布,全稱為橢圓曲線算法。橢圓曲線并不是橢圓,之所以稱為橢圓曲線是因?yàn)樗鼈兪怯萌畏匠虂肀硎镜模⑶以摲匠膛c計(jì)算橢圓周長(zhǎng)的方程相似。一般而言,橢圓曲線的三次方程形為:


  y2+axy+by=x3+cx2+dx+e [其中a,b,c,d和e是滿足某些條件的實(shí)數(shù),因?yàn)榉匠讨械闹笖?shù)最高是3,所以我們稱之為三次方程,或者說方程的次數(shù)為3]


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

  SM2算法實(shí)現(xiàn)如下:

  (1) 選擇Ep(a,b)的元素G,使得G的階n是一個(gè)大素?cái)?shù)

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

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

  加密M:先把消息M變換成為Ep(a,b)中一個(gè)點(diǎn)Pm,然后,選擇隨機(jī)數(shù)r,計(jì)算密文Cm={rG,Pm+rP),如果r使得rG或者rP為O,則要重新選擇r。

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


  SM2算法的安全性基于一個(gè)數(shù)學(xué)難題”離散對(duì)數(shù)問題ECDLP”實(shí)現(xiàn),即考慮等式Q=KP,其中Q、P屬于Ep(a,b),K<p,則:1) p="" 已知q和p,計(jì)算k,是困難的。<="">


  現(xiàn)今對(duì)橢圓曲線研究的時(shí)間短,經(jīng)過許多優(yōu)秀的數(shù)學(xué)家的努力,至今一直沒有找到亞指數(shù)級(jí)算法。正是由于目前所知求解ECDLP的最好方法是指數(shù)級(jí)的,這使得我們選用SM2算法作加解密及數(shù)字簽名時(shí),所要求的密鑰長(zhǎng)度比RSA要短得多。


  國際的RSA算法和國產(chǎn)的SM2算法的主要特性對(duì)比如下:

6.png

摘要算法——國產(chǎn)SM3


  摘要函數(shù)在密碼學(xué)中具有重要的地位,被廣泛應(yīng)用在數(shù)字簽名,消息認(rèn)證,數(shù)據(jù)完整性檢測(cè)等領(lǐng)域。摘要函數(shù)通常被認(rèn)為需要滿足三個(gè)基本特性:碰撞穩(wěn)固性,原根穩(wěn)固性和第二原根穩(wěn)固性。


  2005年,Wang等人給出了MD5算法和SHA-1算法的碰撞攻擊方法,現(xiàn)今被廣泛應(yīng)用的MD5算法和SHA-1算法不再是安全的算法。


  SM3密碼摘要算法是中國國家密碼管理局2010年公布的中國商用密碼雜湊算法標(biāo)準(zhǔn)。SM3算法適用于商用密碼應(yīng)用中的數(shù)字簽名和驗(yàn)證,是在SHA-256基礎(chǔ)上改進(jìn)實(shí)現(xiàn)的一種算法。SM3算法采用Merkle-Damgard結(jié)構(gòu),消息分組長(zhǎng)度為512位,摘要值長(zhǎng)度為256位。


  SM3算法的壓縮函數(shù)與SHA-256的壓縮函數(shù)具有相似的結(jié)構(gòu),但是SM3算法的設(shè)計(jì)更加復(fù)雜,比如壓縮函數(shù)的每一輪都使用2個(gè)消息字。


  現(xiàn)今為止,SM3算法的安全性相對(duì)較高。


(來源:中鈔研究院)

文章分類: 專業(yè)知識(shí)
分享到:
亚洲精品有码中文字幕在线观看| 97人摸人人澡人人人超碰| 国产欧美一区二区色综合| 亚洲国产精品久久精品成人| 国产又粗又黄又爽又硬的| 成人午夜激情免费在线| 国产精品尹人香蕉综合网| 五月婷婷综合激情啪啪| 国产精品久久女同磨豆腐| 亚洲黄色在线观看免费高清| 91精品国产品国语在线不卡| 五月婷婷六月丁香狠狠| 久草国产精品一区二区| 欧美成人久久久免费播放| 99日韩在线视频精品免费| 亚洲日本韩国一区二区三区| 午夜国产福利在线播放| 国产超碰在线观看免费| 中日韩免费一区二区三区| 亚洲日本韩国一区二区三区| 精品欧美一区二区三久久 | 国产女同精品一区二区| 视频一区中文字幕日韩| 91国自产精品中文字幕亚洲| 丝袜人妻夜夜爽一区二区三区 | 麻豆91成人国产在线观看| 91久久国产福利自产拍| 国产欧美日韩精品自拍| 国产又粗又硬又大又爽的视频| 在线观看免费无遮挡大尺度视频| 国产精品成人免费精品自在线观看| 亚洲一区二区三区一区| 国产白丝粉嫩av在线免费观看 | 自拍偷拍福利视频在线观看| 久久99精品国产麻豆婷婷洗澡| 极品少妇嫩草视频在线观看| 麻豆精品在线一区二区三区| 日韩精品在线观看完整版| 欧美日韩国产综合特黄| 我的性感妹妹在线观看| 国产午夜精品在线免费看|