KpqClean ver2 Update

126 views
Skip to first unread message

minju s

unread,
Apr 22, 2024, 3:13:29 AMApr 22
to KpqC-bulletin

Dear all,

 

Our team updated the new KpqC benchmark about Round 2 submissions results.

We were working on this project to check the algorithm's performance in a fair environment by slightly modifying the results of the 2nd round submission.

 

Please refer to the following github link.

https://github.com/kpqc-cryptocraft/KpqClean_ver2

 

To ensure fair performance measurements, we did the following: All OpenSSL dependencies are removed, and all of SHAKE code is replaced fips202.c of PQClean. Also, AES, SHA2 and Randombytes code is replaced common code of PQClean.


<Detail>

PKE/KEM

- AIMer : randombytes, fips202

- HAETAE : randombytes, fips202

- MQSign : fips202, aes

- NCCSign : randombytes, fips202

 

DSA

- NTRU+ : randombytes, aes, sha2

- PALOMA : none

- SMAUG : randombytes, aes, sha2

 

 

The contents of KpqClean ver2 include the following items.

Benchmark results of clean version for RYZEN and Apple M2 processors have been uploaded.

Performance measurement supports both x86 and aarch64 (Apple Silicon), and cpucycles.c distinguishes between x86 and aarch64 (Apple Silicon) and operates correctly.

Compiled with optimization level -O3 also tested.

Have been Provided KAT testing.

 

 

The following are the future plans.

- Benchmark results of AVX2 version will be uploaded.

- Memory usage and constant timing checks are planned

- REDOG is scheduled to proceed

- SUPERCOP is also planned to be used in the future.

 

 

 

Benchmark performance measurements on Ryzen processors are as follows:

[Testing Environment]

OS: Ubuntu 23.01

CPU: Ryzen 7 4800H (2.90 GHz)

RAM: 16GB

Compiler: gcc 13.2.0

Optimization Level: -O3

Test Loop : 1,000

 

#PKE/KEM

Approximate ranking of keygen

"SMAUG>NTRU+>PALOMA"


Approximate ranking of encapsulation + decapsulation

"SMAUG>NTRU+>PALOMA"

 

 

The top two performing algorithms are:

1. KeyGen

  • SMAUG-Timer
    • pk size(byte) : 672
    • sk  size(byte) : 136
    • cipher size(byte) : 608
    • Performance(cycle) :  144,698

  • SMAUG-T1
    • pk size(byte) : 672
    • sk  size(byte) : 176
    • cipher size(byte) : 672
    • Performance(cycle) :  145,860

 

2. Encapsulation

  • SMAUG-Timer
    • pk size(byte) : 672
    • sk  size(byte) : 136
    • cipher size(byte) : 608
    • clockcycles : 46,523

  • SMAUG-T1
    • pk size(byte) : 672
    • sk  size(byte) : 176
    • cipher size(byte) : 672
    • Performance(cycle) : 47,136

3. Decapsulation

  • SMAUG-Timer
    • pk size(byte) : 672
    • sk  size(byte) : 136
    • cipher size(byte) : 608
    • Performance(cycle) : 61,796

  • SMAUG-T1
    • pk size(byte) : 672
    • sk  size(byte) : 176
    • cipher size : 672
    • Performance(cycle) : 62,174

 

#Signature

Approximate ranking of keygen

" AIMer > NCC-Sign > HAETAE > MQ-Sign"

 

Approximate ranking of sign + verify

" NCC-Sign > MQ-Sign > HAETAE > AIMer"

 

 

The top two performing algorithms are:

1. Key generation

  • AIMer128f
    • pk size(byte) : 32
    • sk  size(byte) : 48
    • Performance(cycle) : 155,111

 

  • AIMer128s
    • pk size(byte) : 32
    • sk  size(byte) : 48
    • Performance(cycle) : 174,830

 

2. Sign

  • MQ-Sign_MQLR_256_72_46
    • pk size(byte) : 328,441
    • sk  size(byte) : 160,881
    • Performance(cycle) : 466,869

 

  • NCC-Sign1
    • pk size(byte) : 1,760
    • sk  size(byte) : 2,688
    • Performance(cycle) : 483,231

 

3. Verify

  • HAETAE2
    • pk size(byte) : 992
    • sk  size(byte) :  1,408
    • Performance(cycle) : 160,377

 

  • HAETAE3
    • pk size(byte) : 1,472
    • sk  size(byte) :  2,112
    • Performance(cycle) : 276,481

 

 

***Performance measurement results have a high degree of variation, so please use them for reference only.

 

Thank you.

 

Best regards,

Minjoo Sim.

Reply all
Reply to author
Forward
0 new messages