Skip to content

Commit 7b3fb17

Browse files
committed
fix for MLKEM1024 (v0.5.6)
1 parent 141f564 commit 7b3fb17

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ members = ["boring", "boring-sys", "tokio-boring"]
33
resolver = "2"
44

55
[workspace.package]
6-
version = "0.5.5"
6+
version = "0.5.6"
77
repository = "https://github.com/plabayo/rama-boring"
88
# we should stick on edition 2021 until ecosystem is ready,
99
# and perhaps let cloudflare do it if ever,
@@ -18,9 +18,9 @@ tag-prefix = ""
1818
publish = false
1919

2020
[workspace.dependencies]
21-
rama-boring = { version = "0.5.5", path = "./boring" }
22-
rama-boring-sys = { version = "0.5.5", path = "./boring-sys" }
23-
rama-boring-tokio = { version = "0.5.5", path = "./tokio-boring" }
21+
rama-boring = { version = "0.5.6", path = "./boring" }
22+
rama-boring-sys = { version = "0.5.6", path = "./boring-sys" }
23+
rama-boring-tokio = { version = "0.5.6", path = "./tokio-boring" }
2424

2525
antidote = "1.0.0"
2626
anyhow = "1"

boring-sys/patches/rama_boring_pq.patch

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3648,10 +3648,10 @@ index 344e7f2ea..72f743137 100644
36483648
12 /* X509 */,
36493649
402 /* X509v3 AC Targeting */,
36503650
diff --git a/crypto/obj/obj_mac.num b/crypto/obj/obj_mac.num
3651-
index 82d0a3db0..2a46adfe8 100644
3651+
index 82d0a3db0..e768101da 100644
36523652
--- a/crypto/obj/obj_mac.num
36533653
+++ b/crypto/obj/obj_mac.num
3654-
@@ -952,5 +952,7 @@ X448 961
3654+
@@ -952,5 +952,8 @@ X448 961
36553655
sha512_256 962
36563656
hkdf 963
36573657
X25519Kyber768Draft00 964
@@ -3661,6 +3661,7 @@ index 82d0a3db0..2a46adfe8 100644
36613661
+P256Kyber768Draft00 966
36623662
+X25519Kyber768Draft00Old 967
36633663
+X25519MLKEM768 968
3664+
+MLKEM1024 969
36643665
diff --git a/crypto/obj/objects.txt b/crypto/obj/objects.txt
36653666
index a38969bc4..14859cb4c 100644
36663667
--- a/crypto/obj/objects.txt
@@ -3892,10 +3893,10 @@ index 000000000..745defefd
38923893
+
38933894
+#endif // OPENSSL_HEADER_CRYPTO_KYBER_INTERNAL_H
38943895
diff --git a/include/openssl/nid.h b/include/openssl/nid.h
3895-
index 7f018ceec..6dfd090e6 100644
3896+
index 7f018ceec..a71e719d9 100644
38963897
--- a/include/openssl/nid.h
38973898
+++ b/include/openssl/nid.h
3898-
@@ -4213,8 +4213,17 @@ extern "C" {
3899+
@@ -4213,11 +4213,20 @@ extern "C" {
38993900
#define SN_X25519Kyber768Draft00 "X25519Kyber768Draft00"
39003901
#define NID_X25519Kyber768Draft00 964
39013902

@@ -3913,7 +3914,11 @@ index 7f018ceec..6dfd090e6 100644
39133914
+#define NID_X25519MLKEM768 968
39143915

39153916
#define SN_MLKEM1024 "MLKEM1024"
3916-
#define NID_MLKEM1024 966
3917+
-#define NID_MLKEM1024 966
3918+
+#define NID_MLKEM1024 969
3919+
3920+
3921+
#if defined(__cplusplus)
39173922
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
39183923
index eb9ef2d87..fde43d5dd 100644
39193924
--- a/include/openssl/ssl.h
@@ -3943,20 +3948,20 @@ index 1366cc825..2631944e3 100644
39433948
case SSL_GROUP_MLKEM1024:
39443949
return true;
39453950
diff --git a/ssl/internal.h b/ssl/internal.h
3946-
index f623e2dc8..ea0d825e4 100644
3951+
index f623e2dc8..c4eafca7b 100644
39473952
--- a/ssl/internal.h
39483953
+++ b/ssl/internal.h
39493954
@@ -964,7 +964,7 @@ struct NamedGroup {
39503955
Span<const NamedGroup> NamedGroups();
39513956

39523957
// kNumNamedGroups is the number of supported groups.
39533958
-constexpr size_t kNumNamedGroups = 7u;
3954-
+constexpr size_t kNumNamedGroups = 9u;
3959+
+constexpr size_t kNumNamedGroups = 10u;
39553960

39563961
// DefaultSupportedGroupIds returns the list of IDs for the default groups that
39573962
// are supported when the caller hasn't explicitly configured supported groups.
39583963
diff --git a/ssl/ssl_key_share.cc b/ssl/ssl_key_share.cc
3959-
index 94d07ff95..51eba7fb2 100644
3964+
index 94d07ff95..89b7ae7d6 100644
39603965
--- a/ssl/ssl_key_share.cc
39613966
+++ b/ssl/ssl_key_share.cc
39623967
@@ -26,14 +26,15 @@
@@ -4582,7 +4587,7 @@ index 94d07ff95..51eba7fb2 100644
45824587
};
45834588

45844589
// draft-ietf-tls-mlkem-04
4585-
@@ -440,10 +783,16 @@ constexpr NamedGroup kNamedGroups[] = {
4590+
@@ -440,10 +783,17 @@ constexpr NamedGroup kNamedGroups[] = {
45864591
{NID_secp384r1, SSL_GROUP_SECP384R1, "P-384", "secp384r1"},
45874592
{NID_secp521r1, SSL_GROUP_SECP521R1, "P-521", "secp521r1"},
45884593
{NID_X25519, SSL_GROUP_X25519, "X25519", "x25519"},
@@ -4598,11 +4603,12 @@ index 94d07ff95..51eba7fb2 100644
45984603
+ {NID_P256Kyber768Draft00, SSL_GROUP_P256_KYBER768_DRAFT00,
45994604
+ "P256Kyber768Draft00", "P256Kyber768D00"},
46004605
+ {NID_X25519MLKEM768, SSL_GROUP_X25519_MLKEM768,
4601-
+ "X25519MLKEM768", "X25519MLKEM768"}
4606+
+ "X25519MLKEM768", "X25519MLKEM768"},
4607+
+ {NID_MLKEM1024, SSL_GROUP_MLKEM1024, "MLKEM1024", ""}
46024608
};
46034609

46044610
static_assert(std::size(kNamedGroups) == kNumNamedGroups,
4605-
@@ -455,9 +804,14 @@ Span<const NamedGroup> NamedGroups() { return kNamedGroups; }
4611+
@@ -455,9 +805,14 @@ Span<const NamedGroup> NamedGroups() { return kNamedGroups; }
46064612

46074613
Span<const uint16_t> DefaultSupportedGroupIds() {
46084614
static const uint16_t kDefaultSupportedGroupIds[] = {
@@ -4620,7 +4626,7 @@ index 94d07ff95..51eba7fb2 100644
46204626
};
46214627
return Span(kDefaultSupportedGroupIds);
46224628
}
4623-
@@ -472,10 +826,16 @@ UniquePtr<SSLKeyShare> SSLKeyShare::Create(uint16_t group_id) {
4629+
@@ -472,10 +827,16 @@ UniquePtr<SSLKeyShare> SSLKeyShare::Create(uint16_t group_id) {
46244630
return MakeUnique<ECKeyShare>(EC_group_p521(), SSL_GROUP_SECP521R1);
46254631
case SSL_GROUP_X25519:
46264632
return MakeUnique<X25519KeyShare>();

0 commit comments

Comments
 (0)