OQS Provider Algorithm Support - crt26/PQC-LEO GitHub Wiki

Algorithm Support Summary

The majority of algorithms provided by the OQS-Provider are supported by this project for automated TLS handshake, TLS handshake transmission cost, and TLS speed benchmarking. However, a few exceptions exist due to known limitations in protocol compliance or tool compatibility.

Known TLS Handshake Testing Limitations

Certain variations of the supported digital signature schemes are excluded from TLS handshake and transmission cost testing due to non-compliance with RFC 8446, which defines the specifications of the TLS 1.3 protocol. These include:

  • UOV Scheme Variations
  • SNOVA Scheme Variations
  • CROSSrsdp256small

These schemes remain available for use in the TLS speed tests that PQC-LEO provides using the OpenSSL speed tool.

Whilst a significant number of these scheme variations cannot be used in TLS handshake or transmission cost testing, there are the following exceptions:

Scheme Variations Supported for TLS Handshake and Transmission Cost Testing
UOV OV_Ip_pkc, p256_OV_Ip_pkc, OV_Ip_pkc_skc, p256_OV_Ip_pkc_skc
SNOVA snova2454, p256_snova2454, snova2454esk, p256_snova2454esk, snova37172, p256_snova37172, snova2455, p384_snova2455, snova2965, p521_snova2965

OpenSSL 4.0.3 Compatibility

With native support of various PQC algorithms in OpenSSL 4.0.3, the OQS-Provider automatically disables its implementations of overlapping algorithms (e.g., ML-KEM, ML-DSA, SLH-DSA) to prevent provider conflicts during initialisation. For more information, see the relevant OQS-Provider documentation below.

Supported Algorithms for Energy Usage Testing

All algorithms supported for TLS handshake testing are also supported for the corresponding TLS handshake energy test. Algorithms covered by TLS speed testing are also evaluated by the separate TLS operations energy test, subject to the encoder-related exclusions documented in OpenSSL Algorithm Support.

Additional Information

For further details on algorithm support, compatibility, or enabling OQS-Provider algorithms supported by PQC-LEO that are disabled by default, see:

Supported KEM Algorithms

Algorithm Name Hybrid Algorithm (*) TLS Handshake Test Support (*) OpenSSL Speed Test Support (*) TLS Handshake Bytes Test Support (*) Requires Enabling (*)
bikel1 * * * *
bikel3 * * *
bikel5 * * *
p256_bikel1 * * * * *
x25519_bikel1 * * * * *
p384_bikel3 * * * *
x448_bikel3 * * * *
p521_bikel5 * * * *
efrodo640aes * * *
efrodo640shake * * *
efrodo976aes * * *
efrodo976shake * * *
efrodo1344aes * * *
efrodo1344shake * * *
p256_efrodo640aes * * * *
x25519_efrodo640aes * * * *
p256_efrodo640shake * * * *
x25519_efrodo640shake * * * *
p384_efrodo976aes * * * *
x448_efrodo976aes * * * *
p384_efrodo976shake * * * *
x448_efrodo976shake * * * *
p521_efrodo1344aes * * * *
p521_efrodo1344shake * * * *
frodo640aes * * *
frodo640shake * * *
frodo976aes * * *
frodo976shake * * *
frodo1344aes * * *
frodo1344shake * * *
p256_frodo640aes * * * *
x25519_frodo640aes * * * *
p256_frodo640shake * * * *
x25519_frodo640shake * * * *
p384_frodo976aes * * * *
x448_frodo976aes * * * *
p384_frodo976shake * * * *
x448_frodo976shake * * * *
p521_frodo1344aes * * * *
p521_frodo1344shake * * * *
hqc1 * * *
hqc3 * * *
hqc5 * * *
p256_hqc1 * * * *
x25519_hqc1 * * * *
p384_hqc3 * * * *
x448_hqc3 * * * *
p521_hqc5 * * * *
SecP256r1MLKEM512 * * * *
x25519_mlkem512 * * * *
bp256_mlkem512 * * * *
p384_mlkem768 * * * *
x448_mlkem768 * * * *
bp384_mlkem768 * * * *
p521_mlkem1024 * * * *
bp512_mlkem1024 * * * *

Supported Digital Signature Algorithms

