1. 程式人生 > >GMSM —— 國密簡介、概念(SM1-9)、ZUC祖沖之演算法

GMSM —— 國密簡介、概念(SM1-9)、ZUC祖沖之演算法

國密演算法介紹

國密演算法是國家商用密碼管理辦公室指定的一系列的密碼標準,即已經被國家密碼局認定的國產密碼演算法,又稱商用密碼(是指能夠實現商用密碼演算法的加密,解密和認證等功能的技術),保障在金融,醫療等領域的資訊傳輸安全。

國密演算法可分為對稱演算法和非對稱演算法,對稱演算法包括了SM1,SM4,SM7,祖沖之密碼(zuc),非對稱演算法包括SM2,SM9。還有SM3是雜湊演算法,SM1和SM7對外是不公開的,想要呼叫的話,需要通過加密晶片的接口才可以。

SM1對稱密碼

SM1 演算法是分組對稱演算法,分組長度為128位,金鑰長度都為 128 位元,演算法安全保密強度及相關軟硬體實現效能與 AES 相當,演算法不公開,僅以 IP 核的形式存在於晶片中。採用該演算法已經研製了系列晶片、智慧 IC 卡、智慧密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政務通、警務通等重要領域)。

SM2橢圓曲線公鑰密碼演算法

SM2為非對稱加密,基於ECC。該演算法已公開。由於該演算法基於ECC,故其簽名速度與祕鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快於RSA。它是一種先進安全的公鑰密碼演算法,在我們國家商用密碼體系中被用來替換RSA演算法。SM2演算法就是ECC橢圓曲線密碼機制,但在簽名、金鑰交換方面不同於ECDSA、ECDH等國際標準,而是採取了更為安全的機制。另外,SM2推薦了一條256位的曲線作為標準曲線。

SM3雜湊演算法

SM3是一種雜湊演算法,其演算法本質是給資料加一個固定的長度的指紋,這個固定指紋長度就是256bit,用於密碼應用中的數字簽名和驗證,訊息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求。可以在SM2,SM9標準中使用

SM4對稱演算法

SM4演算法是一種分組密碼演算法,用於無限區域網產品,該演算法的分組長度為128bit,加密演算法與金鑰擴充套件演算法都採用32輪非線性迭代結構。解密演算法與加密演算法的結構相同,只是輪金鑰的使用順序相反,解密輪金鑰是加密輪金鑰的逆序。

SM7對稱密碼

SM7演算法是一種分組密碼演算法,分組長度為128位元,金鑰長度為128位元。SM7適用於非接觸式IC卡,應用包括身份識別類應用(門禁卡、工作證、參賽證),票務類應用(大型賽事門票、展會門票),支付與通卡類應用(積分消費卡、校園一卡通、企業一卡通等),其跟SM1一樣,是不被公開的,想要使用,需要新增加密晶片才能呼叫。

SM9標識密碼演算法

為了降低公開金鑰系統中金鑰和證書管理的複雜性,以色列科學家、RSA演算法發明人之一Adi Shamir在1984年提出了標識密碼(Identity-Based Cryptography)的理念。標識密碼將使用者的標識(如郵件地址、手機號碼、QQ號碼等)作為公鑰,省略了交換數字證書和公鑰過程,使得安全系統變得易於部署和管理,非常適合端對端離線安全通訊、雲端資料加密、基於屬性加密、基於策略加密的各種場合。2008年標識密碼演算法正式獲得國家密碼管理局頒發的商密演算法型號:SM9(商密九號演算法),為我國標識密碼技術的應用奠定了堅實的基礎。

SM9演算法不需要申請數字證書,適用於網際網路應用的各種新興應用的安全保障。如基於雲技術的密碼服務、電子郵件安全、智慧終端保護、物聯網安全、雲端儲存安全等等。這些安全應用可採用手機號碼或郵件地址作為公鑰,實現資料加密、身份認證、通話加密、通道加密等安全應用,並具有使用方便,易於部署的特點,從而開啟了普及密碼演算法的大門。

與SM2類似,包含四個部分:總則,數字簽名演算法,金鑰交換協議以及金鑰封裝機制和公鑰加密演算法。在這些演算法中使用了橢圓曲線上的對這一個工具,不同於傳統意義上的SM2演算法,可以實現基於身份的密碼體質,也就是公鑰與使用者的身份資訊即標識相關,從而比傳統意義上的公鑰密碼體質有許多優點,省去了證書管理等。

現在越來越多行業要求使用國密演算法對資料做加解密保護,而國密演算法也不像以前那般神祕,整合有國密演算法的產品也越來越普遍。武漢瑞納捷是國密定點生產單位,其國密安全晶片RJMU401,硬體整合國密演算法SM1、SM2、SM3、SM4,也整合國際演算法3DES、AES、RSA2048、SHA256,晶片具有18KB 的RAM和550KB的FLASH,支援ISO7816和SPI介面。RJMU401已獲得國密密碼局頒發的國密型號資質。

 ZUC祖沖之演算法

祖沖之序列密碼演算法是中國自主研究的流密碼演算法,是運用於行動通訊4G網路中的國際標準密碼演算法,該演算法包括祖沖之演算法(ZUC)、加密演算法(128-EEA3)和完整性演算法(128-EIA3)三個部分。目前已有對ZUC演算法的優化實現,有專門針對128-EEA3和128-EIA3的硬體實現與優化。

密碼演算法作為國家戰略資源,比歷史上任何時候都顯得更為關鍵。在大資料和雲端計算的時代,關鍵資訊往往通過資料探勘技術在海量資料中獲得,所以每一個人的資訊保護都非常重要。