一、简介gmssl是一个用于处理国密算法的Python模块,它提供了对国密算法的支持,包括对称加密、非对称加密、散列函数和数字签名等,仅列出了其中两个较为完善的第三方库,需要注意的是,SM1和SM7算法不公开,目前大多库仅实现了SM2、SM3、SM4三种密算法。若要使用SM9算法,可下载gmssl-python源码手动安装国密算法是中国自主研发的密码算法标准,相比于传统的国际标准算法,如AES、RSA等,国密算法具有以下优点和缺点:优点:1.安全性:国密算法经过严格的安全性评估和密码学专家的审查,具有较高的安全性。它们采用了更长的密钥长度和更复杂的算法设计,以抵御现代密码攻击。2.自主可控:国
文章目录Pre下载源代码(zip)编译与安装SM4加密解密SM3摘要SM2签名及验签SM2加密及解密生成SM2根证书rootcakey.pem及CA证书cakey.pem使用CA证书签发签名证书和加密证书将签名证书和ca证书合并为服务端证书certs.pem,并验证查看证书内容:PreJava-一文读懂SM1、SM2、SM3、SM4等国密算法Java-OpenSSL与国密OpenSSLJava-数字签名与数字证书下载源代码(zip)下载源代码(zip):https://github.com/guanzhi/GmSSL/archive/master.zip解压缩至当前工作目录$unzipGmSS
基于GMSSL实现的sm2加解密在vscode实现(C++)(自用)GMSSL库安装编写项目过程SM2公私钥对的生成JSON文件配置运行结果SM2在线密解工具用法原文地址:https://blog.csdn.net/hacker_lpy/article/details/124211114原文改进方案地址:https://blog.csdn.net/canlynetsky/article/details/131212028本人最近刚刚开始学习Linux下的C++开发,不太习惯命令行编译程序,听说vscode挺好用,于是开始尝试使用vscode来编写程序,以下记录自己在跑通原文案例时遇到的一些问题
在使用openssl时,发现不支持国密协议,因此找了支持的GmSSL,自己编译安装。国密GmSSL安装工具:GmSSL2.5.4-OpenSSL1.1.0d环境:Ubuntu20.04.1 Gmssl安装方法一:进入https://github.com/guanzhi/GmSSL/tree/master下载源代码(develop分支为3.0分支)方法二:压缩包已上传到附件,可以直接下载:GmSSL-master.zip 将zip文件上传到linux虚拟机的某路径(如/zlm/)unzip GmSSL-master.zip进入源码目录./config报错"glob"isnotexportedby
国密(GmSSL)算法SM4之ECB模式文章目录国密(GmSSL)算法SM4之ECB模式前言一、概念1.SM42.ECB3.pkcs5padding二、功能实现1.pkcs5padding2.pkcs5Unpadding3.encrypt4.decrypt总结前言本文将介绍如何使用java实现SM4算法的ECB模式加解密,并提供相应的代码示例。加解密底层实现基于gmsslc实现,通过javanative方式调用。参考关志老师的国密算法实现:https://github.com/guanzhi/GmSSL一、概念1.SM4SM4是一种国密对称加密算法。2.ECBECB(ElectronicCod
国密(GmSSL)算法SM4之GCM模式文章目录国密(GmSSL)算法SM4之GCM模式前言一、概念1.初始向量(IV,InitializationVector)2.初始向量(IV,InitializationVector)3.附加消息(AAD,AdditionalAuthenticatedData)4.认证标签二、实现思路1.加密2.解密总结前言本文将介绍如何使用java实现SM4算法的GCM模式加解密,并提供相应的代码示例。加解密底层实现基于gmsslc实现,通过javanative方式调用。参考关志老师的国密算法实现:https://github.com/guanzhi/GmSSL一、概
前言GmSSL是国密算法的工具库(主要包含SM2、SM3、SM4和国密SSL证书生成等功能),项目本身是OpenSSL的分支,但是截至文章发布为止,OpenSSL主分支的国密算法并不完善,目前并不支持签名和解签,所以国密算法这块还是需要使用GmSSL工具库。网上现在并没有v2版本的GmSSL可用的命令行文章,本章用于记录这些命令。本文原创自csdn博客,其他网站看到这篇文章都是盗,版,爬。虫。网站,支持原创,远离盗版。GmSSL-v2编译安装GmSSL-v2是c/c++编写的,编译比较麻烦,使用visualstudio编译,需要perl环境,根据报错提示一步步来就可以编译成功。国密算法命令行通
我们继续来进行国密算法的演示。本篇演示sm2非对称算法的实现,国密算法库gmssl的使用。一sm2算法的特点:sm2:即椭圆曲线公钥密码算法,是由国家密码管理局发布的;非对称加密算法,即有一对不一样的密钥:公钥和私钥,公钥用来加密,私钥用来解密;公钥和私钥:公钥,可以公开。私钥:不对外公开;同一个明文,同一个公钥,每次加密结果不相等;密码复杂度高,更先进,更安全,性能更快;用于替换RSA算法。很多软件都在进行国密改造,指的就是用sm1/sm2/sm3/sm4替换掉原有的加解密算法。二sm2算法的演示:1.定义一个通用sm2算法类#-*-coding:utf-8-*-importbinascii