OQS Provider Algorithm Support - crt26/pqc-evaluation-tools GitHub Wiki
Algorithm Support Summary
The majority of algorithms provided by the OQS-Provider are supported by this project for automated TLS handshake and TLS speed benchmarking. However, a few exceptions exist due to known limitations in protocol compliance or tool compatibility.
Known General Limitations
HQC and its variants are disabled by default in both Liboqs and the OQS-Provider due to their current implementations not conforming to the latest specification, which includes important security fixes. As a result, HQC algorithms are excluded from all performance benchmarking unless explicitly enabled by the user using dedicated flags during the setup process.
Known TLS Handshake Testing Limitations
Certain variations of the supported digital signature schemes are excluded from TLS handshake 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 the PQC-Evaluation-Tools provides using the OpenSSL speed
tool.
Whilst a significant number of these scheme variations can not be used in TLS Handshake testing, there are the following exceptions:
Scheme | Variations Supported for TLS Handshake 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 |
CROSSrsdp | CROSSrsdp256small |
OpenSSL 3.5.0 Compatibility
With the introduction of native PQC support in OpenSSL 3.5.0, 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.
Additional Information
For further details on algorithm support, compatibility, HQC implementation issues, or enabling algorithms disabled by default, see:
Supported KEM Algorithms
Algorithm Name | Hybrid Algorithm (*) | TLS Handshake Test Support (*) | OpenSSL Speed Test Support (*) | Requires Enabling (*) |
---|---|---|---|---|
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 | * | * | * | |
bikel1 | * | * | ||
bikel3 | * | * | ||
bikel5 | * | * | ||
p256_bikel1 | * | * | * | |
x25519_bikel1 | * | * | * | |
p384_bikel3 | * | * | * | |
x448_bikel3 | * | * | * | |
p521_bikel5 | * | * | * | |
p256_mlkem512 | * | * | * | |
x25519_mlkem512 | * | * | * | |
p384_mlkem768 | * | * | * | |
x448_mlkem768 | * | * | * | |
p521_mlkem1024 | * | * | * | |
hqc128 | * | * | * | |
hqc192 | * | * | * | |
hqc256 | * | * | * |
Supported Digital Signature Algorithms
Algorithm Name | Hybrid Algorithm (*) | TLS Handshake Test Support (*) | OpenSSL Speed Test Support (*) | Requires Enabling (*) |
---|---|---|---|---|
falcon512 | * | * | ||
falconpadded512 | * | * | ||
falcon1024 | * | * | ||
falconpadded1024 | * | * | ||
p256_falcon512 | * | * | * | |
rsa3072_falcon512 | * | * | * | |
p256_falconpadded512 | * | * | * | |
rsa3072_falconpadded512 | * | * | * | |
p521_falcon1024 | * | * | * | |
p521_falconpadded1024 | * | * | * | |
sphincssha2128fsimple | * | * | ||
sphincssha2128ssimple | * | * | ||
sphincssha2192fsimple | * | * | ||
sphincssha2192ssimple | * | * | * | |
sphincssha2256fsimple | * | * | * | |
sphincssha2256ssimple | * | * | * | |
sphincsshake128fsimple | * | * | ||
sphincsshake128ssimple | * | * | * | |
sphincsshake192fsimple | * | * | * | |
sphincsshake192ssimple | * | * | * | |
sphincsshake256fsimple | * | * | * | |
sphincsshake256ssimple | * | * | * | |
p256_sphincssha2128fsimple | * | * | * | |
rsa3072_sphincssha2128fsimple | * | * | * | |
p256_sphincssha2128ssimple | * | * | * | |
rsa3072_sphincssha2128ssimple | * | * | * | |
p384_sphincssha2192fsimple | * | * | * | |
p384_sphincssha2192ssimple | * | * | * | |
p521_sphincssha2256fsimple | * | * | * | * |
p521_sphincssha2256ssimple | * | * | * | * |
p256_sphincsshake128fsimple | * | * | * | |
rsa3072_sphincsshake128fsimple | * | * | * | |
p256_sphincsshake128ssimple | * | * | * | * |
rsa3072_sphincsshake128ssimple | * | * | * | * |
p384_sphincsshake192fsimple | * | * | * | * |
p384_sphincsshake192ssimple | * | * | * | * |
p521_sphincsshake256fsimple | * | * | * | * |
p521_sphincsshake256ssimple | * | * | * | * |
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 | * | * | * | |
p256_mldsa44 | * | * | * | * |
rsa3072_mldsa44 | * | * | * | * |
p384_mldsa65 | * | * | * | * |
p521_mldsa87 | * | * | * | * |
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 | * | * | * |