From 53cf8a4b1265e0b6fcae3a0aa6750816f7ec679a Mon Sep 17 00:00:00 2001 From: Michael Baentsch <57787676+baentsch@users.noreply.github.com> Date: Sat, 7 Sep 2024 07:36:59 +0200 Subject: [PATCH 1/3] update X25519-MLKEM768 code point Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com> --- ALGORITHMS.md | 2 +- oqs-template/generate.yml | 2 +- oqs-template/oqs-kem-info.md | 22 +++++++++++----------- oqsprov/oqsprov_capabilities.c | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index df2d1fcf..b61c7b24 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -44,7 +44,7 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | mlkem768 | 0x0248 | Yes | OQS_CODEPOINT_MLKEM768 | | p384_mlkem768 | 0x2F48 | Yes | OQS_CODEPOINT_P384_MLKEM768 | | x448_mlkem768 | 0x2FB3 | Yes | OQS_CODEPOINT_X448_MLKEM768 | -| x25519_mlkem768 | 0x2FB4 | Yes | OQS_CODEPOINT_X25519_MLKEM768 | +| x25519_mlkem768 | 4588 | Yes | OQS_CODEPOINT_X25519_MLKEM768 | | p256_mlkem768 | 0x2FB5 | Yes | OQS_CODEPOINT_P256_MLKEM768 | | mlkem1024 | 0x0249 | Yes | OQS_CODEPOINT_MLKEM1024 | | p521_mlkem1024 | 0x2F49 | Yes | OQS_CODEPOINT_P521_MLKEM1024 | diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 571dfdc1..125b80dd 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -168,7 +168,7 @@ kems: - hybrid_group: "x448" nid: '0x2FB3' - hybrid_group: "x25519" - nid: '0x2FB4' + nid: '4588' - hybrid_group: "p256" nid: '0x2FB5' - diff --git a/oqs-template/oqs-kem-info.md b/oqs-template/oqs-kem-info.md index dafa41cb..fdb201a7 100644 --- a/oqs-template/oqs-kem-info.md +++ b/oqs-template/oqs-kem-info.md @@ -85,14 +85,14 @@ | 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-ipd | mlkem1024 | ipd | 5 | 0x0249 | | -| ML-KEM | ML-KEM-ipd | mlkem1024 | ipd | 5 | 0x2F49 | secp521_r1 | -| ML-KEM | ML-KEM-ipd | mlkem1024 | ipd | 5 | 0x2F4A | p384 | -| ML-KEM | ML-KEM-ipd | mlkem512 | ipd | 1 | 0x0247 | | -| ML-KEM | ML-KEM-ipd | mlkem512 | ipd | 1 | 0x2F47 | secp256_r1 | -| ML-KEM | ML-KEM-ipd | mlkem512 | ipd | 1 | 0x2FB2 | x25519 | -| ML-KEM | ML-KEM-ipd | mlkem768 | ipd | 3 | 0x0248 | | -| ML-KEM | ML-KEM-ipd | mlkem768 | ipd | 3 | 0x2F48 | secp384_r1 | -| ML-KEM | ML-KEM-ipd | mlkem768 | ipd | 3 | 0x2FB3 | x448 | -| ML-KEM | ML-KEM-ipd | mlkem768 | ipd | 3 | 0x2FB4 | x25519 | -| ML-KEM | ML-KEM-ipd | mlkem768 | ipd | 3 | 0x2FB5 | p256 | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x0249 | | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F49 | secp521_r1 | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4A | p384 | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x0247 | | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2F47 | secp256_r1 | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2FB2 | x25519 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x0248 | | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F48 | secp384_r1 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB3 | x448 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB5 | p256 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 4588 | x25519 | diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index f3e3ea70..e402308f 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -78,7 +78,7 @@ static OQS_GROUP_CONSTANTS oqs_group_list[] = { {0x2F48, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2FB3, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB4, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {4588, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2FB5, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {0x0249, 256, TLS1_3_VERSION, 0, -1, -1, 1}, From 8c240f94986154e2dbe4c3195b873c405e5a4fac Mon Sep 17 00:00:00 2001 From: Michael Baentsch <57787676+baentsch@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:52:29 +0200 Subject: [PATCH 2/3] further MLKEM (O)ID updates Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com> --- ALGORITHMS.md | 26 +++++++++--------- oqs-template/generate.yml | 50 ++++++++++++++++++++++++---------- oqs-template/oqs-kem-info.md | 20 +++++++------- oqsprov/oqsprov.c | 6 ++-- oqsprov/oqsprov_capabilities.c | 20 +++++++------- 5 files changed, 72 insertions(+), 50 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index b61c7b24..2da4dcf0 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -38,17 +38,17 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | p256_kyber768 | 0x639A | Yes | OQS_CODEPOINT_P256_KYBER768 | | kyber1024 | 0x023D | Yes | OQS_CODEPOINT_KYBER1024 | | p521_kyber1024 | 0x2F3D | Yes | OQS_CODEPOINT_P521_KYBER1024 | -| mlkem512 | 0x0247 | Yes | OQS_CODEPOINT_MLKEM512 | -| p256_mlkem512 | 0x2F47 | Yes | OQS_CODEPOINT_P256_MLKEM512 | -| x25519_mlkem512 | 0x2FB2 | Yes | OQS_CODEPOINT_X25519_MLKEM512 | -| mlkem768 | 0x0248 | Yes | OQS_CODEPOINT_MLKEM768 | -| p384_mlkem768 | 0x2F48 | Yes | OQS_CODEPOINT_P384_MLKEM768 | -| x448_mlkem768 | 0x2FB3 | Yes | OQS_CODEPOINT_X448_MLKEM768 | +| mlkem512 | 0x024A | Yes | OQS_CODEPOINT_MLKEM512 | +| p256_mlkem512 | 0x2F4B | Yes | OQS_CODEPOINT_P256_MLKEM512 | +| x25519_mlkem512 | 0x2FB6 | Yes | OQS_CODEPOINT_X25519_MLKEM512 | +| mlkem768 | 0x0768 | Yes | OQS_CODEPOINT_MLKEM768 | +| p384_mlkem768 | 0x2F4C | Yes | OQS_CODEPOINT_P384_MLKEM768 | +| x448_mlkem768 | 0x2FB7 | Yes | OQS_CODEPOINT_X448_MLKEM768 | | x25519_mlkem768 | 4588 | Yes | OQS_CODEPOINT_X25519_MLKEM768 | -| p256_mlkem768 | 0x2FB5 | Yes | OQS_CODEPOINT_P256_MLKEM768 | -| mlkem1024 | 0x0249 | Yes | OQS_CODEPOINT_MLKEM1024 | -| p521_mlkem1024 | 0x2F49 | Yes | OQS_CODEPOINT_P521_MLKEM1024 | -| p384_mlkem1024 | 0x2F4A | Yes | OQS_CODEPOINT_P384_MLKEM1024 | +| p256_mlkem768 | 0x2F4E | Yes | OQS_CODEPOINT_P256_MLKEM768 | +| mlkem1024 | 0x1024 | Yes | OQS_CODEPOINT_MLKEM1024 | +| p521_mlkem1024 | 0x2F4D | Yes | OQS_CODEPOINT_P521_MLKEM1024 | +| p384_mlkem1024 | 0x2F4F | Yes | OQS_CODEPOINT_P384_MLKEM1024 | | bikel1 | 0x0241 | Yes | OQS_CODEPOINT_BIKEL1 | | p256_bikel1 | 0x2F41 | Yes | OQS_CODEPOINT_P256_BIKEL1 | | x25519_bikel1 | 0x2FAE | Yes | OQS_CODEPOINT_X25519_BIKEL1 | @@ -254,15 +254,15 @@ If [OQS_KEM_ENCODERS](CONFIGURE.md#OQS_KEM_ENCODERS) is enabled the following li | p256_kyber768 | 1.3.9999.99.52 | OQS_OID_P256_KYBER768 | kyber1024 | 1.3.6.1.4.1.2.267.8.4.4 | OQS_OID_KYBER1024 | p521_kyber1024 | 1.3.9999.99.74 | OQS_OID_P521_KYBER1024 -| mlkem512 | 1.3.6.1.4.1.22554.5.6.1 | OQS_OID_MLKEM512 +| mlkem512 | 2.16.840.1.101.3.4.4.1 | OQS_OID_MLKEM512 | p256_mlkem512 | 1.3.6.1.4.1.22554.5.7.1 | OQS_OID_P256_MLKEM512 | x25519_mlkem512 | 1.3.6.1.4.1.22554.5.8.1 | OQS_OID_X25519_MLKEM512 -| mlkem768 | 1.3.6.1.4.1.22554.5.6.2 | OQS_OID_MLKEM768 +| mlkem768 | 2.16.840.1.101.3.4.4.2 | OQS_OID_MLKEM768 | p384_mlkem768 | 1.3.9999.99.75 | OQS_OID_P384_MLKEM768 | x448_mlkem768 | 1.3.9999.99.53 | OQS_OID_X448_MLKEM768 | x25519_mlkem768 | 1.3.9999.99.54 | OQS_OID_X25519_MLKEM768 | p256_mlkem768 | 1.3.9999.99.55 | OQS_OID_P256_MLKEM768 -| mlkem1024 | 1.3.6.1.4.1.22554.5.6.3 | OQS_OID_MLKEM1024 +| mlkem1024 | 2.16.840.1.101.3.4.4.3 | OQS_OID_MLKEM1024 | p521_mlkem1024 | 1.3.9999.99.76 | OQS_OID_P521_MLKEM1024 | p384_mlkem1024 | 1.3.6.1.4.1.42235.6 | OQS_OID_P384_MLKEM1024 | bikel1 | 1.3.9999.99.78 | OQS_OID_BIKEL1 diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 125b80dd..e0e29e13 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -1,5 +1,5 @@ # This is the master document for ID interoperability for KEM IDs, p-hybrid KEM IDs, SIG (O)IDs -# Next free plain KEM ID: 0x024A, p-hybrid: 0x2F4B, X-hybrid: 0x2FB6 +# Next free plain KEM ID: 0x024D, p-hybrid: 0x2F50, X-hybrid: 0x2FB8 kems: - family: 'FrodoKEM' @@ -143,40 +143,60 @@ kems: hybrid_group: secp521_r1 nid: '0x2F11' oqs_alg: 'OQS_KEM_alg_kyber_1024' +# end of IBM support section +# NIST OIDs see https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration +# KEM prefix 2.16.840.1.101.3.4.4. - family: 'ML-KEM' name_group: 'mlkem512' - nid: '0x0247' - oid: '1.3.6.1.4.1.22554.5.6.1' - nid_hybrid: '0x2F47' +# code point not standardized: Why? XXX + nid: '0x024A' +# NIST kem 1 + oid: '2.16.840.1.101.3.4.4.1' +# code point not standardized: Why? XXX + nid_hybrid: '0x2F4B' +# retain OIDs of the Legion of the BouncyCastle: XXX check if OK hybrid_oid: '1.3.6.1.4.1.22554.5.7.1' oqs_alg: 'OQS_KEM_alg_ml_kem_512' extra_nids: current: - hybrid_group: "x25519" +# retain OIDs of the Legion of the BouncyCastle: XXX check if OK hybrid_oid: '1.3.6.1.4.1.22554.5.8.1' - nid: '0x2FB2' +# code point not standardized: Why? XXX + nid: '0x2FB6' - family: 'ML-KEM' name_group: 'mlkem768' - nid: '0x0248' - oid: '1.3.6.1.4.1.22554.5.6.2' - nid_hybrid: '0x2F48' +# https://www.ietf.org/archive/id/draft-connolly-tls-mlkem-key-agreement-01.html + nid: '0x0768' +# NIST kem 2 + oid: '2.16.840.1.101.3.4.4.2' +# code point not standardized: Why? XXX + nid_hybrid: '0x2F4C' oqs_alg: 'OQS_KEM_alg_ml_kem_768' extra_nids: current: - hybrid_group: "x448" - nid: '0x2FB3' +# code point not standardized: Why? XXX + nid: '0x2FB7' +# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-01.html#name-iana-considerations - hybrid_group: "x25519" nid: '4588' +# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-01.html#name-iana-considerations +# To change when hybrid order change implemented, see https://github.com/open-quantum-safe/oqs-provider/issues/503 - hybrid_group: "p256" - nid: '0x2FB5' +# code point not standardized: Why? XXX + nid: '0x2F4E' - family: 'ML-KEM' name_group: 'mlkem1024' - nid: '0x0249' - oid: '1.3.6.1.4.1.22554.5.6.3' - nid_hybrid: '0x2F49' +# https://www.ietf.org/archive/id/draft-connolly-tls-mlkem-key-agreement-01.html + nid: '0x1024' +# NIST kem 3 + oid: '2.16.840.1.101.3.4.4.3' +# code point not standardized: Why? XXX + nid_hybrid: '0x2F4D' oqs_alg: 'OQS_KEM_alg_ml_kem_1024' extra_nids: current: @@ -184,8 +204,10 @@ kems: # this oid is proposed by Tresorit # if the hybrid combination is standardized, feel free to change it - hybrid_group: "p384" +# does Tresorit want to update? hybrid_oid: '1.3.6.1.4.1.42235.6' - nid: '0x2F4A' +# code point not standardized: Why? XXX + nid: '0x2F4F' - family: 'BIKE' name_group: 'bike1l1fo' diff --git a/oqs-template/oqs-kem-info.md b/oqs-template/oqs-kem-info.md index fdb201a7..637ff6e7 100644 --- a/oqs-template/oqs-kem-info.md +++ b/oqs-template/oqs-kem-info.md @@ -85,14 +85,14 @@ | 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 | 0x0249 | | -| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F49 | secp521_r1 | -| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4A | p384 | -| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x0247 | | -| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2F47 | secp256_r1 | -| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2FB2 | x25519 | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x0248 | | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F48 | secp384_r1 | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB3 | x448 | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB5 | p256 | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x1024 | | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4D | secp521_r1 | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4F | p384 | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x024A | | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2F4B | secp256_r1 | +| ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2FB6 | x25519 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x0768 | | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F4C | secp384_r1 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F4E | p256 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB7 | x448 | | ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 4588 | x25519 | diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index 5a2f93ce..b95a1741 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -111,13 +111,13 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = { "kyber1024", "1.3.9999.99.30", "p521_kyber1024", - "1.3.6.1.4.1.22554.5.6.1", + "2.16.840.1.101.3.4.4.1", "mlkem512", "1.3.6.1.4.1.22554.5.7.1", "p256_mlkem512", "1.3.6.1.4.1.22554.5.8.1", "x25519_mlkem512", - "1.3.6.1.4.1.22554.5.6.2", + "2.16.840.1.101.3.4.4.2", "mlkem768", "1.3.9999.99.31", "p384_mlkem768", @@ -127,7 +127,7 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = { "x25519_mlkem768", "1.3.9999.99.11", "p256_mlkem768", - "1.3.6.1.4.1.22554.5.6.3", + "2.16.840.1.101.3.4.4.3", "mlkem1024", "1.3.9999.99.32", "p521_mlkem1024", diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index e402308f..39565f5d 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -70,20 +70,20 @@ static OQS_GROUP_CONSTANTS oqs_group_list[] = { {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0247, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x024A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F47, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB2, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0248, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4B, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB6, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0768, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F48, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB3, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB7, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {4588, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB5, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0249, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4E, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x1024, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F49, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F4A, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4F, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, From 0862da9a641e2d5ed9752aef4a75abb91cdf2544 Mon Sep 17 00:00:00 2001 From: Michael Baentsch <57787676+baentsch@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:48:41 +0200 Subject: [PATCH 3/3] set p256_mlkem768 code point as per standard Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com> --- ALGORITHMS.md | 6 +++--- oqs-template/generate.yml | 14 ++++++-------- oqs-template/oqs-kem-info.md | 6 +++--- oqsprov/oqsprov_capabilities.c | 6 +++--- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 2da4dcf0..236cef8a 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -44,11 +44,11 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | mlkem768 | 0x0768 | Yes | OQS_CODEPOINT_MLKEM768 | | p384_mlkem768 | 0x2F4C | Yes | OQS_CODEPOINT_P384_MLKEM768 | | x448_mlkem768 | 0x2FB7 | Yes | OQS_CODEPOINT_X448_MLKEM768 | -| x25519_mlkem768 | 4588 | Yes | OQS_CODEPOINT_X25519_MLKEM768 | -| p256_mlkem768 | 0x2F4E | Yes | OQS_CODEPOINT_P256_MLKEM768 | +| x25519_mlkem768 | 0x2FB8 | Yes | OQS_CODEPOINT_X25519_MLKEM768 | +| p256_mlkem768 | 4587 | Yes | OQS_CODEPOINT_P256_MLKEM768 | | mlkem1024 | 0x1024 | Yes | OQS_CODEPOINT_MLKEM1024 | | p521_mlkem1024 | 0x2F4D | Yes | OQS_CODEPOINT_P521_MLKEM1024 | -| p384_mlkem1024 | 0x2F4F | Yes | OQS_CODEPOINT_P384_MLKEM1024 | +| p384_mlkem1024 | 0x2F4E | Yes | OQS_CODEPOINT_P384_MLKEM1024 | | bikel1 | 0x0241 | Yes | OQS_CODEPOINT_BIKEL1 | | p256_bikel1 | 0x2F41 | Yes | OQS_CODEPOINT_P256_BIKEL1 | | x25519_bikel1 | 0x2FAE | Yes | OQS_CODEPOINT_X25519_BIKEL1 | diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index e0e29e13..514c05e6 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -1,5 +1,5 @@ # This is the master document for ID interoperability for KEM IDs, p-hybrid KEM IDs, SIG (O)IDs -# Next free plain KEM ID: 0x024D, p-hybrid: 0x2F50, X-hybrid: 0x2FB8 +# Next free plain KEM ID: 0x024D, p-hybrid: 0x2F4F, X-hybrid: 0x2FB9 kems: - family: 'FrodoKEM' @@ -180,14 +180,12 @@ kems: - hybrid_group: "x448" # code point not standardized: Why? XXX nid: '0x2FB7' -# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-01.html#name-iana-considerations - - hybrid_group: "x25519" - nid: '4588' -# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-01.html#name-iana-considerations # To change when hybrid order change implemented, see https://github.com/open-quantum-safe/oqs-provider/issues/503 + - hybrid_group: "x25519" + nid: '0x2FB8' - hybrid_group: "p256" -# code point not standardized: Why? XXX - nid: '0x2F4E' +# https://www.ietf.org/archive/id/draft-kwiatkowski-tls-ecdhe-mlkem-01.html#name-iana-considerations + nid: '4587' - family: 'ML-KEM' name_group: 'mlkem1024' @@ -207,7 +205,7 @@ kems: # does Tresorit want to update? hybrid_oid: '1.3.6.1.4.1.42235.6' # code point not standardized: Why? XXX - nid: '0x2F4F' + nid: '0x2F4E' - family: 'BIKE' name_group: 'bike1l1fo' diff --git a/oqs-template/oqs-kem-info.md b/oqs-template/oqs-kem-info.md index 637ff6e7..db953c5b 100644 --- a/oqs-template/oqs-kem-info.md +++ b/oqs-template/oqs-kem-info.md @@ -87,12 +87,12 @@ | HQC | 2023-04-30 | hqc256 | 4 | 5 | 0x2F46 | secp521_r1 | | ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x1024 | | | ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4D | secp521_r1 | -| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4F | p384 | +| ML-KEM | ML-KEM | mlkem1024 | FIPS203 | 5 | 0x2F4E | p384 | | ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x024A | | | ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2F4B | secp256_r1 | | ML-KEM | ML-KEM | mlkem512 | FIPS203 | 1 | 0x2FB6 | x25519 | | ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x0768 | | | ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F4C | secp384_r1 | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2F4E | p256 | | ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB7 | x448 | -| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 4588 | x25519 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 0x2FB8 | x25519 | +| ML-KEM | ML-KEM | mlkem768 | FIPS203 | 3 | 4587 | p256 | diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 39565f5d..d51631b0 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -78,12 +78,12 @@ static OQS_GROUP_CONSTANTS oqs_group_list[] = { {0x2F4C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2FB7, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {4588, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F4E, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB8, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {4587, 192, TLS1_3_VERSION, 0, -1, -1, 1}, {0x1024, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2F4D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F4F, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4E, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1},