开发路线图
SM9后续更新计划:
- PEM格式的SM9数据结构
- PKCS #8格式的SM9主公钥和用户私钥
- 性能测试
- 支持标准测试数据的测试
- 密钥交换接口的调整,支持可变长度曲线点编码
- 加密接口的调整,增加Init/Update/Final接口
- 支持扭曲线点的压缩表示
- 系统参数、私钥等预计算及相应数据结构修改
- 椭圆曲线、扭曲线、$F_{p^{12}}$元素幂的预计算表
- 扩域$F_{p^{12}}$上的快速计算及汇编实现
- 雅克比坐标系上扭曲线点及$g_{P,Q}()$函数的快速计算
- Miller Loop的预计算及快速实现
- 最终指数运算的快速实现
- NID/OID的规范化
- SM9与PKEY接口的实现
- IBC抽象API,整合SM9/CPK/IBE
- 调整SM9接口,兼容可能的其他类型Pairing
- 调整SM9实现,支持SHA-512等算法
- 支持SM9的密码硬件(奥联?)
2018年计划
- 增加CA工具
gmca
- 增加GMTLS协议 (GM/T 0024)
- 发布国密浏览器 GmBrowser
- 发布SDF引擎 (Linux动态库)
- 发布SKF引擎 (Linux动态库)
- BF-IBE/BB1-IBE
- SM9算法实现
GmSSL-2.x
GmSSL-2.x版本的预计开发和维护时间约为1年,主要实现如下目标:
- 代码迁移至OpenSSL-1.1.0,支持编译选项和单元测试,支持macOS/Linux/Windows。
- 支持密码硬件和加速指令集,包括Intel AVX-512/KNC-NI/AVX-2指令集、国密PCI-E加密卡、国密USB-KEY和VIA-Alliance芯片国密指令集。
- 支持SM9、BF-IBE和BB1-IBE。
- 支持国密证书和CA,以及基于国密证书的SSL通信。