日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

国密算法和GmSSL介绍

發(fā)布時(shí)間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 国密算法和GmSSL介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

GmSSL是一個(gè)開源的密碼工具箱,支持SM2/SM3/SM4/SM9/ZUC等國密(國家商用密碼)算法、SM2國密數(shù)字證書及基于SM2證書的SSL/TLS安全通信協(xié)議,支持國密硬件密碼設(shè)備,提供符合國密規(guī)范的編程接口與命令行工具,可以用于構(gòu)建PKI/CA、安全通信、數(shù)據(jù)加密等符合國密標(biāo)準(zhǔn)的安全應(yīng)用。GmSSL項(xiàng)目是OpenSSL項(xiàng)目的分支,并與OpenSSL保持接口兼容。因此GmSSL可以替代應(yīng)用中的OpenSSL組件,并使應(yīng)用自動(dòng)具備基于國密的安全能力。GmSSL項(xiàng)目采用對商業(yè)應(yīng)用友好的類BSD開源許可證,開源且可以用于閉源的商業(yè)應(yīng)用。

? ? ? ?為了保障商用密碼的安全性,國家商用密碼管理辦公室制定了一系列密碼標(biāo)準(zhǔn),包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖沖之密碼算法(ZUC)那等等。其中SM1、SM4、SM7、祖沖之密碼(ZUC)是對稱算法;SM2、SM9是非對稱算法;SM3是哈希算法。目前,這些算法已廣泛應(yīng)用于各個(gè)領(lǐng)域中。其中SM1、SM7算法不公開,調(diào)用該算法時(shí),需要通過加密芯片的接口進(jìn)行調(diào)用。

????SM2:基于橢圓曲線密碼(ECC)的公鑰密碼算法標(biāo)準(zhǔn),提供數(shù)字簽名,密鑰交換,公鑰加密,用于替換RSA/ECDSA/ECDH?等國際算法

????SM3:消息摘要算法,哈希結(jié)果為?256 bits,用于替換?MD5/SHA1/SHA256?等國際算法

????SM4:對稱加密算法,密鑰長度和分組長度均為?128 bits,主要用于無線局域網(wǎng)標(biāo)準(zhǔn),用于替換?DES/AES?等算法

?

????國密證書:這里的國密證書指的是使用國密算法(SM2-with-SM3)的標(biāo)準(zhǔn)?X509?格式證書,證書使用?SM3?作為哈希算法,使用?SM2?作為數(shù)字簽名算法

????國密?SSL:采用國密算法,符合國密標(biāo)準(zhǔn)的安全傳輸協(xié)議,也就是?SSL/TLS?協(xié)議的國密版本

GmSSL的編譯與安裝

GmSSL工程使用典型的Makefile管理工程,采用典型的linux C/C++程序編譯安裝方法

即可編譯安裝。

./config

make

make?test

make?install

編譯后三個(gè)功能組件:

  • Libcrypto:?加密
  • Libssl: ssl功能
  • Openssl工具
  • Gmssl使用

    gmssl help?可以查看具體的命令,?可以看到gmssl在原來openssl的基礎(chǔ)上,提供了國密的算法的支持。

    ??????Gmssl sms4 -help?子命令的使用方法

    1)gmssl version

    2)?對稱加解密SM4

    ????加密

    ?????gmssl sms4 -e?-in <yourfile> -out <yourfile>.sms4

    ????解密(標(biāo)準(zhǔn)輸出到屏幕,可以重定向)

    ????????gmssl sms4 -d?-in <yourfile>.sms4

    3) 生成SM3摘要

    ??????gmssl sm3 <yourfile>

    ??????gmssl sm3 /etc/fstab

    ??????輸出:SM3(/etc/fstab)= fa221b32c629777672765ba50b085e94ec65e5e49815bc7c5d4da011f6e69939

    4)sm4?加解密

    A)生成SM2私鑰

    gmssl sm2 -genkey -sms4 -out sm2.pem

    B)導(dǎo)出SM2公鑰

    gmssl sm2 -in sm2.pem -pubout -out sm2Pub.pem

    C)加密解密

    gmssl sm2utl -encrypt -in testfile -pubin -inkey??sm2Pub.pem -out jiami.out

    gmssl sm2utl -decrypt -in jiami.out -inkey sm2.pem -out testfile.out

    相關(guān)文獻(xiàn)或者資源:

  • http://gmssl.org/
  • https://github.com/guanzhi/GmSSL
  • https://www.gmssl.cn/gmssl/index.jsp
  • 總結(jié)

    以上是生活随笔為你收集整理的国密算法和GmSSL介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。