GmSSL 支持国密算法和标准的 OpenSSL 分支

开源网站开源项目 24-05-01 17:50:46

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-nabc|gmssldgst-sm366c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0

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

$gmsslecparam-text-noout-namesm2p256v1-param_encexplicit

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

$gmsslx509-text-noout-incerts/sm2/sm2-x509.pem$gmsslpkcs7-print_certs-incerts/sm2/sm2-pkcs7.pem

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

[GmSSL 支持国密算法和标准的 OpenSSL 分支]相关推荐
Evince 文档浏览器

Evince 文档浏览器

evince 是一个支持多种格式的文件浏览器,如的PostScript , PDF格式,单页和多页TIFF , DVI接口, DjVu……...

GParted 磁盘分区工具

GParted 磁盘分区工具

GParted (Gnome Partition Editor)是一种非常小巧自启动运行光盘,采用X.org,轻量级的Fluxbox窗口管理器……...

Crispy 远程调用框架

Crispy 是 Communication per Remote Invocation for different kinds of Services via ProxYs 的缩写。C……...

Guile Scheme 解释器和库

Guile Scheme 解释器和库

Scheme 是一种编程语言,而 Guile(Scheme 解释器和库)将它转换成嵌入式脚本语言,从而很好地将动态性……...

今日开源
  1. ZYS 高性能服务框架

    ZYS 高性能服务框架

    核心特性 1.基于swoole提供分布式服务器通讯服务2.基于thrift提供rpc远程调用服务3.基于HTML5提供在线网络直播平台服务4.基于swoole提供同步异步数据库连接池服务5.基于swoole提供异步任务服务器6.基于vmstat提供……

    开源软件 2024-06-30

  2. Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative 基于 Kubernetes 与 Istio 的 Serverless 架构方案

    Knative(发音为 kay-nay-tiv)是谷歌开源的一套 Serverless 架构方案,它扩展了 Kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力。……

    开源软件 2024-06-30

  3. Untangle Linux安全网关模块

    Untangle Linux安全网关模块

    Untangle Gateway 是一个Linux下开源的的网关模块,支持垃圾过滤、URL阻截、反病毒蠕虫等多种功能,详细的屏幕截图请看下面链接: http://untangle.com/index.php?option=com_content&task=view&id=242&am……

    开源软件 2024-06-30

返回顶部小火箭