项目简介
本项目基于C++语言开发,围绕国密算法展开。GmSSL 3.0版本重新设计了原有架构,满足物联网、区块链等新场景应用需求,具备超轻量、更合规、更安全和跨平台等特性。同时还有基于C++的国密SM3/SM4密码算法测试程序,用于验证SM3和SM4两种中国国标密码算法的正确性和性能表现。
项目的主要特性和功能
主要特性
- 超轻量:GmSSL 3.0降低内存需求和二进制代码体积,不依赖动态内存,适用于无操作系统的低功耗嵌入式环境,便于嵌入现有项目。
- 更合规:可配置为仅包含国密算法和国密协议,助于密码应用满足密码产品型号检测要求,避免安全和合规问题。
- 更安全:支持TLS 1.3协议和RFC 8998的国密套件,默认支持密钥加密保护,提升抗侧信道攻击能力。
- 跨平台:构建系统不依赖Perl,默认CMake构建系统可与多种编译工具配合,也可手工编写Makefile编译、剪裁。
主要功能
密码算法
包含分组密码、序列密码、哈希函数、公钥密码算法、椭圆曲线参数、伪随机数生成器、MAC算法和密钥导出函数等多种算法。
PKI相关标准
涉及数字证书、私钥加密格式和数字信封等。
SSL协议
支持TLCP 1.1、TLS 1.2和TLS 1.3的部分密码套件。
算法测试
验证SM3哈希函数、SM3 HMAC函数、SM4 ECB加密函数和SM4 CBC加密函数的正确性和性能。
安装使用步骤
前提条件
假设用户已下载本项目源码文件,且系统已安装必要的编译工具,如CMake等。
编译GmSSL 3.0
- 进入GmSSL 3.0源码目录。
- 执行配置命令:
sh cmake .
- 执行编译命令:
sh make
编译SM3/SM4测试程序
- 进入SM3/SM4测试程序源码目录。
- 使用C++编译器编译,如:
sh g++ -o sm3_sm4_test sm3_sm4_test.cpp
运行程序
- 运行GmSSL 3.0相关程序,按需调用相应命令。
- 运行SM3/SM4测试程序:
sh ./sm3_sm4_test
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】