歡迎訪問電子工程網!   登錄 | 免費注冊 ]   

xiaoyuhzou1228的個人空間 //www.mnueb.icu/space-uid-139997.html [收藏] [復制] [分享] [RSS]

剑网3指尖江湖天策职业:博客

嵌入式設備中支持國密算法的方法

剑网3指尖江湖收费模式 www.mnueb.icu 熱度 8已有 569 次閱讀2019-5-27 13:38

如今國密系列算法的應用已不僅僅局限于金融和電信等領域,諸如車載設備,消費類電子設備等越來越多的產品開始要求有國密算法的支持。但是國密算法的開源資料和應用案例少之又少,如何快速高效的在自己的設備中加入國密算法已經成為眾多開發者必須要面對的難題。現在為大家準備了一個系列文章,介紹嵌入式設備中移植國密算法的方法。

簡單來說,分為三種方法

1、移植Miracl

2、移植Openssl

3、使用加密芯片

下面進行簡介:

1、移植Miracl

    MIRACL(Multiprecision Integer and Rational Arithmetic C/c++ Library)是一套數運算函數庫,用來設計與大數運算相關的密碼學之應用,包含了RSA 公開密碼學、AES、DSA,ECC,同時支持Diffie-Hellman密鑰交換和數字簽名功能。我們可以將這個庫移植到我們的工程中,并在此基礎上實現SM2,SM3,SM4的功能。

2、移植Openssl

Openssl同樣是支持加密算法的庫,相比于Miracl,Openssl應用更加廣泛,同時還支持常用的密鑰和證書封裝管理功能,支持SSL協議。

使用Openssl庫來使我們的嵌入式設備支持國密算法的功能,其開發步驟和使用Miracl庫的步驟類似,我們只需要將Openssl庫中密碼算法庫的部分移植到我們的程序中,利用其函數接口,開發出國密算法的功能即可。

3、算法支持芯片

我們都知道國密算法是國家密碼局制定標準的一系列算法,即SM1,SM2,SM3,SM4等。其中SM1是對稱加密算法是采用硬件實現的,假如我們的應用需求中必須使用SM1,那么通過上面兩種移植支持庫的形式就實現不了了,這種情況下我們就要使用專門進行加密運算的加密芯片了。使用加密芯片的開發流程要比上述兩種方式容易很多,我們只需要在硬件設計上添加加密芯片,即完成了開發,使用時也只需要發送固定格式的指令來調用加密芯片的功能即可。

以上三種方法各有優缺點,下一期詳細介紹三種實現方法。

 

發表評論 評論 (19 個評論)

回復 Mr.Wang 2019-5-29 16:58
國密算法和RSA等國際通用算法哪個更安全呢?軟件實現的話,是國密幾級的安全呢?有客戶曾經問過
回復 小屁孩123 2019-5-29 17:07
國密的更安全些,我記得是國密二級。
回復 tyl20100 2019-5-29 17:15
個人覺得國密算法比RSA等國際通用算法安全,因為國密算法是國家密碼局推出的,推廣上沒有RSA等國際通用范圍廣,很多人不是特別了解
回復 Test_wf 2019-5-29 19:53
現在是智能互聯網時代,那么可不可以將Miracl和Openssl庫的功能封裝在加密芯片中,讓加密芯片變成智能加密芯片,可以連接獨立的網絡,就像路由器一樣,然后可以根據需求進行庫的提取呢?
回復 wang0327 2019-5-29 20:37
車載設備安全防護,求一款國密系列算法的芯片,哪位大神推薦一款,不勝感激.....
回復 kessy1 2019-5-30 09:16
我司調試過一款芯片,LKT4305-GM,既滿足國密要求,也滿足安全性的要求
回復 QL87 2019-5-30 17:39
kessy1: 我司調試過一款芯片,LKT4305-GM,既滿足國密要求,也滿足安全性的要求
樓上說的LKT4305-GM芯片SM1,SM2,SM3,SM4算法都支持嗎?開發難度大嗎?
回復 xiaoyuhzou1228 2019-5-30 19:30
是的,4305支持SM1/2/3/4/7國密算法,有專門的技術人員一對一支持
回復 miniminimini 2019-5-31 10:27
在嵌入式設備中,哪種形式更安全?很期待樓主后面的詳細講解
回復 Mr.Wang 2019-5-31 13:25
SM2橢圓曲線公鑰密碼算法是我國自主設計的公鑰密碼算法,包括SM2-1橢圓曲線數字簽名算法,SM2-2橢圓曲線密鑰交換協議,SM2-3橢圓曲線公鑰加密算法,分別用于實現數字簽名密鑰協商和數據加密等功能。SM2算法與RSA算法不同的是,SM2算法是基于橢圓曲線上點群離散對數難題,相對于RSA算法,256位的SM2密碼強度已經比2048位的RSA密碼強度要高。
回復 小屁孩123 2019-5-31 16:15
SM1 為對稱加密算法,Miracl,Openssl移植庫無法實現,當想調用該算法時,那又如何挑選合適的加密運算的加密芯片?
回復 tyl20100 2019-5-31 17:00
感覺很深奧的文章,希望樓主能詳細的說明一下這三種方法的區別和優缺點
回復 xiaoyuhzou1228 2019-5-31 17:11
tyl20100: 感覺很深奧的文章,希望樓主能詳細的說明一下這三種方法的區別和優缺點
前2種是軟件實現,第3種是硬件實現安全性好,速度也更快
回復 Test_wf 2019-5-31 19:48
有誰知道支持國密算法的芯片有哪些呢?
回復 kessy1 2019-5-31 20:43
我們公司用過LKT4305這款產品,用于車載行業上,你可以咨詢一下
回復 wang0327 2019-6-2 21:44
能不能使各算法庫的函數接口齊聚在加密芯片上,需要的時候在云端調用不同的算法庫,這樣是不是更安全呢?
回復 xiaoyuhzou1228 2019-6-3 09:42
wang0327: 能不能使各算法庫的函數接口齊聚在加密芯片上,需要的時候在云端調用不同的算法庫,這樣是不是更安全呢?
當然這樣更安全,因為算法直接固化到了芯片中,但是要更具體的考慮一下,比如想要支持何種算法,芯片和云端的硬件設備接口如何選擇,這都需要結合具體的需求來尋找符合條件的芯片
回復 miniminimini 2019-6-3 16:50
mark,比較關注怎么移植和優缺點,加油更新啊樓主
回復 Mr.Wang 2019-6-3 17:01
不錯,看現在的情況國密算法應該會用的越來越多。期待后續的詳細介紹

facelist

您需要登錄后才可以評論 登錄 | 立即注冊
驗證問答 換一個 驗證碼 換一個

回頂部