2022年11月7日,武汉大学密码学与区块链技术实验室向开源项目RELIC贡献了国密算法代码。该工作主要由实验室硕士三年级的胡芯忆同学完成。

RELIC是由Diego F. Aranha开发的高效、灵活的开源密码原语工具箱,包含多精度整数运算、有限域(包含素数域和二元域)运算、椭圆曲线、双线性映射和扩域运算、密码协议(如RSA、Rabin、ECDSA、BLS短签名、BB短签名、Paillier同态加密方案等),支持不同安全等级、多种优化实现方法和多平台运行,在学术界和工业界均得到了广泛应用。截至目前,RELIC项目在GitHub已获350+starts,有40+contributors参与代码贡献。

虽然RELIC已支持多种椭圆曲线参数,但缺乏对SM2椭圆曲线参数的支持。另外,RELIC支持SM9标识密码算法的曲线参数,但是双线性映射的运算结果与《SM9标识密码算法》标准提供的示例不一致。

实验室针对上述问题向RELIC提交了代码,增加了该项目对SM2椭圆曲线参数的支持,并修正了SM9算法参数下双线性映射的实现代码,现已合并到RELIC主分支。

(https://github.com/relic-toolkit/relic/commit/05feb20da8507260c9b3736dc1fd2efe7876d812)

此次代码提交将进一步促进国密算法在国际上的应用和推广,为推动国密算法在各行业中的应用贡献了一份力量。

本次提交的代码在配置64位Ubuntu操作系统、Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz、14GB内存的主机上,基于GMP库,使用RELIC实现SM2/9算法中核心运算的性能如下:

SM2性能

SM9性能