Algorithm Name Hybrid Algorithm (*) TLS Handshake Test Support (*) OpenSSL Speed Test Support (*) TLS Handshake Bytes Test Support (*) Requires Enabling (*)
p256_mldsa44 * * * *
rsa3072_mldsa44 * * * *
p384_mldsa65 * * * *
p521_mldsa87 * * * *
falcon512 * * *
falconpadded512 * * *
falcon1024 * * *
falconpadded1024 * * *
p256_falcon512 * * * *
rsa3072_falcon512 * * * *
p256_falconpadded512 * * * *
rsa3072_falconpadded512 * * * *
p521_falcon1024 * * * *
p521_falconpadded1024 * * * *
mayo1 * * *
mayo2 * * *
mayo3 * * *
mayo5 * * *
p256_mayo1 * * * *
p256_mayo2 * * * *
p384_mayo3 * * * *
p521_mayo5 * * * *
CROSSrsdp128balanced * * *
CROSSrsdp128fast * * * *
CROSSrsdp128small * * * *
CROSSrsdp192balanced * * * *
CROSSrsdp192fast * * * *
CROSSrsdp192small * * * *
CROSSrsdp256small * *
CROSSrsdpg128balanced * * * *
CROSSrsdpg128fast * * * *
CROSSrsdpg128small * * * *
CROSSrsdpg192balanced * * * *
CROSSrsdpg192fast * * * *
CROSSrsdpg192small * * * *
CROSSrsdpg256balanced * * * *
CROSSrsdpg256fast * * * *
CROSSrsdpg256small * * * *
OV_Is * *
OV_Ip * *
OV_III * *
OV_V * *
OV_Is_pkc *
OV_Ip_pkc * * *
OV_III_pkc * *
OV_V_pkc * *
OV_Is_pkc_skc *
OV_Ip_pkc_skc * * *
OV_III_pkc_skc * *
OV_V_pkc_skc * *
p256_OV_Is * * *
p256_OV_Ip * * *
p384_OV_III * * *
p521_OV_V * * *
p256_OV_Is_pkc * *
p256_OV_Ip_pkc * * * *
p384_OV_III_pkc * * *
p521_OV_V_pkc * * *
p256_OV_Is_pkc_skc * *
p256_OV_Ip_pkc_skc * * * *
p384_OV_III_pkc_skc * * *
p521_OV_V_pkc_skc * * *
snova2454 * * *
snova2454shake * *
snova2454esk * * *
snova2454shakeesk * *
snova37172 * * *
snova2583 * *
snova56252 * *
snova49113 * *
snova3784 * *
snova2455 * * *
snova60104 * *
snova2965 * * *
p256_snova2454 * * * *
p256_snova2454shake * * *
p256_snova2454esk * * * *
p256_snova2454shakeesk * * *
p256_snova37172 * * * *
p256_snova2583 * * *
p384_snova56252 * * *
p384_snova49113 * * *
p384_snova3784 * * *
p384_snova2455 * * * *
p521_snova60104 * * *
p521_snova2965 * * * *
mqom2cat1gf16fastr5 * * *
mqom2cat1gf16fastr3 * * * *
mqom2cat1gf16shortr5 * * * *
mqom2cat1gf16shortr3 * * * *
mqom2cat3gf16fastr5 * * *
mqom2cat3gf16fastr3 * * * *
mqom2cat3gf16shortr5 * * * *
mqom2cat3gf16shortr3 * * * *
mqom2cat5gf16fastr5 * * *
mqom2cat5gf16fastr3 * * * *
mqom2cat5gf16shortr5 * * * *
mqom2cat5gf16shortr3 * * * *
p256_mqom2cat1gf16fastr5 * * * *
p256_mqom2cat1gf16fastr3 * * * * *
p256_mqom2cat1gf16shortr5 * * * * *
p256_mqom2cat1gf16shortr3 * * * * *
p384_mqom2cat3gf16fastr5 * * * *
p384_mqom2cat3gf16fastr3 * * * * *
p384_mqom2cat3gf16shortr5 * * * * *
p384_mqom2cat3gf16shortr3 * * * * *
p521_mqom2cat5gf16fastr5 * * * *
p521_mqom2cat5gf16fastr3 * * * * *
p521_mqom2cat5gf16shortr5 * * * * *
p521_mqom2cat5gf16shortr3 * * * * *
⚠️ **GitHub.com Fallback** ⚠️