ZHDA333 September   2026 AM62L

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 平台
  5. 2Yocto 集成 (TI SDK Wrynose)
    1. 2.1 层栈
    2. 2.2 OpenSSL 3.5 原生 PQC:无需额外步骤
    3. 2.3 liboqs/oqs-provider 集成
    4. 2.4 从构建错误中恢复
    5. 2.5 wolfSSL 集成
      1. 2.5.1 选择路径
      2. 2.5.2 步骤 A1 — 选项 A:meta-wolfssl
      3. 2.5.3 步骤 A2 — 选项 B:meta-oe wolfssl(仅库)
    6. 2.6 步骤 B — 构建
    7. 2.7 步骤 C — OpenSSL 提供程序配置
  6. 3性能基准测试
    1. 3.1 ML-KEM — 所有实现
    2. 3.2 ML-DSA — 所有实现
    3. 3.3 FrodoKEM(仅 liboqs)
    4. 3.4 混合 KEM — TLS 开销
    5. 3.5 armasm 对 wolfSSL 性能的影响
  7. 4NEON 与硬件加速分析
    1. 4.1 各实现的加速状态
    2. 4.2 按算法给出的建议
  8. 5算法可用性摘要
  9. 6参考资料

armasm 对 wolfSSL 性能的影响

--enable-armasm 在 aarch64 上为以下算法使能 wolfSSL 汇编:硬件 AES、硬件 SHA-256/SHA-512 和 NEON Keccak/SHAKE (sha3_asm.S)。下表显示了 PQC 算法的性能变化。

算法操作未使用 armasm(操作/秒)使用 armasm(操作/秒)提升幅度
ML-KEM-512密钥生成11,89618,897+59%
ML-KEM-512封装10,31618,355+78%
ML-KEM-512解封装7,25812,876+77%
ML-KEM-768密钥生成6,14511,881+93%
ML-KEM-768封装6,13511,727+91%
ML-KEM-768解封装4,5808,521+86%
ML-KEM-1024密钥生成3,8237,820+105%
ML-KEM-1024封装3,8846,423+65%
ML-KEM-1024解封装3,0615,572+82%
ML-DSA-44密钥生成3,0803,606+17%
ML-DSA-44签名918834-9% †
ML-DSA-44验证2,9383,061+4%
ML-DSA-65密钥生成1,7652,044+16%
ML-DSA-65签名558532-5% †
ML-DSA-87密钥生成1,1731,275+9%
ML-DSA-87签名401438+9%
ML-DSA-87验证1,0961,171+7%

† ML-DSA 签名使用拒绝采样 — 迭代次数是随机的,会导致 ±10% 至 ±15% 的基准测试波动。观察到的 ML-DSA-44/65 签名回退在噪声范围内。

备注: 为什么 ML-KEM 从 armasm 获益最大:

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 加速带来的整体改进较小。