ZHDA333 September 2026 AM62L
--enable-armasm 在 aarch64 上为以下算法使能 wolfSSL 汇编:硬件 AES、硬件 SHA-256/SHA-512 和 NEON Keccak/SHAKE (sha3_asm.S)。下表显示了 PQC 算法的性能变化。
| 算法 | 操作 | 未使用 armasm(操作/秒) | 使用 armasm(操作/秒) | 提升幅度 |
|---|---|---|---|---|
| ML-KEM-512 | 密钥生成 | 11,896 | 18,897 | +59% |
| ML-KEM-512 | 封装 | 10,316 | 18,355 | +78% |
| ML-KEM-512 | 解封装 | 7,258 | 12,876 | +77% |
| ML-KEM-768 | 密钥生成 | 6,145 | 11,881 | +93% |
| ML-KEM-768 | 封装 | 6,135 | 11,727 | +91% |
| ML-KEM-768 | 解封装 | 4,580 | 8,521 | +86% |
| ML-KEM-1024 | 密钥生成 | 3,823 | 7,820 | +105% |
| ML-KEM-1024 | 封装 | 3,884 | 6,423 | +65% |
| ML-KEM-1024 | 解封装 | 3,061 | 5,572 | +82% |
| ML-DSA-44 | 密钥生成 | 3,080 | 3,606 | +17% |
| ML-DSA-44 | 签名 | 918 | 834 | -9% † |
| ML-DSA-44 | 验证 | 2,938 | 3,061 | +4% |
| ML-DSA-65 | 密钥生成 | 1,765 | 2,044 | +16% |
| ML-DSA-65 | 签名 | 558 | 532 | -5% † |
| ML-DSA-87 | 密钥生成 | 1,173 | 1,275 | +9% |
| ML-DSA-87 | 签名 | 401 | 438 | +9% |
| ML-DSA-87 | 验证 | 1,096 | 1,171 | +7% |
† ML-DSA 签名使用拒绝采样 — 迭代次数是随机的,会导致 ±10% 至 ±15% 的基准测试波动。观察到的 ML-DSA-44/65 签名回退在噪声范围内。
ML-KEM 使用 SHAKE-128/256 (Keccak) 作为其主要原语:密钥生成中约 60% 为 Keccak,封装中约 70% 为 Keccak。wolfSSL 的 sha3_asm.S 提供了 NEON 优化的 Keccak-f[1600] 置换,使所有 ML-KEM 操作获得 60% 至 100% 的加速。ML-DSA 对 SHAKE 的使用更少(用于哈希,而非占主导的 NTT 多项式算术),因此 SHAKE 加速带来的整体改进较小。