GmSSL 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GmSSL 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache Licene 2.0
开发语言: C/C++
操作系统: 跨平台
收录时间: 2016-05-09
提 交 者: SimonZhao

GmSSL (http://gmssl.org) 是支持国密算法和标准的OpenSSL分支,增加了对国密SM2/SM3/SM4算法和ECIES、CPK、ZUC算法的支持,实现了这些算法与EVP API和命令行工具的集成。GmSSL由北京大学信息安全实验室(http://infosec.pku.edu.cn)开发和维护。

GmSSL的libcrypto密码库增加的密码算法包括:

  • SM2是国密椭圆曲线公钥密码标准,其中包含数字签名、公钥加密和密钥交换三个具体方案,以及一个256比特素域上的推荐椭圆曲线参数。GmSSL内置了SM2的推荐曲线参数,实现了SM2的签名算法和公钥加密算法。

  • SM3是国密密码杂凑算法标准,输出的杂凑值长度为256比特。

  • SM4是国密分组密码标准,又名SMS4,其分组长度和密钥长度均为128比特。GmSSL实现了SMS4密码及SMS4的ECB、CBC、CFB、OFB等工作模式。

  • X9.63 KDF是密钥派生函数国际标准之一,ECIES和SM2公钥加密方案依赖该算法,GmSSL实现了X9.63 KDF,并用于支持ECIES和SM2公钥加密。

  • ECIES (Elliptic Curve Integrated Encryption Scheme)是椭圆曲线公钥加密的国际标准,可用于加密数据。

  • CPK是由南相浩和陈钟设计的基于身份的密码。GmSSL实现了CPK的系统建立和密钥生成算法,生成的密钥可以用于DSA、ECDH、ECDSA、ECIES、SM2等公钥密码算法。

  • ZUC(祖冲之算法)是由我国设计的序列密码,以32位字为单位输出密钥流,其密钥长度和IV长度均为128比特。GmSSL的ZUC算法处于开发中。

GmSSL提供命令行工具gmssl,可用于生成SM2签名、SM3摘要、HMAC-SM3消息认证码,支持SM4和ZUC数据加解密。

$ echo -n abc | gmssl dgst -sm3
66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0

    显示SM2推荐椭圆曲线域参数

$ gmssl ecparam -text -noout -name sm2p256v1 -param_enc explicit

    在代码目录./certs/sm2/目录中给出了SM2证书的例子,可以用gmssl工具进行解析

$ gmssl x509 -text -noout -in certs/sm2/sm2-x509.pem
$ gmssl pkcs7 -print_certs -in certs/sm2/sm2-pkcs7.pem

    GmSSL新增的EVP对象包括EVP_sm3()、EVP_sm4_ecb()、EVP_sm4_cbc()、EVP_sm4_ofb()、EVP_sm4_cfb()和EVP_zuc()。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

GmSSL 的相关资讯

还没有任何资讯

GmSSL 的相关博客

GmSSL Build with VS2017

使用背景: 最近研究GB35114, 有关于sip协议部分,exosip的已经编译过,由于gb3511中采用的是国密算法,因此这里记录一下GMS...

Mac 编译 Gmssl 过程

Gmssl 在mac上编译会碰到类似This system (darwin64-x86_64-cc) is not supported. See file INSTALL for details.这样的提示...

GmSSL安装过程中出现的问题

GmSSL安装过程中出现的问题 在安装GmSSL的时候出现了很多的问题,为了解决这些问题也是花费了大量的时间,甚至还重新装了一次...

gmssl生成国密证书

环境准备: 1. GMSSL可以执行程序   如果木有,自行前往下载 http://gmssl.org/   编译可以参考前篇 编译https://www.cnb...

Windows下gmssl使用记录

使用gmssl进行计算sm4,编译的版本是gmssl2.0,2.1版本编译不过去 第一步下载软件,下载Visual Studio 2010旗舰版、nasm-2.13...

基于Python的GMSSL实现

基于Python的GMSSL实现 团队任务 一、小组讨论对课程设计任务的理解 基于Python的GMSSL实现,即GmSSL开源加密包的python实现,...

基于Gmssl的SM2加解密算法Demo

基于Gmssl的SM2加解密算法Demo 存储小咖 2018-12-28 18:38:11 4739 收藏 5 展开 GmSSL介绍 Gmssl介绍:http://gmssl.org/ 当然...

《基于Python的GMSSL实现》课程设计个人报告

《基于Python的GMSSL实现》课程设计个人报告 一、基本信息 姓名:刘津甫 学号:20165234 题目:GMSSL基于python的实现 指导老...

OpenSSL和GmSSL在Windows下编译过程

OpenSSL和GmSSL在Windows下编译过程 (2018-05-31 15:02:13) 转载▼ 标签: openssl gmssl 分类: OpenSSL 本文用于记录GmSSL...

Gmssl与Openssl版本兼容安装方式,解决gmssl安装后,openssl无法使用的问题

unzip master.zip cd GmSSL-master/ ./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared //“--p...

GmSSL 的相关问答

还没有任何问答,马上提问

评论 (11)

加载中
gmssl linux 命令sm4加密是什么? echo 123|/usr/local/bin/gmssl enc -e -sms4-ecb -k 123 -a 为什么加密出来不对
07/20 19:44
回复
举报
SimonZhao软件作者
打分: 力荐
支持国产加密算法的开发与应用
2017/07/18 16:46
回复
举报
gg
08/19 10:07
回复
举报
各种不行
08/19 10:09
回复
举报
加油啊 。现在的版本,距离国密的标准,相差甚远。建议那些开发者们,先把SM2\SM3\SM4,以及国密SSL 先搞定了,再进行类似祖冲之之类的算法。 祖冲之算法,毕竟用的少。
2017/06/29 16:10
回复
举报
您好,编译安装Gmssl需要什么环境?我这边遇到一个错误/usr/bin/ld:crypto.map:1620: syntax error in VERSION script,您看一下如何解决?
2017/04/14 11:10
回复
举报
good 好东西
2017/02/25 21:31
回复
举报
啥时候出个JAVA版的国密库 #GmSSL#
2016/05/17 08:23
回复
举报
应该每个国家都搞一个OpenSSL分支嘛 #GmSSL#
2016/05/17 09:01
回复
举报
国密3 #GmSSL#
2016/05/17 09:24
回复
举报
好牛的分支 #GmSSL#
2016/05/17 11:45
回复
举报
更多评论
11 评论
127 收藏
分享
返回顶部
顶部