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参考资料

ML-KEM — 所有实现

# OpenSSL native (through EVP provider dispatch)
openssl speed -seconds 3 -kem-algorithms ML-KEM-512 ML-KEM-768 ML-KEM-1024 X25519MLKEM768
# liboqs direct (bypasses OpenSSL EVP)
oqs_speed_kem -d 3 ML-KEM-512
oqs_speed_kem -d 3 ML-KEM-768
oqs_speed_kem -d 3 ML-KEM-1024

# wolfSSL native (--enable-armasm build)
wolfcryptbenchmark -ml-kem-512 -ml-kem-768 -ml-kem-1024
算法OpenSSL 原生密钥生成/秒liboqs (NEON) 密钥生成/秒wolfSSL 密钥生成/秒 (+armasm)OpenSSL 封装/秒liboqs 封装/秒wolfSSL 封装/秒 (+armasm)OpenSSL 解封装/秒liboqs 解封装/秒wolfSSL 解封装/秒 (+armasm)
ML-KEM-5124,90612,82918,8975,74311,02618,3553,78310,00712,876
ML-KEM-7683,1307,88611,8813,9637,29911,7272,6686,4828,521
ML-KEM-10242,1455,3947,8202,8824,9636,4231,9944,4055,572
备注: 为什么 wolfSSL (+armasm) 在 ML-KEM 上击败了 liboqs NEON:

使用 --enable-armasm 时,wolfSSL 为所有加密原语使能 aarch64 汇编 — 包括 SHAKE/Keccak (sha3_asm.S)。ML-KEM 性能主要由 SHAKE-128/256 (Keccak) 决定,因此 NEON Keccak 汇编使 wolfSSL 相比其纯 C 基线提升 60–100%,并在 ML-KEM-512 上在密钥生成方面提升 47%、在封装方面提升 67% 超越 liboqs。

liboqs 的 NEON NTT 路径优化了多项式运算,但 wolfSSL 的 NEON Keccak 速度优势足以弥补这一差距。如果不使用 --enable-armasm,wolfSSL ML-KEM 将运行纯 C Keccak,并落后于 liboqs。有关前后对比,请参阅节 3.5。