国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

xiaoyuhzou1228的個人空間 http://m.4huy16.com/space-uid-139997.html [收藏] [復制] [RSS]

博客

嵌入式設備中支持國密算法的方法(三)——移植Openssl庫的步驟說明

熱度 10已有 1887 次閱讀2019-6-25 10:11

本篇文章是介紹國密算法在嵌入式設備中應用方法系列文章的第三篇,介紹移植openssl庫到嵌入式設備中的具體方法,當然最終的目的還是使我們的設備能支持國密算法。同上一篇文章中介紹的miracl密碼庫相比,openssl庫的應用更加廣泛,資料支持度更好,但是代碼體量要大于miracl庫。需要再次說明的是,同miracl庫一樣,openssl的庫也并不能直接提供國密算法的接口,我們是利用庫中相應的API接口(如橢圓曲線等)來構建自己的國密算法,下面我們具體介紹移植的步驟。

第一步 獲取庫

作為應用廣泛的開源密碼庫,可以輕松獲取源碼,https://www.openssl.org/source/ ,若是對openssl庫的使用不太熟悉,可以借助使用手冊來了解用法:

第二步 利用openssl構建SM算法庫

我們構建一個新的工程用以實現國密算法,由于linux下通過makefile編譯項目的方式不太直觀,我們使用windoes環境下VSstudio編譯環境來演示。

首先將openssl庫的源碼添加到工程文件夾的路徑下,其次要在代碼中增加文件包含,如下圖:

編譯正確之后,開始著手構建SM算法的源碼了,這一部分的代碼是基于國密算法的原理,利用openssl庫的接口構建的,這需要開發者了解國密算法原理。限于篇幅,本例中僅截取了作者實現的API,如下圖:

整體代碼完成之后,我們可以選擇生動態庫或靜態庫供調用。此外,若是開發者準備在linux環境下使用gcc或某一嵌入式設備指定的編譯工具來完成上述操作,則需要完成更多的工作,比較重要的是,開發者需要手動完成整個編譯過程,這需要清楚openssl代碼庫本身的文件依賴關系,這部分內容作者不做更多介紹。

第三步 將生成的庫添加到個人的設備代碼中

在上一步中,作者成功完成了國密SM2(對稱算法)的動態庫制作,如下圖:

為了便于介紹,作者整體的庫制作過程和測試過程都是在windows環境下完成的,此處生成的.dll動態庫也僅能在windows pc下運行。若是開發者在linux環境下完成上述操作,則應該生成.so為后綴的動態庫文件,才能成功的添加到嵌入式設備中運行。

這一步代碼的實現要根據各自嵌入式硬件設備的特點來實現,在這里不做過多介紹!

 


路過

雞蛋

鮮花

握手

雷人

發表評論 評論 (18 個評論)

回復 小屁孩123 2019-6-27 11:01
綜合樓主前兩篇文章的介紹,對移植Openssl庫的方法有了一定的了解,謝謝樓主的分享!
回復 tyl20100 2019-6-27 11:16
這幾篇文章講的很好,已經對國密算法加密有了初步了解,謝謝樓主。
回復 kessy1 2019-6-27 20:47
樓主有沒有關于國密算法使用介紹的相關文章呢?
回復 Test_wf 2019-6-27 21:24
國密算法SM2非對稱使用上跟RSA類似,SM1、SM4、SM7是對稱算法使用跟3DES類似,SM3是數據摘要,類似SHA-256,這些使用大多可以百度查到基本使用方式
回復 Mr.Wang 2019-6-27 21:41
國密算法的優勢是什么?是不是說安全等級高?
回復 xiaoyuhzou1228 2019-6-28 10:01
Mr.Wang: 國密算法的優勢是什么?是不是說安全等級高?
國密算法從SM1-SM4分別實現了對稱、非對稱、摘要等算法功能,適合應用于嵌入式物聯網等相關領域,完成身份認證和數據加解密等,安全性上要高于RSA、3DES、SHA
回復 miniminimini 2019-6-28 17:33
國密算法是我國自主研發創新的一套數據加密處理系列算法,廣泛應用于嵌入式物聯網等相關領域。前提是算法密鑰必須要保證安全性,因此將國密算法嵌入到硬件加密芯片中結合使用才能保證安全。
回復 tyl2010 2019-6-29 23:32
學到了,但是過程太復雜了,有沒有更為簡單的方法,可以快速的實現讓嵌入式設備支持國密算法呢?
回復 小屁孩123 2019-6-30 00:40
你可以上網查一下加密芯片,有些加密芯片是支持國密算法的,這樣會節省很多開發時間
回復 kessy1 2019-7-1 09:06
好象openssl庫各方面都比miracl密碼庫要更好用,那是不是說openssl庫就可以完全替代miracl密碼庫呢?
回復 Mr.Wang 2019-7-1 17:33
這個問題很專業了!需要專業人士回答下吧。
回復 miniminimini 2019-7-1 17:37
這個不能說誰更好,openssl和miracl兩個各自有各自的優點,不能單純的說這個比那個好。看你具體需求了,有可能這次兩相比較一個更適合,但是下回做的項目可能另一個比這個更適合,so,都一樣是工具,沒有誰更好一說,
回復 dg336699 2019-7-1 18:10
我知道一款國密芯片,代號LKT4305-GM,感興趣的上網搜一下.....
回復 wang0327 2019-7-1 18:37
有誰知道樓上說的那款LKT4305GM是哪家公司的,有沒有誰能詳細的介紹下這款國.密芯片?安全性能怎么樣?開發困難么?多謝了
回復 QL87 2019-7-2 18:31
國密算法是國家密碼局制定標準的、安全性超高的算法,想必支持國密算法的加密芯片應該是足夠安全有保障的。
回復 wang0327 2019-7-2 19:30
確定這方法行的通嗎?
回復 QL87 2019-7-2 22:28
太高深了,有生成國密的實例就更好了。
回復 Test_wf 2019-7-3 11:32
其實沒必要去研究國密算法,因為會投入人力和物力,不如直接找一款加密芯片,減少投入,安全又有保障,市面上已經有成熟的產品,足夠滿足你產品安全的需求

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
返回頂部