littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于C++语言的国密算法工具集

项目简介

本项目基于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

  1. 进入GmSSL 3.0源码目录。
  2. 执行配置命令: sh cmake .
  3. 执行编译命令: sh make

编译SM3/SM4测试程序

  1. 进入SM3/SM4测试程序源码目录。
  2. 使用C++编译器编译,如: sh g++ -o sm3_sm4_test sm3_sm4_test.cpp

运行程序

  • 运行GmSSL 3.0相关程序,按需调用相应命令。
  • 运行SM3/SM4测试程序: sh ./sm3_sm4_test

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】