(十一)国产密码算法
參考推薦:
國密SM1\ SM2\ SM3\ SM4\ SSF33算法和國際RSA算法的對應關系_小明做IT的博客-CSDN博客_ssf33算法
國密算法SM1/SM2/SM3/SM4_fengwang0301的博客-CSDN博客_sm2/sm3/sm4
國產密碼算法
國產密碼算法是指由國家密碼研究相關機構自主研發,具有相關知識產權的商用密碼算法。為了保障商用密碼安全,國家商用密碼管理辦公室制定了一系列密碼標準,包括SSF33、SM1分組密碼算法(SCB2)、SM2橢圓曲線公鑰密碼算法、SM3密碼雜湊算法、SM4分組密碼算法、SM7分組密碼算法、SM9標識密碼算法、祖沖之密碼算法等。
1、SM1分組密碼算法
SM1是由國家密碼管理局編制的一種商用密碼分組標準對稱算法,分組長度和密鑰長度均為128位,算法的安全保密強度及相關軟硬件實現性能與AES算法相當,目前該算法尚未公開,僅以IP核的形式存在于芯片中,調用該算法時,需要通過加密芯片的接口進行調用。
2、*SM2公鑰密碼算法
SM2算法是國家密碼據于2010年12月17日發布的國密標準橢圓曲線加密算法,是一種基于ECC算法的非對稱加密算法,SM2橢圓曲線公鑰密碼算法是我國自主設計的公鑰密碼算法,包括SM2-1橢圓曲線數字簽名算法,SM2-2橢圓曲線密鑰交換協議,SM2-3橢圓曲線公鑰加密算法,分別用于實現數字簽名密鑰協商和數據加密等功能。SM2算法與RSA算法不同的是,SM2算法是基于橢圓曲線上點群離散對數難題,對于一般橢圓曲線的離散對數問題,目前只存在指數級計算復雜度的求解方法。與大數分解問題及有限域上離散對數問題相比,橢圓曲線離散對數問題的求解難度要大得多。因此,在相同安全程度要求下,橢圓曲線密碼較其他公鑰密碼所需的秘鑰規模要小得多。相對于RSA算法,256位的SM2密碼強度已經比2048位的RSA密碼強度要高。其加密強度為256位,密鑰長度短,安全程度高,可用于數字簽名、密鑰交換、公鑰加密。
3、*SM3密碼雜湊算法
SM3是我國采用的一種密碼散列函數標準,由國家密碼管理局于2010年12月17日發布。相關標準為“GM/T 0004-2012 《SM3密碼雜湊算法》”。據國家密碼管理局表示,其安全性及效率與SHA-256相當,也叫密碼雜湊算法,屬于哈希(摘要)算法的一種,功能與MD5,SHA-1相同。對長度小于264比特的消息m,經過填充、壓縮,生成256位雜湊值,和SM2算法一起被公布,該算法位不可逆的算法。在商用密碼體系中,SM3主要用于數字簽名及驗證、消息認證碼生成及驗證、隨機數生成等,可滿足多種密碼應用的安全需求,算法已公開。
具體過程:SM3對長度為小于264 比特的消息m, SM3雜湊算法經過填充和迭代壓縮,生成雜湊值,雜湊值長度為256比特。
- 消息填充:512*K+448
- 迭代壓縮:消息擴展->壓縮函數->雜湊值
4、*SM4分組密碼算法:
SM4是國家密碼管理局發布的分組密碼算法,于2012年3月正式公布。與DES和AES算法類似,SM4是一種分組密碼算法。其分組長度為128bit,密鑰長度也為128bit。SM4算法加/解密算法是對合運算,只是使用輪密鑰相反,其中解密輪密鑰是加密輪密鑰的逆序。加密算法與密鑰擴展算法均采用32輪非線性迭代結構(Feistel),以字(32位)為單位進行加密運算,每一次迭代運算均為一輪變換函數F。目前主要用于無線局域網產品。
注:明文、密文、密鑰128位
- 數據處理單位為:字節(8位)、字(32位)
- 非對稱的Feistel結構:輪函數->字合成變換T:S盒->非線性變換τ->字線性變換L
5、SM7對稱密碼
SM7是一種分組密碼算法,分組長度為128比特,密鑰長度為128比特。SM7適用于非接IC卡應用包括身份識別類應用(門禁卡、工作證、參賽證),票務類應用(大型賽事門票、展會門票),支付與通卡類應用(積分消費卡、校園一卡通、企業一卡通、公交一卡通)。SM7算法目前沒有公開發布。
6、*SM9標識密碼算法:
SM9是標識密碼算法,與SM2類似,包含四個部分:總則,數字簽名算法,密鑰交換協議以及密鑰封裝機制和公鑰加密算法。在這些算法中使用了橢圓曲線上的對這一個工具,不同于傳統意義上的SM2算法,可以實現基于身份的密碼體制,也就是公鑰與用戶的身份信息即標識相關,從而比傳統意義上的公鑰密碼體制有許多優點,省去了證書管理等。SM9可支持實現公鑰加密、密鑰交換、數字簽名等安全功能。
7、*ZUC密碼算法:
ZUC算法,又稱祖沖之算法,是3GPP(3rdGenerationPartnershipProject)機密性算法EEA3和完整性算法EIA3的核心,是由中國自主設計的加密算法。2009年5月ZUC算法獲得3GPP安全算法組SA立項,正式申請參加3GPPLTE第三套機密性和完整性算法標準的競選工作。歷時兩年多的時間,ZUC算法經過包括3GPPSAGE內部評估,兩個邀請付費的學術團體的外部評估以及公開評估等在內的3個階段的安全評估工作后,于2011年9月正式被3GPPSA全會通過,成為3GPPLTE第三套加密標準核心算法。
ZUC算法是中國第一個成為國際密碼標準的密碼算法。其標準化的成功,是中國在商用密碼算法領域取得的一次重大突破,體現了中國商用密碼應用的開放性和商用密碼設計的高能力,其必將增大中國在國際通信安全應用領域的影響力,且今后無論是對中國在國際商用密碼標準化方面的工作還是商用密碼的密碼設計來說都具有深遠的影響。
祖沖之算法集是由我國學者自主設計的加密和完整性算法,包括祖沖之算法、加密算法128-EEA3和完整性算法128-EIA3,已經被國際組織3GPP推薦為4G無線通信的第三套國際加密和完整性標準的候選算法。ZUC 算法本質上是一種非線性序列產生器。由此,在種子密鑰的作用下,可以產生足夠長的安全密鑰序列。把與密鑰序列曉文數據模 2 相加,便完成了數據加密。同樣,把密鑰序列與密文數據模 2 相加,便完成了數據解密。
小結
目前,SM2、3、4、9均已公開,1、7未公開。
由國家密碼管理部門制訂規范,不存在不可公開的密碼,保證無國外可利用的后門。目前認為在國內被非常廣泛使用的RSA 1024位算法不再安全,國家密碼管理局下達了通知:自2011年7月1日起,投入運行并使用公鑰密碼的信息系統,應使用SM2橢圓曲線密碼算法。根據要求,安全產品(如密碼機)采用的加密算法均應為國密算法,搞好這幾個算法,可以去密碼售前、密碼測評之類的工作。
學習國產密碼算法必備:國家密碼管理局發布的文檔非常詳細,附帶示例;具體下載鏈接:
SM2:
國家密碼管理局關于發布《SM2橢圓曲線公鑰密碼算法》公告(國密局公告第21號)_國家密碼管理局
SM3:
國家密碼管理局關于發布《SM3密碼雜湊算法》公告(國密局公告第22號)_國家密碼管理局
SM4:
?http://www.sca.gov.cn/sca/c100061/201611/1002423/files/330480f731f64e1ea75138211ea0dc27.pdf
1、分組密碼算法對比——國際DES、國產SM4
分組密碼就是將明文數據按固定長度進行分組,然后在同一密鑰控制下逐組進行加密,從而將各個明文分組變換成一個等長的密文分組的密碼。其中二進制明文分組的長度稱為該分組密碼的分組規模。
分組密碼的實現原則如下:
(1)必須實現起來比較簡單,知道密鑰時加密和脫密都十分容易,適合硬件和(或)軟件實現.
(2)加脫密速度和所消耗的資源和成本較低,能滿足具體應用范圍的需要。
國際的DES算法和國產的SM4算法的目的都是為了加密保護靜態儲存和傳輸信道中的數據,主要特性如下:
注:圖片來源網絡!
從算法上看,國產SM4算法在計算過程中增加非線性變換,理論上能大大提高其算法的安全性,并且由專業機構進行了密碼分析,民間也對21輪SM4進行了差分密碼分析,結論均為安全性較高。
2、RSA、SM2算法主要特性對比:
SM2性能更優更安全:密碼復雜度高、處理速度快、機器性能消耗更小。SM2算法與RSA算法一樣,同屬于非對稱算法體系,但與RSA算法不同的是RSA算法是基于大整數分解數學難題,SM2算法是基于橢圓曲線上點群離散對數難題。
相對于RSA算法,SM2算法具有以下優點:
安全性高:192位的SM2密碼強度已經比RSA 2048位密碼強度要高。
存儲空間小:SM2算法密碼使用192-256位,RSA算法密碼需要使用2048-4096位
簽名速度快:SM2在私鑰運算上,速度遠比RSA快得多。
思考:
1、現在,很多行業在推密碼國產化,密碼國產化的好處于壞處是什么?
2、國產密碼改造是否適用于任何行業?
注:
如有錯誤、侵權,請聯系筆者更改、刪除!!!
總結
以上是生活随笔為你收集整理的(十一)国产密码算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1183):指令v-cloak
- 下一篇: 思科CCIE证书电子档下载教程