首页 > 编程语言 >crypto-gmsm国密算法库

crypto-gmsm国密算法库

时间:2022-12-09 21:35:35浏览次数:54  
标签:加密 crypto 支持 算法 国密 gmsm

crypto-gmsm国密算法库

一、开发背景

crypto-gmsm国密算法库是国密商密算法(SM2,SM3,SM4)工具类封装,国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。

二、功能

crypto-gmsm包含以下主要功能

SM2: 国密椭圆曲线算法库
. 支持Generate Key, Sign, Verify基础操作
. 支持加密和不加密的pem文件格式(加密方法参见RFC5958, 具体实现参加代码)
. 支持证书的生成,证书的读写(接口兼容rsa和ecdsa的证书)
. 支持证书链的操作(接口兼容rsa和ecdsa)
. 支持crypto.Signer接口

SM3: 国密hash算法库
. 支持基础的sm3Sum操作
. 支持hash.Hash接口

SM4: 国密分组密码算法库
. 支持Generate Key, Encrypt, Decrypt基础操作
. 提供Cipher.Block接口
. 支持加密和不加密的pem文件格式(加密方法为pem block加密, 具体函数为x509.EncryptPEM

三、具体实现

1 下载链接

https://gitee.com/superch/crypto-gmsm

2 maven配置/maven打包jar包/手动配置jar包

这一部分的操作流程在之前的博客中已经详细说明,配置参考链接如下:
https://www.cnblogs.com/yu15141310373/p/16948725.html

3 测试

sm2加解密,签名验签

sm3加密

sm3正确性检验

sm4加解密

四、实现流程

标签:加密,crypto,支持,算法,国密,gmsm
From: https://www.cnblogs.com/yu15141310373/p/16969994.html

相关文章

  • Java—bouncycastle支持国密SM2的公钥加密算法
    Java—bouncycastle支持国密SM2的公钥加密算法java代码是依赖BouncyCastle类库,经修改此类库中的 SM2Engin 类的原码而来,用于支持SM2公钥加密算法,符合:《GM/T000......
  • sm-crypto密码算法库
    一、环境配置在之前的node.js库配置中,我们已经配置好了node和npm,再次检查配置情况node-vnpm-vnpminstall--saveminiprogram-sm-crypto二、进入工作目录/usr/l......
  • Node.js实现国密算法
    一、node.js环境安装1去官网下载压缩包,并放置到/usr/local/bin文件夹下2进行环境变量配置vim/etc/profile在环境变量文件的末尾添加exportNODEJS=/usr/local/b......
  • [ACTF新生赛2020]crypto-classic0
    打开压缩包里面有三种文件: hint文件内容:哼,压缩包的密码?这是小Z童鞋的生日吧== cipher文件内容:Ygvdmq[lYate[elghqvakl} howtoencrypt是一个加密的压缩......
  • linux上编译openssl源码生成libcrypto.so库
    linux上编译openssl源码生成libcrypto.so库:第一步:下载OpenSSL源码https://www.openssl.org/source/第二步:解压压缩包tarzxvfopenssl-1.1.1k.tar.gz我的压缩包的目录位置:/......
  • 2022UNCTFcrypto知识点
    2022UNCTFcrypto知识点dddd110/01/0101/0/1101/0000100/0100/11110/111/110010/0/1111/10000/111/110010/1000/110/111/0/110010/00/00000/101/111/1/0000010一般出现0......
  • 微信小程序国密算法实现库sm-crypto
    sm-crypto简介摘要:该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。为非对称加密,基于。无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为位。可......
  • 2022 unctf crypto 今晚吃什么及其知识点
    2022unctfcrypto今晚吃什么及其知识点 先解压,发现这样的文本:   推测可能是摩斯密码,根据摩斯密码表来解密.   1代表. 0代表- 解码得到:111010......
  • Node.js实现国密算法
    Node.js安装Node.js下载下载地址Node.js解压使用以下指令进行解压tar-xvfnode-v18.12.1-linux-x64.tar.xzNode.js配置首先将node文件移至/usr/local/bin文件夹......
  • 第三周课程设计进展——基于java语言的国密算法库编译测试
    本周计划完成的任务本周实际完成情况(代码,文档,程序运行截图...),未完成计划的原因?如何改进?本周遇到的问题与解决过程(要详细)本周计划完成的任务给openeuler配置java......