oqs: Support for HQC key exchange algorithm

This commit is contained in:
Andreas Steffen 2020-12-07 15:25:43 +01:00 committed by Tobias Brunner
parent 01dac98acf
commit a5f9e41293
6 changed files with 18767 additions and 3 deletions

View File

@ -279,6 +279,15 @@ oqs_kem_t *oqs_kem_create(key_exchange_method_t method)
case KE_FRODO_SHAKE_L5:
kem_alg = OQS_KEM_alg_frodokem_1344_shake;
break;
case KE_HQC_L1:
kem_alg = OQS_KEM_alg_hqc_128;
break;
case KE_HQC_L3:
kem_alg = OQS_KEM_alg_hqc_192;
break;
case KE_HQC_L5:
kem_alg = OQS_KEM_alg_hqc_256;
break;
case KE_SIKE_L1:
kem_alg = OQS_KEM_alg_sike_p434;
break;

View File

@ -63,6 +63,9 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(KE, KE_FRODO_SHAKE_L1),
PLUGIN_PROVIDE(KE, KE_FRODO_SHAKE_L3),
PLUGIN_PROVIDE(KE, KE_FRODO_SHAKE_L5),
PLUGIN_PROVIDE(KE, KE_HQC_L1),
PLUGIN_PROVIDE(KE, KE_HQC_L3),
PLUGIN_PROVIDE(KE, KE_HQC_L5),
PLUGIN_PROVIDE(KE, KE_SIKE_L1),
PLUGIN_PROVIDE(KE, KE_SIKE_L2),
PLUGIN_PROVIDE(KE, KE_SIKE_L3),

View File

@ -33,9 +33,6 @@ static bool unsupported(key_exchange_method_t method)
case KE_BIKE_L1:
case KE_BIKE_L3:
case KE_BIKE_L5:
case KE_HQC_L1:
case KE_HQC_L3:
case KE_HQC_L5:
return TRUE;
default:
return FALSE;

View File

@ -55,6 +55,7 @@ libstrongswan_test_vectors_la_SOURCES = \
test_vectors/ke_kyber.c \
test_vectors/ke_ntru.c \
test_vectors/ke_saber.c \
test_vectors/ke_hqc.c \
test_vectors/ke_sike.c \
test_vectors/drbg_ctr.c \
test_vectors/drbg_hmac.c \

View File

@ -418,6 +418,18 @@ TEST_VECTOR_KE(ke_saber_l5_0)
TEST_VECTOR_KE(ke_saber_l5_1)
TEST_VECTOR_KE(ke_saber_l5_2)
TEST_VECTOR_KE(ke_saber_l5_3)
TEST_VECTOR_KE(ke_hqc_l1_0)
TEST_VECTOR_KE(ke_hqc_l1_1)
TEST_VECTOR_KE(ke_hqc_l1_2)
TEST_VECTOR_KE(ke_hqc_l1_3)
TEST_VECTOR_KE(ke_hqc_l3_0)
TEST_VECTOR_KE(ke_hqc_l3_1)
TEST_VECTOR_KE(ke_hqc_l3_2)
TEST_VECTOR_KE(ke_hqc_l3_3)
TEST_VECTOR_KE(ke_hqc_l5_0)
TEST_VECTOR_KE(ke_hqc_l5_1)
TEST_VECTOR_KE(ke_hqc_l5_2)
TEST_VECTOR_KE(ke_hqc_l5_3)
TEST_VECTOR_KE(ke_sike_l1_0)
TEST_VECTOR_KE(ke_sike_l1_1)
TEST_VECTOR_KE(ke_sike_l1_2)

File diff suppressed because it is too large Load Diff