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开源许可证,开源且可以用于闭源的商业应用。

最新文章

  1. 通知 Notification
  2. ASP缓存类收集
  3. CSS 背景颜色
  4. 用来解析,格式化,存储和验证国际电话号码:libphonenumber
  5. QSQL导出mapfile和mapfile中PostGIS连接的一点心得
  6. 【Java】java 中的泛型通配符——从“偷偷地”地改变集合元素说起
  7. C#简单继承示例详解——快速入门
  8. kafka原理和架构
  9. 第三章 Java的基础程序设计结构
  10. 超详细的java集合讲解
  11. pip软件包安装 + Anaconda软件库安装 教程
  12. 2.基础(Foundations)
  13. 高可用Hadoop平台-应用JAR部署
  14. AS导入一个工程出现Error:please select Android SDK的错误
  15. mysql基础---->mybatis的批量插入(一)
  16. Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项
  17. xml的解构与组装
  18. Eclipse中的maven项目搭建
  19. 删除wordpress评论表单中的网址文本框
  20. 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签

热门文章

  1. Jenkins&&gitlab2
  2. python之yaml文件读取封装
  3. 8000字详解Thread Pool Executor
  4. JavaScript:代码应该编写在哪里?
  5. Git使用记录 - 持续更新
  6. python进阶之路20 正则表达式 re模块
  7. 10分钟在 Rainbond 上部署 mall 电商项目
  8. angular 输入框获取焦点失效的问题
  9. 时间日期相关总结-System类的常用方法
  10. 程序员必备的数据库知识 2:Join 算法