【雜談】國密2 vs 國密4,關公戰秦瓊

項目最近有人反映過來,說那誰誰誰說現在不要用國密2,過時了,要用國密4,反正就是看不上國密2之類云云。

國密1、國密2、國密3、國密4,當中的1,2,3,4並不是安全等級,可能只是個先後順序。

  • 國密1是對稱加密算法,類比我們常用的AEC。

  • 國密2採用的是橢圓曲線,可以用於簽名,協商密鑰。很多證書的簽名就是採用ECDSA,互聯網上常用的協商密鑰機制位RAS,橢圓算法的ECDH於此類似。EC比RAS需要的計算能力和存儲小(需要的性能小,不等於安全性小),適合於非計算機的場景。

  • SM3採用雜湊算法,用於digest的計算,類似SHA的摘要計算

  • SM4 是無線局域網標準的分組數據算法,是一種對稱算法。

比特幣的區塊鏈採用的也是橢圓曲線,具體的曲線和國密2不同,使用brainpool 384,也就是384比特,而SM2的是256比特。當然,不同算法之間比較位數是沒有意義的。既然金融領域的分佈式記賬式採用橢圓曲線,我們可以認爲,截至目前,在不使用量子計算機的前提下,橢圓曲線是安全。

不同算法,應用的場景不同,無法將驗證簽名和協商密鑰的算法,和用於信息加密的算法進行安全比較,關公戰秦瓊,太難爲情了。

上面只是討論算法的安全,還有我們如何使用。例如密鑰或者密鑰對是一次性的,還是重複使用的。安全是一門系統科學。而密碼學是偉大數學家的饋贈,是我等數學渣渣所膜拜。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章