开发路线图

SM9后续更新计划:

  1. PEM格式的SM9数据结构
  2. PKCS #8格式的SM9主公钥和用户私钥
  3. 性能测试
  4. 支持标准测试数据的测试
  5. 密钥交换接口的调整,支持可变长度曲线点编码
  6. 加密接口的调整,增加Init/Update/Final接口
  7. 支持扭曲线点的压缩表示
  8. 系统参数、私钥等预计算及相应数据结构修改
  9. 椭圆曲线、扭曲线、$F_{p^{12}}$元素幂的预计算表
  10. 扩域$F_{p^{12}}$上的快速计算及汇编实现
  11. 雅克比坐标系上扭曲线点及$g_{P,Q}()$函数的快速计算
  12. Miller Loop的预计算及快速实现
  13. 最终指数运算的快速实现
  14. NID/OID的规范化
  15. SM9与PKEY接口的实现
  16. IBC抽象API,整合SM9/CPK/IBE
  17. 调整SM9接口,兼容可能的其他类型Pairing
  18. 调整SM9实现,支持SHA-512等算法
  19. 支持SM9的密码硬件(奥联?)

2018年计划

  1. 增加CA工具gmca
  2. 增加GMTLS协议 (GM/T 0024)
  3. 发布国密浏览器 GmBrowser
  4. 发布SDF引擎 (Linux动态库)
  5. 发布SKF引擎 (Linux动态库)
  6. BF-IBE/BB1-IBE
  7. SM9算法实现

GmSSL-2.x

GmSSL-2.x版本的预计开发和维护时间约为1年,主要实现如下目标:

  1. 代码迁移至OpenSSL-1.1.0,支持编译选项和单元测试,支持macOS/Linux/Windows。
  2. 支持密码硬件和加速指令集,包括Intel AVX-512/KNC-NI/AVX-2指令集、国密PCI-E加密卡、国密USB-KEY和VIA-Alliance芯片国密指令集。
  3. 支持SM9、BF-IBE和BB1-IBE。
  4. 支持国密证书和CA,以及基于国密证书的SSL通信。