1. 程式人生 > >國密演算法介紹

國密演算法介紹

國密即國家密碼局認定的國產密碼演算法,即商用密碼。商用密碼,是指能夠實現商用密碼演算法的加密、解密和認證等功能的技術。(包括密碼演算法程式設計技術和密碼演算法晶片、加密卡等的實現技術)。了保障在金融、醫療等領域保障資訊傳輸安全,國家商用密碼管理辦公室制定了一系列密碼標準,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖沖之密碼演算法(ZUC)等。其中SSF33SM1SM4SM7是對稱演算法,SM2SM9是非對稱演算法,SM3是雜湊演算法。

SM1 演算法是分組對稱演算法,分組長度為128位,金鑰長度都為 128 位元,演算法安全保密強度及相關軟硬體實現效能與 AES 相當,演算法不公開,僅以

 IP 核的形式存在於晶片中。採用該演算法已經研製了系列晶片、智慧 IC 卡、智慧密碼鑰匙、加密卡、加機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政通、警務通等重要領域)。

SM2演算法是一種先進安全的公鑰密碼演算法,在我們國家商用密碼體系中被用來替換RSA演算法。SM2演算法就是ECC橢圓曲線密碼機制,但在簽名、金鑰交換方面不同於ECDSAECDH等國際標準,而是採取了更為安全的機制。另外,SM2推薦了一條256位的曲線作為標準曲線。

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

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

SM7演算法是一種分組密碼演算法,分組長度為 128 位元,金鑰長度為 128 位元。SM7的演算法文字目前沒有公開發布。

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

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