From 9891ed01b289a3737dd4ff31c44fe699a49206f9 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 17 Jun 2026 11:14:08 -0600 Subject: [PATCH] dhkem: bump elliptic curve crates --- Cargo.lock | 42 ++++++++++++++++++++++-------------------- dhkem/Cargo.toml | 12 ++++++------ dhkem/src/ecdh_kem.rs | 4 ++-- 3 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d2ae8be..4914875 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -299,9 +299,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" +checksum = "97bb4a855e3b10f84c4e7e895a7de01db7f9a7b7eb7f73ed9773fd52ac686451" dependencies = [ "cpubits", "ctutils", @@ -409,9 +409,9 @@ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "elliptic-curve" -version = "0.14.0-rc.34" +version = "0.14.0-rc.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a44d097c9f3e494ddc19f77af5aab89f0b3b2652cde370ec8c6064faca5bd2" +checksum = "51c58d86e2f3cebbf2dfd94c4bf049585c7def71058ba506bfdafcb57652a34b" dependencies = [ "base16ct", "crypto-bigint", @@ -757,12 +757,13 @@ dependencies = [ [[package]] name = "k256" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea8e2b331bd02ab4a6342a78246a0a32096900951ea21aa4c768171ede67b5f" +checksum = "3b8687958774e6781d58e7177632a2c9eb4b59b9f3bc999a749d32585add0a8d" dependencies = [ "cpubits", "elliptic-curve", + "primeorder", ] [[package]] @@ -916,9 +917,9 @@ dependencies = [ [[package]] name = "p256" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41adc63effe99d48837a8cc0e6d7a77e32ae6a07f6000df466178dbc2193093e" +checksum = "fc7d8ed70255af8fecea30f284e523066cb19918cb2b4c17f41f78cda3291d64" dependencies = [ "elliptic-curve", "primefield", @@ -927,9 +928,9 @@ dependencies = [ [[package]] name = "p384" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd5333afa5ae0347f39e6a0f2c9c155da431583fd71fe5555bd0521b4ccaf02" +checksum = "563b53b275b129c6f070e538bf0845f8e6abd0b5ffeb3f53f1d6ea5f8dbb3b2c" dependencies = [ "elliptic-curve", "fiat-crypto", @@ -939,9 +940,9 @@ dependencies = [ [[package]] name = "p521" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3a5297f53dc16d35909060ba3032cff7867e8809f01e273ff325579d5f0ceae" +checksum = "71bed4316a8e79ff1f728527a4334da0c57256ed7ca8b34c2297d9cc34e70511" dependencies = [ "base16ct", "elliptic-curve", @@ -1033,9 +1034,9 @@ dependencies = [ [[package]] name = "primefield" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f845ec3240cd5ed5e1e31cf3ff633a5bf47c698dc4092ba9e767415b3d393406" +checksum = "8675564771a62f69a0af716b03e89b917b963c7b173b5855575e84fd4f605ca0" dependencies = [ "crypto-bigint", "crypto-common", @@ -1047,11 +1048,12 @@ dependencies = [ [[package]] name = "primeorder" -version = "0.14.0-rc.10" +version = "0.14.0-rc.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d2793f22b9b6fd11ef3ac1d59bf003c2573593e4968702341605c2748fd90bf" +checksum = "44545bd63647ac77eaed1589000a031632b0f7175e2c1cc48778787e9783baaf" dependencies = [ "elliptic-curve", + "primefield", ] [[package]] @@ -1836,18 +1838,18 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.8.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" dependencies = [ "proc-macro2", "quote", diff --git a/dhkem/Cargo.toml b/dhkem/Cargo.toml index 59ae274..9a13bd9 100644 --- a/dhkem/Cargo.toml +++ b/dhkem/Cargo.toml @@ -19,13 +19,13 @@ kem = "0.3" rand_core = "0.10" # optional dependencies -elliptic-curve = { version = "0.14.0-rc.33", optional = true, default-features = false } -k256 = { version = "0.14.0-rc.10", optional = true, default-features = false, features = ["arithmetic"] } -p256 = { version = "0.14.0-rc.10", optional = true, default-features = false, features = ["arithmetic"] } -p384 = { version = "0.14.0-rc.10", optional = true, default-features = false, features = ["arithmetic"] } -p521 = { version = "0.14.0-rc.10", optional = true, default-features = false, features = ["arithmetic"] } +elliptic-curve = { version = "0.14.0-rc.35", optional = true, default-features = false } +k256 = { version = "0.14.0-rc.12", optional = true, default-features = false, features = ["arithmetic"] } +p256 = { version = "0.14.0-rc.12", optional = true, default-features = false, features = ["arithmetic"] } +p384 = { version = "0.14.0-rc.12", optional = true, default-features = false, features = ["arithmetic"] } +p521 = { version = "0.14.0-rc.12", optional = true, default-features = false, features = ["arithmetic"] } x25519 = { version = "3.0.0-rc.0", package = "x25519-dalek", optional = true, default-features = false } -zeroize = { version = "1.8.1", optional = true, default-features = false } +zeroize = { version = "1.9", optional = true, default-features = false } [dev-dependencies] getrandom = { version = "0.4", features = ["sys_rng"] } diff --git a/dhkem/src/ecdh_kem.rs b/dhkem/src/ecdh_kem.rs index 89100a3..58bbecc 100644 --- a/dhkem/src/ecdh_kem.rs +++ b/dhkem/src/ecdh_kem.rs @@ -130,7 +130,7 @@ where ) -> Result>, Error> { let encapsulated_key = PublicKey::::from_sec1_bytes(encapsulated_key)?; let shared_secret = self.dk.diffie_hellman(&encapsulated_key); - Ok(shared_secret.raw_secret_bytes().clone()) + Ok(*shared_secret.raw_secret_bytes()) } } @@ -222,6 +222,6 @@ where let ss = sk.diffie_hellman(&self.0); let pk = sk.public_key().to_uncompressed_point(); - (pk, ss.raw_secret_bytes().clone()) + (pk, *ss.raw_secret_bytes()) } }