SM4.0

SM4.0

SM4.0(原名SMS4.0)是中華人民共和國政府採用的一種分組密碼標準,由國家密碼管理局於2012年3月21日發布。相關標準為“GM/T 0002-2012《SM4分組密碼算法》(原SMS4分組密碼算法)”。

介紹

SM4.0(原名SMS4.0)是中華人民共和國政府採用的一種分組密碼標準,由國家密碼管理局於2012年3月21日發布。相關標準為“GM/T 0002-2012《SM4分組密碼算法》(原SMS4分組密碼算法)”。

在商用密碼體系中,SM4主要用於數據加密,其算法公開,分組長度與密鑰長度均為128bit,加密算法與密鑰擴展算法都採用32輪非線性疊代結構,S盒為固定的8比特輸入8比特輸出。

SM4.0中的指令長度被提升到大於64K(即64×1024)的水平,這是SM 3.0規格(渲染指令長度允許大於512)的128倍。

相關概念

在密碼學中, 分組加密(英語: Block cipher),又稱 分塊加密塊密碼,是一種對稱密鑰算法。它將明文分成多個等長的模組(block),使用確定的算法和對稱密鑰對每組分別加密解密。分組加密是極其重要的加密協定組成,其中典型的如DES和AES作為美國政府核定的標準加密算法,套用領域從電子郵件加密到銀行交易轉帳,非常廣泛。

國密即國家密碼局認定的國產密碼算法。主要有SM1,SM2,SM3,SM4。密鑰長度和分組長度均為128位。

SM1為對稱加密。其加密強度與AES相當。該算法不公開,調用該算法時,需要通過加密晶片的接口進行調用。

SM2為非對稱加密,基於ECC。該算法已公開。由於該算法基於ECC,故其簽名速度與秘鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快於RSA。

SM3訊息摘要。可以用MD5作為對比理解。該算法已公開。校驗結果為256位。

SM4無線區域網路標準的分組數據算法。對稱加密,密鑰長度和分組長度均為128位。

原始碼

C/C++

Python

SM4的Python實現

Java

SM4的Java實現

相關詞條

相關搜尋

熱門詞條

聯絡我們