Post-Quantum Kyber Benchmarks (Linux)

To continue in our series of wolfSSL’s implementation of Kyber KEM benchmarks, we would like to show you benchmarking statistics for Linux. Some notes about the conditions under which the benchmarks were taken:

  • The processor is “11th Gen Intel® Core™ i7-1185G7 @ 3.00GHz × 8”
  • Only 1 core is used
  • Conventional algorithms are present for comparison purposes
  • The wolfSSL configuration used was:
    ./configure –disable-psk –disable-shared –enable-intelasm –enable-aesni –enable-sp –enable-sp-math –enable-sp-asm –enable-kyber=wolfssl,all ‘CFLAGS=-Os -DECC_USER_CURVES -DHAVE_ECC256 -DHAVE_ECC384’

The benchmarks results follow:

RSA 2048        public  75700 ops took 1.001 sec, avg 0.013 ms, 75632.019 ops/sec
RSA 2048        private 2200 ops took 1.024 sec, avg 0.466 ms, 2147.942 ops/sec
DH  2048        key gen 4428 ops took 1.000 sec, avg 0.226 ms, 4427.507 ops/sec
DH  2048        agree   4700 ops took 1.006 sec, avg 0.214 ms, 4673.614 ops/sec
KYBER512        key gen 282300 ops took 1.000 sec, avg 0.004 ms, 282207.889 ops/sec
KYBER512        encap	  162000 ops took 1.000 sec, avg 0.006 ms, 161981.038 ops/sec
KYBER512        decap	  164100 ops took 1.000 sec, avg 0.006 ms, 164033.359 ops/sec
KYBER768        key gen 150400 ops took 1.000 sec, avg 0.007 ms, 150325.846 ops/sec
KYBER768        encap	  106200 ops took 1.001 sec, avg 0.009 ms, 106145.438 ops/sec
KYBER768        decap	  101800 ops took 1.000 sec, avg 0.010 ms, 101757.640 ops/sec
KYBER1024       key gen 109200 ops took 1.001 sec, avg 0.009 ms, 109137.057 ops/sec
KYBER1024       encap   73900 ops took 1.000 sec, avg 0.014 ms, 73896.212 ops/sec
KYBER1024       decap   73900 ops took 1.000 sec, avg 0.014 ms, 73880.096 ops/sec
ECC   SECP256R1 key gen 93600 ops took 1.000 sec, avg 0.011 ms, 93586.478 ops/sec
ECDHE SECP256R1 agree   24200 ops took 1.003 sec, avg 0.041 ms, 24133.422 ops/sec
ECC   SECP384R1 key gen 30000 ops took 1.002 sec, avg 0.033 ms, 29953.559 ops/sec
ECDHE SECP384R1 agree   7100 ops took 1.008 sec, avg 0.142 ms, 7046.050 ops/sec
ECC   SECP521R1 key gen 17600 ops took 1.000 sec, avg 0.057 ms, 17598.074 ops/sec
ECDHE SECP521R1 agree   4500 ops took 1.009 sec, avg 0.224 ms, 4460.319 ops/sec

Once again, the recurring theme holds. Performance is looking great for our implementation of Kyber KEM.

If you’re looking for different benchmarking data or have any questions, please reach out to us at facts@wolfSSL.com or call us at +1 425 245 8247.

Download wolfSSL Now