Part 4: Characteristics of the standardized PQC signature algorithms

In our last blog, we talked about the PQC signature algorithms standardized and currently being evaluated by NIST. Some of the key characteristics of these algorithms are:

  1. either the public key or the signature size is bigger, significantly so in some algorithms, compared to the conventional elliptic curve digital signature algorithm (ECDSA), and
  2. The processing time to generate and verify a signature becomes longer than ECDSA (i.e., slow algorithms). How slow it becomes is dependent on the algorithm.

Before we go into specific numbers, we first need to define some terminology.

Security levels

All signature algorithms have several different variants based on what’s called “security levels.” There are 5 levels (category 1 ~ 5) with increasing level of security. These level are:

Table 1: Security level definition
Security level (category)Definition (resistant to attacks equivalent to)
1brute-force attack to break AES-128 (i.e., 2^128 possibilities)
2brute-force hash collision search in SHA-256 (i.e., ~2^128 operations)
3brute-force attack to break AES-192 (i.e., 2^192 possibilities)
4brute-force hash collision search in SHA-384 (i.e., ~2^192 operations)
5brute-force attack to break AES-256 (i.e., 2^256 possibilities)

Public key and signature sizes

How big they become reflects the underlying mathematical problems (e.g., lattice, multivariate, etc.) and the security level (1~5). As the security level increases, so do the public key and the signature size in each algorithm type. Table 2 below lists both the public key and the resulting signature size and their relative size ratio against ECDSA (indicated as “|PK|, Ratio vs. ECDSA (x)” and “|Sig|, Ratio vs. ECDSA (x)” in the table header, respectively.).

Table 2: Public key & signature size increase
AlgorithmSecurity LevelPublic KeySignature
|PK| (byte)Ratio vs. ECDSA(x)|Sig| (byte)Ratio vs. ECDSA (x)
ECDSAn/a321.00 641.00
ML_DSA_4421312x41.002420x37.81
ML_DSA_6531952x61.003309x51.70
ML_DSA_8752592x81.004627x72.30
Falcon-5121897x28.03752x11.75
Falcon-102451793x56.031462x22.84
DILITHIUM221312x41.002420x37.81
DILITHIUM331952x61.003293x51.45
DILITHIUM552592x81.004595x71.80
SPHINCS_SHA2_128f_simple132x1.0017088x267.00
SPHINCS_SHA2_128s_simple132x1.007856x122.75
SPHINCS_SHA2_192f_simple348x1.5035664x557.25
SPHINCS_SHA2_192s_simple348x1.5016224x253.50
SPHINCS_SHA2_256f_simple564x2.0049856x779.00
SPHINCS_SHA2_256s_simple564x2.0029792x465.50
SPHINCS_SHAKE_128f_simple132x1.0017088x267.00
SPHINCS_SHAKE_128s_simple132x1.007856x122.75
SPHINCS_SHAKE_192f_simple348x1.5035664x557.25
SPHINCS_SHAKE_192s_simple348x1.5016224x253.50
SPHINCS_SHAKE_256f_simple564x2.0049856x779.00
SPHINCS_SHAKE_256s_simple564x2.0029792x465.50
CROSS_RSDP_128_fast177x2.4118432x288.00
CROSS_RSDP_128_small177x2.4112432x194.25
CROSS_RSDP_128_balanced177x2.4113152x205.50
CROSS_RSDP_192_fast3115x3.5941406x646.97
CROSS_RSDP_192_small3115x3.5928391x443.61
CROSS_RSDP_192_balanced3115x3.5929853x466.45
CROSS_RSDP_256_fast5153x4.7874590x1165.47
CROSS_RSDP_256_small5153x4.7850818x794.03
CROSS_RSDP_256_balanced5153x4.7853527x386.36
CROSS_RSDPG_128_fast154x1.6911980x187.19
CROSS_RSDPG_128_small154x1.698960x140.00
CROSS_RSDPG_128_balanced154x1.699120x142.50
CROSS_RSDPG_192_fast383x2.5926772x418.31
CROSS_RSDPG_192_small383x2.5920452x319.56
CROSS_RSDPG_192_balanced383x2.5922464x351.00
CROSS_RSDPG_256_fast5106x3.3148102x751.59
CROSS_RSDPG_256_small5106x3.3136454x569.59
CROSS_RSDPG_256_balanced5106x3.3140100x626.56
FAEST_128f132x1.005924x92.56
FAEST_128s132x1.004506x70.41
FAEST_192f348x1.5014948x233.56
FAEST_192s348x1.5011260x175.94
FAEST_256f548x1.5026548x414.81
FAEST_256s548x1.5020696x323.38
MAYO_111420x44.38454x7.09
MAYO_224912x153.50186x2.91
MAYO_332986x93.31681x10.64
MAYO_555554x173.56964x15.06
OV_Is1412160x12880.0096x1.50
OV_Ip1278432x8701.00128x2.00
OV_III31225440x38295.00200x3.13
OV_V52869440x89670.00260x4.06
OV_Is_pkc166576x2080.5096x1.50
OV_Ip_pkc143576x1361.75128x2.00
OV_III_pkc3189232x5913.50200x3.13
OV_V_pkc5446992x13968.50260x4.06
OV_Is_pkc_skc166576x2080.5096x1.50
OV_Ip_pkc_skc143576x1361.75128x2.00
OV_III_pkc_skc3189232x5913.50200x3.13
OV_V_pkc_skc5446992x13968.50260x4.06

As you can see in Table 2, both public key and signature sizes for all algorithm are bigger compared to the conventional ECDSA (the 1st row). In some algorithms, the level of increase is significant – well over 10,000x increase of public key in multivariate-based algorithms (e.g., OV) and over 1,000x increase of the signature size in CROSS. One the other hand, the level of increase of the public key is much less in SPHINCS and FAEST, and the increase of the signature is much less in MAYO and OV. In general, hash-based algorithms (e.g. SPHINCS) tend to have relatively smaller public key size but have significantly larger signature size, and multivariate-based algorithms (e.g. OV) tend to have rather large public key but the signature size is relatively small.

Equally, performance of signature generation and verification also increases compared to that of ECDSA (i.e., it becomes slower). Although we don’t show figures here, but we know this as the result of our simulation. How slow the signature generation takes varies from one algorithm to another, but some of them takes well over multiple of seconds in a generic laptop computer. On the contrary, signature verification is much more consistent across all signature algorithms in the order of a few msec.

It turns out that this blog is rather short. But in our next blog, we’ll talk about the implications of what these public key / signature size increase and slower performance mean in practice.

takahitoyoshizawa Avatar

Leave a Reply

Discover more from TCR (Taurus Cybersecurity Research)

Subscribe now to keep reading and get access to the full archive.

Continue reading