PQCベンチマーク比較:ML-KEM

先日、OpenSSL 3.5とwolfSSL 5.8.0の両方がリリースされました。x86_64 Linux PCでベンチマークを実行しましたので、結果をご紹介します。

注:このグラフでは、バーが長いほど性能がよいことを意味します。

ベンチマークデータは次のようにして得ることができます。
なお、出力は見やすくなるよう一部編集しています。

OpenSSL

構成・ビルド

$ ./Configure
$ make all

ベンチマーク出力

47317 ML-KEM-512 KEM keygen ops in 0.99s
72114 ML-KEM-512 KEM encaps ops in 1.00s
46625 ML-KEM-512 KEM decaps ops in 1.00s
31811 ML-KEM-768 KEM keygen ops in 1.00s
55855 ML-KEM-768 KEM encaps ops in 0.99s
35390 ML-KEM-768 KEM decaps ops in 1.00s
20942 ML-KEM-1024 KEM keygen ops in 1.00s
42164 ML-KEM-1024 KEM encaps ops in 0.99s
27043 ML-KEM-1024 KEM decaps ops in 1.00

wolfSSL

構成・ビルド

$ ./configure  --enable-mlkem=yes,cache-a --enable-dilithium \
              --enable-all-asm
$ make all

ベンチマーク出力

ML-KEM 512    128  key gen    293900 ops took 1.000 sec
ML-KEM 512    128    encap    271900 ops took 1.000 sec
ML-KEM 512    128    decap    237300 ops took 1.000 sec
ML-KEM 768    192  key gen    163900 ops took 1.000 sec
ML-KEM 768    192    encap    152500 ops took 1.000 sec
ML-KEM 768    192    decap    200700 ops took 1.000 sec
ML-KEM 1024   256  key gen    109200 ops took 1.000 sec
ML-KEM 1024   256    encap    106200 ops took 1.000 sec
ML-KEM 1024   256    decap    143600 ops took 1.001 sec

まとめ

wolfSSLはすべての操作とパラメータセットにおいて、OpenSSLよりも格段に高速であることが分かります。wolfSSLでは、優れた効率とパフォーマンスに関する長い伝統を誇りに思っています。

ただし、これは完全に同等な比較ではないことを申し添えます。具体的には、wolfSSLのビルド構成ではアセンブリ最適化を有効にしていますが、現時点でOpenSSLにはそのような最適化機構がありません。同様に、wolfSSLではCache A最適化(*)を有効にしていますが、こちらもOpenSSLには実装されていない機構です。

* Cache A最適化とは
鍵生成時、非カプセル化に使用する行列Aを保存します。鍵は8KBと大きくなりますが、非カプセル化が大幅に高速化されます。同じオブジェクトで鍵生成と非カプセル化を実行する場合はオンにしてください。

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/post-quantum-benchmark-comparison-ml-kem-wolfssl-5-8-0-vs-openssl-3-5