whaosoftの安全~國密算法

最近在做單片機中的國密算法測試, 基于國產(chǎn)單片機, 測非對稱加密和對稱加密 , 所以給自己一個記錄哦

一般來說加密算法有摘要算法、對稱加密算法、非對稱加密算法這三種類型,常見的加密算法及分類如下表:

密碼分類國產(chǎn)商用密碼國際商用密碼?-------

摘要算法SM3MD5、SHA-1、SHA-2、MAC

對稱加密算法SM1(雜湊 HASH)、SM4、SM7、ZUC(祖沖之算法)、SSF446DES、3DES、AES、RC5、RC6、RC4

非對稱加密算法SM2(橢圓曲線)、SM9(標(biāo)識密碼算法,IBC) 、RSA、Rabin、DH、DSA、ECC

密碼算法?-------

分組密碼:SM4 (CBC/CTR/GCM), AES (CBC/CTR/GCM)

序列密碼:ZUC/ZUC-256, ChaCha20, RC4

哈希函數(shù): SM3, SHA-224/256/384/512, SHA-1, MD5

公鑰密碼:SM2加密/簽名, SM9加密/簽名

MAC算法:HMAC, GHASH

密鑰導(dǎo)出函數(shù):PBKDF2、HKDF

隨機數(shù)生成器:Intel RDRAND, HASH_DRBG (NIST.SP.800-90A)

SM1、SM2、SM3、SM4、SM9? -------

SM1、SM2、SM3、SM4、SM9是中國國家密碼管理局發(fā)布的四個密碼算法標(biāo)準(zhǔn)。SM1是一種對稱密碼算法,SM2是一種非對稱密碼算法,SM3是一種哈希函數(shù),SM4是一種分組對稱密碼算法,SM9是一種標(biāo)識密碼算法。

SM1算法采用分組加密模式,將明文分成多個固定長度的數(shù)據(jù)塊,每個數(shù)據(jù)塊分別進行加密操作。SM1的加密過程中包括了置換、代換、線性變換等步驟,從而保證了加密的強度和安全性。

SM2算法是一種基于橢圓曲線密碼體制的公鑰密碼算法,可以用于數(shù)字簽名、密鑰協(xié)商、加密和解密等操作。SM2的安全性基于離散對數(shù)問題的難度,通過橢圓曲線的運算實現(xiàn)加密和解密操作。

SM3算法是一種哈希函數(shù),用于對任意長度的消息進行摘要操作,可以生成一個固定長度的消息摘要。SM3算法采用了置換、代換、移位、加法等操作,可以保證摘要的強度和唯一性。

SM4算法是一種分組對稱密碼算法,采用Feistel結(jié)構(gòu),將明文分成多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別進行加密操作。SM4算法采用了S盒、置換、線性變換等操作,從而保證了加密的強度和安全性。

SM9算法是一種基于標(biāo)識的密碼算法(簡稱“IBC”),由數(shù)字簽名算法、標(biāo)識加密算法、密鑰協(xié)商協(xié)議三部分組成,相比于傳統(tǒng)密碼體系,SM9密碼系統(tǒng)最大的優(yōu)勢就是無需證書、易于使用、易于管理、總體擁有成本低。SM9算法的應(yīng)用十分廣泛,可以實現(xiàn)各類數(shù)據(jù)的加密、身份認(rèn)證等安全服務(wù);由于它的易用性和高安全性,非常適合海量設(shè)備間的安全通信,在保障移動互聯(lián)網(wǎng)、大數(shù)據(jù)、工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域的數(shù)據(jù)安全有著得天獨厚的優(yōu)勢。

證書和數(shù)字信封?-------

數(shù)字證書:X.509證書, CRL證書注銷列表, CSR (PKCS #10) 證書簽名請求

私鑰加密:基于SM4/SM3口令加密的PEM格式私鑰 (PKCS #8)

數(shù)字信封:SM2密碼消息 (GM/T 0010-2012)

單片機上算法應(yīng)用 -------

另外支持單片機的SM2有人搞嗎?

還有國外單片機與國產(chǎn)單片機上測試有搞過的嗎 stm32 arterytek? /??gigadevice

----

國家商用密碼管理辦公室制定了一系列密碼標(biāo)準(zhǔn),包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖沖之密碼算法(ZUC)那等等。(SM是商密的意思)

其中SM1、SM4、SM7、祖沖之密碼(ZUC)是對稱算法;SM2、SM9是非對稱算法;SM3是哈希算法。目前,這些算法已廣泛應(yīng)用于各個領(lǐng)域中,期待有一天會有采用國密算法的區(qū)塊鏈應(yīng)用出現(xiàn)。

其中SM1、SM7算法不公開,調(diào)用該算法時,需要通過加密芯片的接口進行調(diào)用;

-----

X.509?是密碼學(xué)里公鑰證書的格式標(biāo)準(zhǔn)。

sm2做簽名驗簽等; -公鑰加密私鑰解密 ,私鑰簽名公鑰驗簽

sm3做校驗數(shù)據(jù)完整性

sm4做數(shù)據(jù)加密

其他待研究?-------

hmac / sm7??

-----

證書鏈驗證過程

證書鏈驗證過程通常涉及多個步驟,主要目的是確認(rèn)證書的完整性和可信度。這個過程從客戶端開始,逐步驗證證書鏈中的每個證書。以下是詳細(xì)信息:123

客戶端首先驗證服務(wù)器證書的簽名。這涉及使用服務(wù)器證書中包含的CA的公鑰來解密證書上的數(shù)字簽名,并驗證簽名使用的哈希算法是否與CA證書中聲明的算法一致。如果簽名驗證成功,則表明服務(wù)器證書是可信的。

驗證通過后,客戶端會繼續(xù)驗證證書鏈中的下一個環(huán)節(jié),即從服務(wù)器證書中獲取下一個CA的證書,然后重復(fù)相同的驗證過程。

客戶端還會驗證根證書,即證書鏈的起點。這通常涉及在本地緩存一些全球公認(rèn)的根證書,并使用這些根證書來驗證服務(wù)器證書中提到的CA的簽名。如果根證書驗證成功,則整個證書鏈被認(rèn)為有效。

這個過程確保了證書的來源是可驗證和可信的。如果所有驗證步驟都成功完成,則表明服務(wù)器是可信的。

-----

gitee和github上的庫?sm_on_mcu?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容