Destroyed 关于GmSSL项目 (markdown)

Zhi Guan
2017-02-13 18:04:31 +08:00
parent d0b4926185
commit 7d229e017d

@@ -1,8 +0,0 @@
# 关于GmSSL项目
自2010年起国家密码管理局逐步公开了包括SM2公钥密码、SM3密码杂凑算法和SM4分组密码在内的多个商用密码算法的相关标准为国产商用密码算法的广泛应用奠定了基础。但是由于国产算法标准缺乏成熟并且开源的参考实现试图采用国产算法的开源软件开发者只能求助于互联网上的零散代码片段或自行开发为软件的安全性和可靠性带来了隐患也阻碍了国产密码算法的进一步推广。面对国内应用开发者对开源国产密码算法实现的迫切需求北京大学信息安全实验室自2014年起建立了支持国密算法的OpenSSL项目分支——GmSSL在支持国际密码标准的基础上完整地实现了国密SM2、SM3、SM4算法及其多种工作模式和复合方案为开源软件开发者提供了稳定的开发接口和成熟的算法实现是目前唯一完整支持国产密码算法标准的C语言开源密码库。
GmSSL是在OpenSSL项目基础上扩展了对国密算法的完整支持。OpenSSL密码工具箱是开源软件领域应用最广泛的基础密码库是很多开源软件和安全协议的基础也是国内外很多商业软件的重要组成部分。OpenSSL的EVP API是是C语言密码应用开发的事实标准之一国内外的很多商业和开源软件普遍通过EVP API集成OpenSSL密码库这也是GmSSL选择在OpenSSL的接口标准上做扩展的主要原因。GmSSL在C语言和命令行两个接口上实现了对OpenSSL的无缝扩展并实现对OpenSSL的完全兼容。基于OpenSSL的已有密码应用只需要极小的修改(例如在调用初始化函数时用国密算法名称字符串替代国际标准算法名称字符串)就可以用GmSSL替代OpenSSL并用国密算法替代国际标准算法实现应用代码的移植。
项目代码在2014年末开始托管在[GitHub](https://github.com/guanzhi/GmSSL/) ,并通过项目[Wiki](https://github.com/guanzhi/GmSSL/wiki)提供了丰富的文档和示例代码。为了便于商业软件安全地采用GmSSLGmSSL保持了和OpenSSL相似的BSD/Apache风格的许可证因此闭源软件或者商业软件可以安全地在产品中采用GmSSL的代码。2015年8月GmSSL的主要算法实现完成后开始受到国内开发人员关注其中不乏国内信息安全领域知名公司的技术研发人员。GmSSL项目由北京大学密码领域专业团队提供稳定的开发、支持和维护项目的长期目标是推动国产密码算法在国内互联网和开源领域的广泛应用提高国内商用非涉密领域的安全保障水平。