Enable mlkem1024 hybrid (upstream backport)
Resolves: RHEL-70817
This commit is contained in:
parent
0378cdf0eb
commit
87e7b9e598
3112
01-remove-prenist.patch
Normal file
3112
01-remove-prenist.patch
Normal file
File diff suppressed because it is too large
Load Diff
439
02-mlkem1024-hybrid.patch
Normal file
439
02-mlkem1024-hybrid.patch
Normal file
@ -0,0 +1,439 @@
|
||||
diff --git a/ALGORITHMS.md b/ALGORITHMS.md
|
||||
index c16e2417..10a92070 100644
|
||||
--- a/ALGORITHMS.md
|
||||
+++ b/ALGORITHMS.md
|
||||
@@ -38,7 +38,7 @@ As standardization for these algorithms within TLS is not done, all TLS code poi
|
||||
| SecP256r1MLKEM768 | 0x11eb | Yes | OQS_CODEPOINT_SECP256R1MLKEM768 |
|
||||
| mlkem1024 | 514 | Yes | OQS_CODEPOINT_MLKEM1024 |
|
||||
| p521_mlkem1024 | 0x2F4D | Yes | OQS_CODEPOINT_P521_MLKEM1024 |
|
||||
-| p384_mlkem1024 | 0x2F4E | Yes | OQS_CODEPOINT_P384_MLKEM1024 |
|
||||
+| SecP384r1MLKEM1024 | 0x11ED | Yes | OQS_CODEPOINT_SECP384R1MLKEM1024 |
|
||||
| bikel1 | 0x0241 | Yes | OQS_CODEPOINT_BIKEL1 |
|
||||
| p256_bikel1 | 0x2F41 | Yes | OQS_CODEPOINT_P256_BIKEL1 |
|
||||
| x25519_bikel1 | 0x2FAE | Yes | OQS_CODEPOINT_X25519_BIKEL1 |
|
||||
@@ -279,7 +279,7 @@ If [OQS_KEM_ENCODERS](CONFIGURE.md#OQS_KEM_ENCODERS) is enabled the following li
|
||||
| SecP256r1MLKEM768 | NULL | OQS_OID_SECP256R1MLKEM768
|
||||
| mlkem1024 | 2.16.840.1.101.3.4.4.3 | OQS_OID_MLKEM1024
|
||||
| p521_mlkem1024 | NULL | OQS_OID_P521_MLKEM1024
|
||||
-| p384_mlkem1024 | 1.3.6.1.4.1.42235.6 | OQS_OID_P384_MLKEM1024
|
||||
+| SecP384r1MLKEM1024 | 1.3.6.1.4.1.42235.6 | OQS_OID_SECP384R1MLKEM1024
|
||||
| bikel1 | NULL | OQS_OID_BIKEL1
|
||||
| p256_bikel1 | NULL | OQS_OID_P256_BIKEL1
|
||||
| x25519_bikel1 | NULL | OQS_OID_X25519_BIKEL1
|
||||
diff --git a/README.md b/README.md
|
||||
index e36730f2..3591a9b7 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -40,7 +40,7 @@ This implementation makes available the following quantum safe algorithms:
|
||||
- **BIKE**: `bikel1`, `p256_bikel1`, `x25519_bikel1`, `bikel3`, `p384_bikel3`, `x448_bikel3`, `bikel5`, `p521_bikel5`
|
||||
- **FrodoKEM**: `frodo640aes`, `p256_frodo640aes`, `x25519_frodo640aes`, `frodo640shake`, `p256_frodo640shake`, `x25519_frodo640shake`, `frodo976aes`, `p384_frodo976aes`, `x448_frodo976aes`, `frodo976shake`, `p384_frodo976shake`, `x448_frodo976shake`, `frodo1344aes`, `p521_frodo1344aes`, `frodo1344shake`, `p521_frodo1344shake`
|
||||
- **HQC**: `hqc128`, `p256_hqc128`, `x25519_hqc128`, `hqc192`, `p384_hqc192`, `x448_hqc192`, `hqc256`, `p521_hqc256`†
|
||||
-- **ML-KEM**: `mlkem512`, `p256_mlkem512`, `x25519_mlkem512`, `mlkem768`, `p384_mlkem768`, `x448_mlkem768`, `X25519MLKEM768`, `SecP256r1MLKEM768`, `mlkem1024`, `p521_mlkem1024`, `p384_mlkem1024`
|
||||
+- **ML-KEM**: `mlkem512`, `p256_mlkem512`, `x25519_mlkem512`, `mlkem768`, `p384_mlkem768`, `x448_mlkem768`, `X25519MLKEM768`, `SecP256r1MLKEM768`, `mlkem1024`, `p521_mlkem1024`, `SecP384r1MLKEM1024`
|
||||
|
||||
### Signature algorithms
|
||||
|
||||
diff --git a/oqs-template/generate.py b/oqs-template/generate.py
|
||||
index e6091874..d93e9e6a 100644
|
||||
--- a/oqs-template/generate.py
|
||||
+++ b/oqs-template/generate.py
|
||||
@@ -210,11 +210,11 @@ def load_config(include_disabled_sigs=False):
|
||||
continue
|
||||
hybrid_nids = set()
|
||||
for extra_hybrid in kem['extra_nids']['current']:
|
||||
- if extra_hybrid['hybrid_group'] == "x25519" or extra_hybrid['hybrid_group'] == "p256":
|
||||
+ if extra_hybrid['hybrid_group'] == "x25519" or extra_hybrid['hybrid_group'] == "p256" or extra_hybrid['hybrid_group'] == "secp256_r1":
|
||||
extra_hybrid['bit_security'] = 128
|
||||
- if extra_hybrid['hybrid_group'] == "x448" or extra_hybrid['hybrid_group'] == "p384":
|
||||
+ if extra_hybrid['hybrid_group'] == "x448" or extra_hybrid['hybrid_group'] == "p384" or extra_hybrid['hybrid_group'] == "secp384_r1":
|
||||
extra_hybrid['bit_security'] = 192
|
||||
- if extra_hybrid['hybrid_group'] == "p521":
|
||||
+ if extra_hybrid['hybrid_group'] == "p521" or extra_hybrid['hybrid_group'] == "secp521_r1":
|
||||
extra_hybrid['bit_security'] = 256
|
||||
if not 'hybrid_oid' in extra_hybrid:
|
||||
extra_hybrid['hybrid_oid'] = get_tmp_kem_oid()
|
||||
diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml
|
||||
index 98110dbe..89ace50d 100644
|
||||
--- a/oqs-template/generate.yml
|
||||
+++ b/oqs-template/generate.yml
|
||||
@@ -209,7 +209,7 @@ kems:
|
||||
# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-02.html#name-x25519mlkem768
|
||||
nid: '0x11ec'
|
||||
standard_name: "X25519MLKEM768"
|
||||
- - hybrid_group: "p256"
|
||||
+ - hybrid_group: "secp256_r1"
|
||||
# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-02.html#name-secp256r1mlkem768
|
||||
nid: '0x11eb'
|
||||
standard_name: "SecP256r1MLKEM768"
|
||||
@@ -226,14 +226,15 @@ kems:
|
||||
oqs_alg: 'OQS_KEM_alg_ml_kem_1024'
|
||||
extra_nids:
|
||||
current:
|
||||
- # p384_mlkem1024 hybrid doesn't appear in any standardization drafts
|
||||
+ # p384_mlkem1024 hybrid not fully standardized
|
||||
# this oid is proposed by Tresorit
|
||||
# if the hybrid combination is standardized, feel free to change it
|
||||
- - hybrid_group: "p384"
|
||||
+ - hybrid_group: "secp384_r1"
|
||||
# does Tresorit want to update?
|
||||
hybrid_oid: '1.3.6.1.4.1.42235.6'
|
||||
-# code point not standardized: Why? XXX
|
||||
- nid: '0x2F4E'
|
||||
+# code point standardization proposal as per https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-03.html
|
||||
+ nid: '0x11ED'
|
||||
+ standard_name: "SecP384r1MLKEM1024"
|
||||
-
|
||||
family: 'BIKE'
|
||||
name_group: 'bike1l1fo'
|
||||
diff --git a/oqs-template/oqs-kem-info.md b/oqs-template/oqs-kem-info.md
|
||||
index 35c2d4c9..93aba939 100644
|
||||
--- a/oqs-template/oqs-kem-info.md
|
||||
+++ b/oqs-template/oqs-kem-info.md
|
||||
@@ -85,13 +85,13 @@
|
||||
| HQC | 2023-04-30 | hqc192 | 4 | 3 | 0x2FB1 | x448 |
|
||||
| HQC | 2023-04-30 | hqc256 | 4 | 5 | 0x0246 | |
|
||||
| HQC | 2023-04-30 | hqc256 | 4 | 5 | 0x2F46 | secp521_r1 |
|
||||
+| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x11ED | secp384_r1 |
|
||||
| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4D | secp521_r1 |
|
||||
-| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4E | p384 |
|
||||
| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 514 | |
|
||||
| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2F4B | secp256_r1 |
|
||||
| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2FB6 | x25519 |
|
||||
| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 512 | |
|
||||
-| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x11eb | p256 |
|
||||
+| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x11eb | secp256_r1 |
|
||||
| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x11ec | x25519 |
|
||||
| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F4C | secp384_r1 |
|
||||
| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB7 | x448 |
|
||||
diff --git a/oqs-template/oqsprov/oqs_kmgmt.c/keymgmt_functions.fragment b/oqs-template/oqsprov/oqs_kmgmt.c/keymgmt_functions.fragment
|
||||
index 0c6c5541..36401960 100644
|
||||
--- a/oqs-template/oqsprov/oqs_kmgmt.c/keymgmt_functions.fragment
|
||||
+++ b/oqs-template/oqsprov/oqs_kmgmt.c/keymgmt_functions.fragment
|
||||
@@ -12,7 +12,7 @@ MAKE_SIG_KEYMGMT_FUNCTIONS({{variant['name']}}_{{ composite_alg['name'] }})
|
||||
{% for kem in config['kems'] %}
|
||||
MAKE_KEM_KEYMGMT_FUNCTIONS({{kem['name_group']}}, {{kem['oqs_alg']}}, {{kem['bit_security']}})
|
||||
{% for hybrid in kem['hybrids'] %}
|
||||
-{% if hybrid['hybrid_group'].startswith('p') -%}
|
||||
+{% if hybrid['hybrid_group'].startswith('p') or hybrid['hybrid_group'].startswith('secp') -%}
|
||||
MAKE_KEM_ECP_KEYMGMT_FUNCTIONS({% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{hybrid['hybrid_group']}}_{{kem['name_group']}}{% endif %}, {{kem['oqs_alg']}}, {{hybrid['bit_security']}})
|
||||
{%- else %}
|
||||
MAKE_KEM_ECX_KEYMGMT_FUNCTIONS({% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{hybrid['hybrid_group']}}_{{kem['name_group']}}{% endif %}, {{kem['oqs_alg']}}, {{hybrid['bit_security']}}, {% if 'fips_standard' in kem %}{{kem['fips_standard']}}{% else %}0{% endif %})
|
||||
diff --git a/oqs-template/oqsprov/oqs_prov.h/alg_functions.fragment b/oqs-template/oqsprov/oqs_prov.h/alg_functions.fragment
|
||||
index 466af6f4..69f38f39 100644
|
||||
--- a/oqs-template/oqsprov/oqs_prov.h/alg_functions.fragment
|
||||
+++ b/oqs-template/oqsprov/oqs_prov.h/alg_functions.fragment
|
||||
@@ -12,7 +12,7 @@ extern const OSSL_DISPATCH oqs_{{ variant['name'] }}_{{ composite_alg['name'] }}
|
||||
{% for kem in config['kems'] %}
|
||||
extern const OSSL_DISPATCH oqs_{{ kem['name_group'] }}_keymgmt_functions[];
|
||||
{% for hybrid in kem['hybrids'] %}
|
||||
-{% if hybrid['hybrid_group'].startswith('p') -%}
|
||||
+{% if hybrid['hybrid_group'].startswith('p') or hybrid['hybrid_group'].startswith('secp') -%}
|
||||
extern const OSSL_DISPATCH oqs_ecp_{% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{ hybrid['hybrid_group'] }}_{{ kem['name_group'] }}{% endif %}_keymgmt_functions[];
|
||||
{%- else -%}
|
||||
extern const OSSL_DISPATCH oqs_ecx_{% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{ hybrid['hybrid_group'] }}_{{ kem['name_group'] }}{% endif %}_keymgmt_functions[];
|
||||
diff --git a/oqs-template/oqsprov/oqsprov_keys.c/oqsnames.fragment b/oqs-template/oqsprov/oqsprov_keys.c/oqsnames.fragment
|
||||
index 611bdcaa..4e96caf7 100644
|
||||
--- a/oqs-template/oqsprov/oqsprov_keys.c/oqsnames.fragment
|
||||
+++ b/oqs-template/oqsprov/oqsprov_keys.c/oqsnames.fragment
|
||||
@@ -32,7 +32,7 @@ static oqs_nid_name_t nid_names[NID_TABLE_LEN] = {
|
||||
{% for kem in config['kems'] %}
|
||||
{ 0, "{{ kem['name_group'] }}", {{ kem['oqs_alg'] }}, KEY_TYPE_KEM, {{ kem['bit_security'] }}, 0 },
|
||||
{%- for hybrid in kem['hybrids'] %}
|
||||
- { 0, "{% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{ hybrid['hybrid_group'] }}_{{ kem['name_group'] }}{% endif %}", {{ kem['oqs_alg'] }}, {% if hybrid['hybrid_group'].startswith('p') -%} KEY_TYPE_ECP_HYB_KEM {% else %} KEY_TYPE_ECX_HYB_KEM {% endif %}, {{ kem['bit_security'] }}, {% if 'fips_standard' in kem and hybrid['hybrid_group'] in ["x25519", "x448"] %}1{% else %}0{% endif %} },
|
||||
+ { 0, "{% if 'standard_name' in hybrid %}{{hybrid['standard_name']}}{% else %}{{ hybrid['hybrid_group'] }}_{{ kem['name_group'] }}{% endif %}", {{ kem['oqs_alg'] }}, {% if hybrid['hybrid_group'].startswith('p') or hybrid['hybrid_group'].startswith('secp') -%} KEY_TYPE_ECP_HYB_KEM {% else %} KEY_TYPE_ECX_HYB_KEM {% endif %}, {{ kem['bit_security'] }}, {% if 'fips_standard' in kem and hybrid['hybrid_group'] in ["x25519", "x448"] %}1{% else %}0{% endif %} },
|
||||
{%- endfor -%}
|
||||
{%- endfor %}
|
||||
|
||||
diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c
|
||||
index 62a0285d..fb3c7116 100644
|
||||
--- a/oqsprov/oqs_decode_der2key.c
|
||||
+++ b/oqsprov/oqs_decode_der2key.c
|
||||
@@ -609,8 +609,9 @@ MAKE_DECODER(, "mlkem1024", mlkem1024, oqsx, SubjectPublicKeyInfo);
|
||||
MAKE_DECODER(_ecp, "p521_mlkem1024", p521_mlkem1024, oqsx, PrivateKeyInfo);
|
||||
MAKE_DECODER(_ecp, "p521_mlkem1024", p521_mlkem1024, oqsx,
|
||||
SubjectPublicKeyInfo);
|
||||
-MAKE_DECODER(_ecp, "p384_mlkem1024", p384_mlkem1024, oqsx, PrivateKeyInfo);
|
||||
-MAKE_DECODER(_ecp, "p384_mlkem1024", p384_mlkem1024, oqsx,
|
||||
+MAKE_DECODER(_ecp, "SecP384r1MLKEM1024", SecP384r1MLKEM1024, oqsx,
|
||||
+ PrivateKeyInfo);
|
||||
+MAKE_DECODER(_ecp, "SecP384r1MLKEM1024", SecP384r1MLKEM1024, oqsx,
|
||||
SubjectPublicKeyInfo);
|
||||
MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo);
|
||||
MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo);
|
||||
diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c
|
||||
index 8fa57894..e051c842 100644
|
||||
--- a/oqsprov/oqs_encode_key2any.c
|
||||
+++ b/oqsprov/oqs_encode_key2any.c
|
||||
@@ -1053,9 +1053,9 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) {
|
||||
#define p521_mlkem1024_evp_type 0
|
||||
#define p521_mlkem1024_input_type "p521_mlkem1024"
|
||||
#define p521_mlkem1024_pem_type "p521_mlkem1024"
|
||||
-#define p384_mlkem1024_evp_type 0
|
||||
-#define p384_mlkem1024_input_type "p384_mlkem1024"
|
||||
-#define p384_mlkem1024_pem_type "p384_mlkem1024"
|
||||
+#define SecP384r1MLKEM1024_evp_type 0
|
||||
+#define SecP384r1MLKEM1024_input_type "SecP384r1MLKEM1024"
|
||||
+#define SecP384r1MLKEM1024_pem_type "SecP384r1MLKEM1024"
|
||||
#define bikel1_evp_type 0
|
||||
#define bikel1_input_type "bikel1"
|
||||
#define bikel1_pem_type "bikel1"
|
||||
@@ -2099,13 +2099,13 @@ MAKE_ENCODER(_ecp, p521_mlkem1024, oqsx, PrivateKeyInfo, pem);
|
||||
MAKE_ENCODER(_ecp, p521_mlkem1024, oqsx, SubjectPublicKeyInfo, der);
|
||||
MAKE_ENCODER(_ecp, p521_mlkem1024, oqsx, SubjectPublicKeyInfo, pem);
|
||||
MAKE_TEXT_ENCODER(_ecp, p521_mlkem1024);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, EncryptedPrivateKeyInfo, der);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, EncryptedPrivateKeyInfo, pem);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, PrivateKeyInfo, der);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, PrivateKeyInfo, pem);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, SubjectPublicKeyInfo, der);
|
||||
-MAKE_ENCODER(_ecp, p384_mlkem1024, oqsx, SubjectPublicKeyInfo, pem);
|
||||
-MAKE_TEXT_ENCODER(_ecp, p384_mlkem1024);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, EncryptedPrivateKeyInfo, der);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, EncryptedPrivateKeyInfo, pem);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, PrivateKeyInfo, der);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, PrivateKeyInfo, pem);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, SubjectPublicKeyInfo, der);
|
||||
+MAKE_ENCODER(_ecp, SecP384r1MLKEM1024, oqsx, SubjectPublicKeyInfo, pem);
|
||||
+MAKE_TEXT_ENCODER(_ecp, SecP384r1MLKEM1024);
|
||||
MAKE_ENCODER(, bikel1, oqsx, EncryptedPrivateKeyInfo, der);
|
||||
MAKE_ENCODER(, bikel1, oqsx, EncryptedPrivateKeyInfo, pem);
|
||||
MAKE_ENCODER(, bikel1, oqsx, PrivateKeyInfo, der);
|
||||
diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c
|
||||
index 8770fd68..dfd46450 100644
|
||||
--- a/oqsprov/oqs_kmgmt.c
|
||||
+++ b/oqsprov/oqs_kmgmt.c
|
||||
@@ -1434,7 +1434,7 @@ MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(SecP256r1MLKEM768, OQS_KEM_alg_ml_kem_768, 128)
|
||||
MAKE_KEM_KEYMGMT_FUNCTIONS(mlkem1024, OQS_KEM_alg_ml_kem_1024, 256)
|
||||
|
||||
MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_mlkem1024, OQS_KEM_alg_ml_kem_1024, 256)
|
||||
-MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_mlkem1024, OQS_KEM_alg_ml_kem_1024, 192)
|
||||
+MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(SecP384r1MLKEM1024, OQS_KEM_alg_ml_kem_1024, 192)
|
||||
MAKE_KEM_KEYMGMT_FUNCTIONS(bikel1, OQS_KEM_alg_bike_l1, 128)
|
||||
|
||||
MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_bikel1, OQS_KEM_alg_bike_l1, 128)
|
||||
diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h
|
||||
index 0282b25f..79effe6d 100644
|
||||
--- a/oqsprov/oqs_prov.h
|
||||
+++ b/oqsprov/oqs_prov.h
|
||||
@@ -705,22 +705,22 @@ extern const OSSL_DISPATCH
|
||||
extern const OSSL_DISPATCH
|
||||
oqs_SubjectPublicKeyInfo_der_to_p521_mlkem1024_decoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_PrivateKeyInfo_der_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_PrivateKeyInfo_pem_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_SubjectPublicKeyInfo_der_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[];
|
||||
-extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_text_encoder_functions[];
|
||||
+ oqs_SecP384r1MLKEM1024_to_SubjectPublicKeyInfo_pem_encoder_functions[];
|
||||
+extern const OSSL_DISPATCH oqs_SecP384r1MLKEM1024_to_text_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_PrivateKeyInfo_der_to_p384_mlkem1024_decoder_functions[];
|
||||
+ oqs_PrivateKeyInfo_der_to_SecP384r1MLKEM1024_decoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
- oqs_SubjectPublicKeyInfo_der_to_p384_mlkem1024_decoder_functions[];
|
||||
+ oqs_SubjectPublicKeyInfo_der_to_SecP384r1MLKEM1024_decoder_functions[];
|
||||
extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[];
|
||||
extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[];
|
||||
extern const OSSL_DISPATCH
|
||||
@@ -1971,7 +1971,7 @@ extern const OSSL_DISPATCH oqs_ecp_SecP256r1MLKEM768_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH oqs_mlkem1024_keymgmt_functions[];
|
||||
|
||||
extern const OSSL_DISPATCH oqs_ecp_p521_mlkem1024_keymgmt_functions[];
|
||||
-extern const OSSL_DISPATCH oqs_ecp_p384_mlkem1024_keymgmt_functions[];
|
||||
+extern const OSSL_DISPATCH oqs_ecp_SecP384r1MLKEM1024_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH oqs_bikel1_keymgmt_functions[];
|
||||
|
||||
extern const OSSL_DISPATCH oqs_ecp_p256_bikel1_keymgmt_functions[];
|
||||
diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc
|
||||
index 6790d438..32f83f86 100644
|
||||
--- a/oqsprov/oqsdecoders.inc
|
||||
+++ b/oqsprov/oqsdecoders.inc
|
||||
@@ -96,8 +96,8 @@ DECODER_w_structure("SecP256r1MLKEM768", der, SubjectPublicKeyInfo, SecP256r1MLK
|
||||
DECODER_w_structure("mlkem1024", der, PrivateKeyInfo, mlkem1024),
|
||||
DECODER_w_structure("mlkem1024", der, SubjectPublicKeyInfo, mlkem1024),
|
||||
DECODER_w_structure("p521_mlkem1024", der, PrivateKeyInfo, p521_mlkem1024),
|
||||
-DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, p521_mlkem1024),DECODER_w_structure("p384_mlkem1024", der, PrivateKeyInfo, p384_mlkem1024),
|
||||
-DECODER_w_structure("p384_mlkem1024", der, SubjectPublicKeyInfo, p384_mlkem1024),
|
||||
+DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, p521_mlkem1024),DECODER_w_structure("SecP384r1MLKEM1024", der, PrivateKeyInfo, SecP384r1MLKEM1024),
|
||||
+DECODER_w_structure("SecP384r1MLKEM1024", der, SubjectPublicKeyInfo, SecP384r1MLKEM1024),
|
||||
#endif
|
||||
#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
DECODER_w_structure("bikel1", der, PrivateKeyInfo, bikel1),
|
||||
diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc
|
||||
index 3503b2a8..5f1b0d6d 100644
|
||||
--- a/oqsprov/oqsencoders.inc
|
||||
+++ b/oqsprov/oqsencoders.inc
|
||||
@@ -281,13 +281,13 @@ ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, EncryptedPrivateKeyIn
|
||||
ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, SubjectPublicKeyInfo),
|
||||
ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, SubjectPublicKeyInfo),
|
||||
ENCODER_TEXT("p521_mlkem1024", p521_mlkem1024),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, PrivateKeyInfo),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, PrivateKeyInfo),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, EncryptedPrivateKeyInfo),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, EncryptedPrivateKeyInfo),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, SubjectPublicKeyInfo),
|
||||
-ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, SubjectPublicKeyInfo),
|
||||
-ENCODER_TEXT("p384_mlkem1024", p384_mlkem1024),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, der, PrivateKeyInfo),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, pem, PrivateKeyInfo),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, der, EncryptedPrivateKeyInfo),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, pem, EncryptedPrivateKeyInfo),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, der, SubjectPublicKeyInfo),
|
||||
+ENCODER_w_structure("SecP384r1MLKEM1024", SecP384r1MLKEM1024, pem, SubjectPublicKeyInfo),
|
||||
+ENCODER_TEXT("SecP384r1MLKEM1024", SecP384r1MLKEM1024),
|
||||
#endif
|
||||
#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
ENCODER_w_structure("bikel1", bikel1, der, PrivateKeyInfo),
|
||||
diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c
|
||||
index 498baf7f..4f6d1bc5 100644
|
||||
--- a/oqsprov/oqsprov.c
|
||||
+++ b/oqsprov/oqsprov.c
|
||||
@@ -111,7 +111,7 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = {
|
||||
NULL,
|
||||
"p521_mlkem1024",
|
||||
"1.3.6.1.4.1.42235.6",
|
||||
- "p384_mlkem1024",
|
||||
+ "SecP384r1MLKEM1024",
|
||||
NULL,
|
||||
"bikel1",
|
||||
NULL,
|
||||
@@ -318,7 +318,7 @@ int oqs_patch_oids(void) {
|
||||
|
||||
if ((envval = getenv("OQS_OID_P521_MLKEM1024")))
|
||||
oqs_oid_alg_list[50] = envval;
|
||||
- if ((envval = getenv("OQS_OID_P384_MLKEM1024")))
|
||||
+ if ((envval = getenv("OQS_OID_SECP384R1MLKEM1024")))
|
||||
oqs_oid_alg_list[52] = envval;
|
||||
if ((envval = getenv("OQS_OID_BIKEL1")))
|
||||
oqs_oid_alg_list[54] = envval;
|
||||
@@ -637,7 +637,7 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = {
|
||||
#ifdef OQS_ENABLE_KEM_ml_kem_1024
|
||||
KEMBASEALG(mlkem1024, 256)
|
||||
KEMHYBALG(p521_mlkem1024, 256)
|
||||
- KEMHYBALG(p384_mlkem1024, 192)
|
||||
+ KEMHYBALG(SecP384r1MLKEM1024, 192)
|
||||
#endif
|
||||
#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
KEMBASEALG(bikel1, 128)
|
||||
@@ -671,9 +671,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = {
|
||||
///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END
|
||||
{NULL, NULL, NULL}};
|
||||
|
||||
-static const OSSL_ALGORITHM
|
||||
- oqsprovider_keymgmt[] =
|
||||
- {
|
||||
+static const OSSL_ALGORITHM oqsprovider_keymgmt[] =
|
||||
+ {
|
||||
///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_START
|
||||
// clang-format off
|
||||
|
||||
@@ -812,7 +811,7 @@ static const OSSL_ALGORITHM
|
||||
KEMKMALG(mlkem1024, 256)
|
||||
|
||||
KEMKMHYBALG(p521_mlkem1024, 256, ecp)
|
||||
- KEMKMHYBALG(p384_mlkem1024, 192, ecp)
|
||||
+ KEMKMHYBALG(SecP384r1MLKEM1024, 192, ecp)
|
||||
#endif
|
||||
#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
KEMKMALG(bikel1, 128)
|
||||
@@ -848,9 +847,9 @@ static const OSSL_ALGORITHM
|
||||
|
||||
KEMKMHYBALG(p521_hqc256, 256, ecp)
|
||||
#endif
|
||||
- // clang-format on
|
||||
- ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END
|
||||
- {NULL, NULL, NULL}};
|
||||
+ // clang-format on
|
||||
+ ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END
|
||||
+ {NULL, NULL, NULL}};
|
||||
|
||||
static const OSSL_ALGORITHM oqsprovider_encoder[] = {
|
||||
#define ENCODER_PROVIDER "oqsprovider"
|
||||
diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c
|
||||
index 532f851e..204a55eb 100644
|
||||
--- a/oqsprov/oqsprov_capabilities.c
|
||||
+++ b/oqsprov/oqsprov_capabilities.c
|
||||
@@ -75,7 +75,7 @@ static OQS_GROUP_CONSTANTS oqs_group_list[] = {
|
||||
{514, 256, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
|
||||
{0x2F4D, 256, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
- {0x2F4E, 256, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
+ {0x11ED, 256, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
{0x0241, 128, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
|
||||
{0x2F41, 128, TLS1_3_VERSION, 0, DTLS1_3_VERSION, 0, 1},
|
||||
@@ -190,7 +190,8 @@ static const OSSL_PARAM oqs_param_group_list[][11] = {
|
||||
OQS_GROUP_ENTRY(mlkem1024, mlkem1024, mlkem1024, 24),
|
||||
|
||||
OQS_GROUP_ENTRY(p521_mlkem1024, p521_mlkem1024, p521_mlkem1024, 25),
|
||||
- OQS_GROUP_ENTRY(p384_mlkem1024, p384_mlkem1024, p384_mlkem1024, 26),
|
||||
+ OQS_GROUP_ENTRY(SecP384r1MLKEM1024, SecP384r1MLKEM1024, SecP384r1MLKEM1024,
|
||||
+ 26),
|
||||
#endif
|
||||
#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
OQS_GROUP_ENTRY(bikel1, bikel1, bikel1, 27),
|
||||
@@ -342,9 +343,9 @@ int oqs_patch_codepoints() {
|
||||
if (getenv("OQS_CODEPOINT_P521_MLKEM1024"))
|
||||
oqs_group_list[25].group_id =
|
||||
atoi(getenv("OQS_CODEPOINT_P521_MLKEM1024"));
|
||||
- if (getenv("OQS_CODEPOINT_P384_MLKEM1024"))
|
||||
+ if (getenv("OQS_CODEPOINT_SECP384R1MLKEM1024"))
|
||||
oqs_group_list[26].group_id =
|
||||
- atoi(getenv("OQS_CODEPOINT_P384_MLKEM1024"));
|
||||
+ atoi(getenv("OQS_CODEPOINT_SECP384R1MLKEM1024"));
|
||||
if (getenv("OQS_CODEPOINT_BIKEL1"))
|
||||
oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1"));
|
||||
if (getenv("OQS_CODEPOINT_P256_BIKEL1"))
|
||||
diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c
|
||||
index 60082833..0d607b41 100644
|
||||
--- a/oqsprov/oqsprov_keys.c
|
||||
+++ b/oqsprov/oqsprov_keys.c
|
||||
@@ -101,8 +101,8 @@ static oqs_nid_name_t nid_names[NID_TABLE_LEN] = {
|
||||
{0, "mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_KEM, 256, 0},
|
||||
{0, "p521_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM, 256,
|
||||
0},
|
||||
- {0, "p384_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM, 256,
|
||||
- 0},
|
||||
+ {0, "SecP384r1MLKEM1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM,
|
||||
+ 256, 0},
|
||||
{0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128, 0},
|
||||
{0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128, 0},
|
||||
{0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128, 0},
|
||||
diff --git a/scripts/common.py b/scripts/common.py
|
||||
index 59b74c5a..4da828be 100644
|
||||
--- a/scripts/common.py
|
||||
+++ b/scripts/common.py
|
||||
@@ -9,7 +9,7 @@
|
||||
# post-quantum key exchanges
|
||||
'frodo640aes','frodo640shake','frodo976aes','frodo976shake','frodo1344aes','frodo1344shake','mlkem512','mlkem768','mlkem1024','bikel1','bikel3','bikel5','hqc128','hqc192','hqc256',
|
||||
# post-quantum + classical key exchanges
|
||||
- 'p256_frodo640aes','x25519_frodo640aes','p256_frodo640shake','x25519_frodo640shake','p384_frodo976aes','x448_frodo976aes','p384_frodo976shake','x448_frodo976shake','p521_frodo1344aes','p521_frodo1344shake','p256_mlkem512','x25519_mlkem512','p384_mlkem768','x448_mlkem768','X25519MLKEM768','SecP256r1MLKEM768','p521_mlkem1024','p384_mlkem1024','p256_bikel1','x25519_bikel1','p384_bikel3','x448_bikel3','p521_bikel5','p256_hqc128','x25519_hqc128','p384_hqc192','x448_hqc192','p521_hqc256',
|
||||
+ 'p256_frodo640aes','x25519_frodo640aes','p256_frodo640shake','x25519_frodo640shake','p384_frodo976aes','x448_frodo976aes','p384_frodo976shake','x448_frodo976shake','p521_frodo1344aes','p521_frodo1344shake','p256_mlkem512','x25519_mlkem512','p384_mlkem768','x448_mlkem768','X25519MLKEM768','SecP256r1MLKEM768','p521_mlkem1024','SecP384r1MLKEM1024','p256_bikel1','x25519_bikel1','p384_bikel3','x448_bikel3','p521_bikel5','p256_hqc128','x25519_hqc128','p384_hqc192','x448_hqc192','p521_hqc256',
|
||||
##### OQS_TEMPLATE_FRAGMENT_KEX_ALGS_END
|
||||
]
|
||||
signatures = [
|
||||
diff --git a/test/oqs_test_evp_pkey_params.c b/test/oqs_test_evp_pkey_params.c
|
||||
index c494ca13..7f56c233 100644
|
||||
--- a/test/oqs_test_evp_pkey_params.c
|
||||
+++ b/test/oqs_test_evp_pkey_params.c
|
||||
@@ -77,7 +77,7 @@ const char *kHybridKEMAlgorithms[] = {
|
||||
"X25519MLKEM768",
|
||||
"SecP256r1MLKEM768",
|
||||
"p521_mlkem1024",
|
||||
- "p384_mlkem1024",
|
||||
+ "SecP384r1MLKEM1024",
|
||||
"p256_bikel1",
|
||||
"x25519_bikel1",
|
||||
"p384_bikel3",
|
@ -1,10 +1,12 @@
|
||||
diff -up oqs-provider-0.7.0/oqsprov/oqsprov_capabilities.c.xxx oqs-provider-0.7.0/oqsprov/oqsprov_capabilities.c
|
||||
--- oqs-provider-0.7.0/oqsprov/oqsprov_capabilities.c.xxx 2024-10-24 17:53:18.851079647 +0200
|
||||
+++ oqs-provider-0.7.0/oqsprov/oqsprov_capabilities.c 2024-10-24 17:54:02.535120220 +0200
|
||||
@@ -138,122 +138,9 @@ static OQS_GROUP_CONSTANTS oqs_group_lis
|
||||
static const OSSL_PARAM oqs_param_group_list[][11] = {
|
||||
///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_START
|
||||
diff -up oqs-provider-0.8.0/oqsprov/oqsprov_capabilities.c.xxx oqs-provider-0.8.0/oqsprov/oqsprov_capabilities.c
|
||||
--- oqs-provider-0.8.0/oqsprov/oqsprov_capabilities.c.xxx 2025-01-03 15:30:19.819210897 +0100
|
||||
+++ oqs-provider-0.8.0/oqsprov/oqsprov_capabilities.c 2025-01-03 15:31:47.066334577 +0100
|
||||
@@ -128,106 +128,11 @@ static OQS_GROUP_CONSTANTS oqs_group_lis
|
||||
}
|
||||
|
||||
static const OSSL_PARAM oqs_param_group_list[][11] = {
|
||||
-///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_START
|
||||
-
|
||||
-#ifdef OQS_ENABLE_KEM_frodokem_640_aes
|
||||
- OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0),
|
||||
-
|
||||
@ -46,79 +48,61 @@ diff -up oqs-provider-0.7.0/oqsprov/oqsprov_capabilities.c.xxx oqs-provider-0.7.
|
||||
- OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake,
|
||||
- p521_frodo1344shake, 15),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_kyber_512
|
||||
- OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p256_kyber512, p256_kyber512, p256_kyber512, 17),
|
||||
- OQS_GROUP_ENTRY(x25519_kyber512, x25519_kyber512, x25519_kyber512, 18),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_kyber_768
|
||||
- OQS_GROUP_ENTRY(kyber768, kyber768, kyber768, 19),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p384_kyber768, p384_kyber768, p384_kyber768, 20),
|
||||
- OQS_GROUP_ENTRY(x448_kyber768, x448_kyber768, x448_kyber768, 21),
|
||||
- OQS_GROUP_ENTRY(x25519_kyber768, x25519_kyber768, x25519_kyber768, 22),
|
||||
- OQS_GROUP_ENTRY(p256_kyber768, p256_kyber768, p256_kyber768, 23),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_kyber_1024
|
||||
- OQS_GROUP_ENTRY(kyber1024, kyber1024, kyber1024, 24),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p521_kyber1024, p521_kyber1024, p521_kyber1024, 25),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_ml_kem_512
|
||||
- OQS_GROUP_ENTRY(mlkem512, mlkem512, mlkem512, 26),
|
||||
- OQS_GROUP_ENTRY(mlkem512, mlkem512, mlkem512, 16),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p256_mlkem512, p256_mlkem512, p256_mlkem512, 27),
|
||||
- OQS_GROUP_ENTRY(x25519_mlkem512, x25519_mlkem512, x25519_mlkem512, 28),
|
||||
- OQS_GROUP_ENTRY(p256_mlkem512, p256_mlkem512, p256_mlkem512, 17),
|
||||
- OQS_GROUP_ENTRY(x25519_mlkem512, x25519_mlkem512, x25519_mlkem512, 18),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_ml_kem_768
|
||||
- OQS_GROUP_ENTRY(mlkem768, mlkem768, mlkem768, 29),
|
||||
- OQS_GROUP_ENTRY(mlkem768, mlkem768, mlkem768, 19),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p384_mlkem768, p384_mlkem768, p384_mlkem768, 30),
|
||||
- OQS_GROUP_ENTRY(x448_mlkem768, x448_mlkem768, x448_mlkem768, 31),
|
||||
OQS_GROUP_ENTRY(X25519MLKEM768, X25519MLKEM768, X25519MLKEM768, 32),
|
||||
- OQS_GROUP_ENTRY(p384_mlkem768, p384_mlkem768, p384_mlkem768, 20),
|
||||
- OQS_GROUP_ENTRY(x448_mlkem768, x448_mlkem768, x448_mlkem768, 21),
|
||||
OQS_GROUP_ENTRY(X25519MLKEM768, X25519MLKEM768, X25519MLKEM768, 22),
|
||||
OQS_GROUP_ENTRY(SecP256r1MLKEM768, SecP256r1MLKEM768, SecP256r1MLKEM768,
|
||||
33),
|
||||
23),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_ml_kem_1024
|
||||
- OQS_GROUP_ENTRY(mlkem1024, mlkem1024, mlkem1024, 34),
|
||||
- OQS_GROUP_ENTRY(mlkem1024, mlkem1024, mlkem1024, 24),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p521_mlkem1024, p521_mlkem1024, p521_mlkem1024, 35),
|
||||
- OQS_GROUP_ENTRY(p384_mlkem1024, p384_mlkem1024, p384_mlkem1024, 36),
|
||||
- OQS_GROUP_ENTRY(p521_mlkem1024, p521_mlkem1024, p521_mlkem1024, 25),
|
||||
OQS_GROUP_ENTRY(SecP384r1MLKEM1024, SecP384r1MLKEM1024, SecP384r1MLKEM1024,
|
||||
26),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_bike_l1
|
||||
- OQS_GROUP_ENTRY(bikel1, bikel1, bikel1, 37),
|
||||
- OQS_GROUP_ENTRY(bikel1, bikel1, bikel1, 27),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p256_bikel1, p256_bikel1, p256_bikel1, 38),
|
||||
- OQS_GROUP_ENTRY(x25519_bikel1, x25519_bikel1, x25519_bikel1, 39),
|
||||
- OQS_GROUP_ENTRY(p256_bikel1, p256_bikel1, p256_bikel1, 28),
|
||||
- OQS_GROUP_ENTRY(x25519_bikel1, x25519_bikel1, x25519_bikel1, 29),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_bike_l3
|
||||
- OQS_GROUP_ENTRY(bikel3, bikel3, bikel3, 40),
|
||||
- OQS_GROUP_ENTRY(bikel3, bikel3, bikel3, 30),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p384_bikel3, p384_bikel3, p384_bikel3, 41),
|
||||
- OQS_GROUP_ENTRY(x448_bikel3, x448_bikel3, x448_bikel3, 42),
|
||||
- OQS_GROUP_ENTRY(p384_bikel3, p384_bikel3, p384_bikel3, 31),
|
||||
- OQS_GROUP_ENTRY(x448_bikel3, x448_bikel3, x448_bikel3, 32),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_bike_l5
|
||||
- OQS_GROUP_ENTRY(bikel5, bikel5, bikel5, 43),
|
||||
- OQS_GROUP_ENTRY(bikel5, bikel5, bikel5, 33),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p521_bikel5, p521_bikel5, p521_bikel5, 44),
|
||||
- OQS_GROUP_ENTRY(p521_bikel5, p521_bikel5, p521_bikel5, 34),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_hqc_128
|
||||
- OQS_GROUP_ENTRY(hqc128, hqc128, hqc128, 45),
|
||||
- OQS_GROUP_ENTRY(hqc128, hqc128, hqc128, 35),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p256_hqc128, p256_hqc128, p256_hqc128, 46),
|
||||
- OQS_GROUP_ENTRY(x25519_hqc128, x25519_hqc128, x25519_hqc128, 47),
|
||||
- OQS_GROUP_ENTRY(p256_hqc128, p256_hqc128, p256_hqc128, 36),
|
||||
- OQS_GROUP_ENTRY(x25519_hqc128, x25519_hqc128, x25519_hqc128, 37),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_hqc_192
|
||||
- OQS_GROUP_ENTRY(hqc192, hqc192, hqc192, 48),
|
||||
- OQS_GROUP_ENTRY(hqc192, hqc192, hqc192, 38),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p384_hqc192, p384_hqc192, p384_hqc192, 49),
|
||||
- OQS_GROUP_ENTRY(x448_hqc192, x448_hqc192, x448_hqc192, 50),
|
||||
- OQS_GROUP_ENTRY(p384_hqc192, p384_hqc192, p384_hqc192, 39),
|
||||
- OQS_GROUP_ENTRY(x448_hqc192, x448_hqc192, x448_hqc192, 40),
|
||||
-#endif
|
||||
-#ifdef OQS_ENABLE_KEM_hqc_256
|
||||
- OQS_GROUP_ENTRY(hqc256, hqc256, hqc256, 51),
|
||||
- OQS_GROUP_ENTRY(hqc256, hqc256, hqc256, 41),
|
||||
-
|
||||
- OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 52),
|
||||
- OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 42),
|
||||
-#endif
|
||||
- ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END
|
||||
};
|
@ -2,7 +2,7 @@
|
||||
%global liboqs_min_version 0.12.0-1
|
||||
Name: oqsprovider
|
||||
Version: %{oqs_version}
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: oqsprovider is an OpenSSL provider for quantum-safe algorithms based on liboqs
|
||||
|
||||
License: Apache-2.0 AND MIT
|
||||
@ -10,7 +10,11 @@ URL: https://github.com/open-quantum-safe/oqs-provider.git
|
||||
Source0: https://github.com/open-quantum-safe/oqs-provider/archive/refs/tags/%{oqs_version}.tar.gz
|
||||
Source1: oqsprovider.conf
|
||||
|
||||
Patch01: 01-iana-kem-only.patch
|
||||
# https://github.com/open-quantum-safe/oqs-provider/pull/603
|
||||
Patch01: 01-remove-prenist.patch
|
||||
# https://github.com/open-quantum-safe/oqs-provider/pull/606
|
||||
Patch02: 02-mlkem1024-hybrid.patch
|
||||
Patch03: 03-iana-kem-only.patch
|
||||
|
||||
Requires: liboqs >= %{liboqs_min_version}
|
||||
Requires: openssl
|
||||
@ -54,6 +58,10 @@ install -m644 '%{SOURCE1}' \
|
||||
%config(noreplace) %{_sysconfdir}/pki/tls/openssl.d/oqsprovider.conf
|
||||
|
||||
%changelog
|
||||
* Fri Jan 03 2025 Dmitry Belyavskiy <dbelyavs@redhat.com> - 0.8.0-3
|
||||
- Enable mlkem1024 hybrid (upstream backport)
|
||||
Resolves: RHEL-70817
|
||||
|
||||
* Thu Jan 02 2025 Dmitry Belyavskiy <dbelyavs@redhat.com> - 0.8.0-2
|
||||
- rebuilt
|
||||
Related: RHEL-65422
|
||||
|
Loading…
Reference in New Issue
Block a user