PQMagic算法性能测试

PQMagic-CPU 版本

算法支持 PQMagic-std PQMagic-adv
ML-KEM (FIPS 203)
Kyber
Aigis-enc
ML-DSA (FIPS 204)
SLH-DSA (FIPS 205)
Dilithium
Aigis-sig
SPHINCS-Alpha
特性 跨平台/架构 高度兼容 针对x64(海光)、ARM(飞腾)等定制高性能优化版本
源码 开源于GiteeGithub 联系我们获取进阶版支持

所有算法均支持国密 SM3 哈希模式,符合国密标准;同时也支持 SHAKE 哈希模式,与国际标准无缝衔接。

性能对比

在 x86 平台 (环境为下文 PC ) 上对比广泛使用的开源库 liboqs , 结果显示 PQMagic 在标准算法 ML-DSA 与 ML-KEM 较 liboqs 性能均有大幅提升。

ML_DSA (PARAMS = 87)

Op (times/s) PQMagic liboqs botan boringssl
Keypair 52501 (2.24x) 23422 5768 6252
Sign 23697 (1.89x) 12557 3537 1411
Verify 49144 (2.04x) 24067 25137 5522

ML_KEM (PARAMS = 1024)

Op (times/s) PQMagic liboqs botan boringssl
Keypair 159207 (1.72x) 92625 20808 28108
Encaps 154704 (1.73x) 89307 72433 53147
Decaps 137517 (1.51x) 90962 43582 34292

更多测试数据

Platform CPU OS
PC AMD Ryzen5 9600x Debian 12
Server Intel Xeon Platinum 8358 Ubuntu 22.04 LTS
Hygon Hygon Dhyana Processor CTyunOS 22.06.3
算法:
参数:
哈希:
平台:

测试说明

  • -std 版本为纯C的高兼容性版本,-adv 为高性能优化版本。
  • SLH-DSA 与 SPHINCS-Alpha 算法后缀 -f 表示 fast 模式,-s 表示 small 模式,在同一安全参数下,small 相对 fast 签名长度小,但是签名时间长。针对不同的应用场景,可选择合适的安全参数。

PQMagic-GPU 版本

算法支持 PQMagic-cuda
ML-DSA
ML-KEM
Aigis-sig
Aigis-enc

测试数据为 PQMagic 的 GPU 版本 —— cuPQMagic 与 NVIDIA 的 cuPQC 以及 PQMagic 的 CPU 版本性能对比。 测试结果显示 cuPQMagic 对比 cuPQC 性能提升了2.2 ~ 5.4 (ML-DSA)、1.6 ~ 11.2 (ML-KEM)倍,对比 PQMagic 在 CPU 上的 -ref-adv 版本性能分别提升了91 ~ 226倍与21 ~ 53倍。

  CPU GPU
Platform Intel(R) Core(TM) i7-13700KF
Debian 12
NVIDIA GeForce RTX 4090
Debian 12

ML_DSA (PARAMS = 44)

Op (times/s) cuPQC cuPQMagic
Keypair 459359 2500747 (5.4x)
Sign 376684 866781 (2.3x)
Verify 1065182 2655062 (2.5x)

ML_KEM (PARAMS = 512)

Op (times/s) cuPQC PQMagic
Keypair 488346 5475390 (11.2x)
Encaps 2258572 6692095 (3.0x)
Decaps 2234124 5716894 (2.6x)

更多测试数据

算法:
参数:

PQMagic | 联系我们
Copyright © Post-Quantum Magic Project. This site uses Just the Docs, a documentation theme for Jekyll.