GmSSL3.0密码算法库
2024-10-21 11:54:03
GmSSL3.0密码算法库
一、开发背景
GmSSL 3.0版本具有更快、更小、更安全的特点,相比于GmSSL 2.0我们主要从以下方向进行改进:
采用CMake替代目前基于Perl的构建系统
支持Linux/Windows/macOS/Android/iOS等主流操作系统,移除对嵌入式OS等其他系统的支持
支持X86/ARM/RISC-V,针对上述平台64位指令集做汇编层面的优化
将C语言标准由目前的C89更新为最新的C99或C11,及部分GCC特性,移除对Perl的依赖
移除不安全的算法和协议,仅支持国密算法和主流国际算法,提升对AEAD、TLS 1.3等新标准的默认支持力度
提升密码算法抗木马、抗侧信道攻击的安全性
降低运行时堆内存的使用量,降低总体二进制代码体积
提供特定于国密算法和协议的统一的多语言(支持Rust/Java/Go/PHP)封装
保持和OpenSSL最新版本的兼容性,实现GmSSL和OpenSSL在同一个软件中的共存
二、功能
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。GmSSL项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。
最新文章
- 通知 Notification
- ASP缓存类收集
- CSS 背景颜色
- 用来解析,格式化,存储和验证国际电话号码:libphonenumber
- QSQL导出mapfile和mapfile中PostGIS连接的一点心得
- 【Java】java 中的泛型通配符——从“偷偷地”地改变集合元素说起
- C#简单继承示例详解——快速入门
- kafka原理和架构
- 第三章 Java的基础程序设计结构
- 超详细的java集合讲解
- pip软件包安装 + Anaconda软件库安装 教程
- 2.基础(Foundations)
- 高可用Hadoop平台-应用JAR部署
- AS导入一个工程出现Error:please select Android SDK的错误
- mysql基础---->;mybatis的批量插入(一)
- Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项
- xml的解构与组装
- Eclipse中的maven项目搭建
- 删除wordpress评论表单中的网址文本框
- 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签