diff --git a/Cargo.lock b/Cargo.lock index 2ab0e1c..138a8c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -578,21 +578,6 @@ dependencies = [ "cmov", ] -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures 0.2.17", - "curve25519-dalek-derive", - "fiat-crypto 0.2.9", - "rustc_version", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "5.0.0" @@ -603,7 +588,7 @@ dependencies = [ "cpufeatures 0.3.0", "curve25519-dalek-derive", "digest 0.11.3", - "fiat-crypto 0.3.0", + "fiat-crypto", "rand_core 0.10.1", "rustc_version", "subtle", @@ -742,7 +727,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ebaa1a2bf1290ab3bfe5a7b771d050ebffab2711c19a81691c683a5144a25de" dependencies = [ - "curve25519-dalek 5.0.0", + "curve25519-dalek", "ed25519", "rand_core 0.10.1", "sha2 0.11.0", @@ -890,12 +875,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fiat-crypto" version = "0.3.0" @@ -3946,13 +3925,13 @@ checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" [[package]] name = "x25519-dalek" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +checksum = "e7e8131a03190127fb2263afc72b322ecadae46b6ff8c6f399ff5d02f5559af6" dependencies = [ - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", - "serde", + "curve25519-dalek", + "getrandom 0.4.3", + "rand_core 0.10.1", "zeroize", ] @@ -4118,20 +4097,6 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] [[package]] name = "zerotrie" diff --git a/Cargo.toml b/Cargo.toml index 3043668..d39df37 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ repository = "https://github.com/rennerdo30/toss-share" tokio = { version = "1.49", features = ["full"] } # Crypto -x25519-dalek = { version = "2.0", features = ["static_secrets"] } +x25519-dalek = { version = "3.0", features = ["static_secrets", "getrandom"] } aes-gcm = "0.11" hkdf = "0.13" sha2 = "0.11" diff --git a/rust_core/src/crypto/key_exchange.rs b/rust_core/src/crypto/key_exchange.rs index 0e966aa..47ecfd7 100644 --- a/rust_core/src/crypto/key_exchange.rs +++ b/rust_core/src/crypto/key_exchange.rs @@ -1,6 +1,5 @@ //! X25519 key exchange -use rand_core::OsRng; use x25519_dalek::{EphemeralSecret, PublicKey, SharedSecret as X25519SharedSecret}; /// Ephemeral key pair for X25519 key exchange @@ -12,7 +11,7 @@ pub struct EphemeralKeyPair { impl EphemeralKeyPair { /// Generate a new ephemeral key pair pub fn generate() -> Self { - let secret = EphemeralSecret::random_from_rng(OsRng); + let secret = EphemeralSecret::random(); let public = PublicKey::from(&secret); Self { secret, public } }