From 6542501b7aa874e2b7618001e107160a37acbdd7 Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Fri, 10 May 2024 13:21:51 -0700 Subject: [PATCH] Bump to pre-releases - password-hash =0.6.0-pre.0 - digest =0.11.0-pre.8 - curve25519-dalek =4.2.0-pre - scrypt =0.12.0-pre.0 - sha1 =0.11.0-pre.3 - sha2 =0.11.0-pre.3 - hkdf =0.13.0-pre.3 --- Cargo.lock | 110 +++++++++--------- Cargo.toml | 10 ++ aucpace/Cargo.toml | 16 +-- aucpace/examples/key_agreement.rs | 4 +- aucpace/examples/key_agreement_no_std.rs | 4 +- aucpace/examples/key_agreement_partial_aug.rs | 4 +- aucpace/examples/key_agreement_strong.rs | 4 +- spake2/Cargo.toml | 8 +- srp/Cargo.toml | 7 +- 9 files changed, 86 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4bcd849..66d6a97 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,11 +56,11 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.11.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" dependencies = [ - "generic-array", + "crypto-common", ] [[package]] @@ -77,9 +77,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cipher" -version = "0.4.4" +version = "0.5.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "84fba98785cecd0e308818a87c817576a40f99d8bab6405bf422bacd3efb6c1f" dependencies = [ "crypto-common", "inout", @@ -91,6 +91,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" +[[package]] +name = "const-oid" +version = "0.10.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e3352a27098ba6b09546e5f13b15165e6a88b5c2723afecb3ea9576b27e3ea" + [[package]] name = "cpufeatures" version = "0.2.10" @@ -108,19 +114,19 @@ checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.2.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" dependencies = [ - "generic-array", - "typenum", + "getrandom", + "hybrid-array", + "rand_core", ] [[package]] name = "curve25519-dalek" -version = "4.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +version = "4.2.0-pre" +source = "git+https://github.com/baloo/curve25519-dalek.git?branch=baloo/rust-crypto/digest-sha2-bumps#70f0a07c65d3cbc9b01583c19cc9cd6b4ae5e407" dependencies = [ "cfg-if", "cpufeatures", @@ -137,9 +143,8 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +version = "0.1.1" +source = "git+https://github.com/baloo/curve25519-dalek.git?branch=baloo/rust-crypto/digest-sha2-bumps#70f0a07c65d3cbc9b01583c19cc9cd6b4ae5e407" dependencies = [ "proc-macro2", "quote", @@ -148,11 +153,12 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.7" +version = "0.11.0-pre.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -163,16 +169,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - [[package]] name = "getrandom" version = "0.2.10" @@ -221,29 +217,38 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hkdf" -version = "0.12.4" +version = "0.13.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "fd5d615ab5c462f96c309b3a00b19f373025a4981312f717f9df5bbd0201530c" dependencies = [ "hmac", ] [[package]] name = "hmac" -version = "0.12.1" +version = "0.13.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "ffd790a0795ee332ed3e8959e5b177beb70d7112eb7d345428ec17427897d5ce" dependencies = [ "digest", ] +[[package]] +name = "hybrid-array" +version = "0.2.0-rc.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53668f5da5a41d9eaf4bf7064be46d1ebe6a4e1ceed817f387587b18f2b51047" +dependencies = [ + "typenum", +] + [[package]] name = "inout" -version = "0.1.3" +version = "0.2.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "0a2cc35b920cc3b344af824e64e508ffc2c819fc2368ed4d253244446194d2fe" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] @@ -300,9 +305,9 @@ dependencies = [ [[package]] name = "password-hash" -version = "0.5.0" +version = "0.6.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +checksum = "1729c85c9293ba93ed2b92983c462cd6d5acc5d747a47188e5c71a216753a7d4" dependencies = [ "base64ct", "rand_core", @@ -311,9 +316,8 @@ dependencies = [ [[package]] name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +version = "0.13.0-pre.0" +source = "git+https://github.com/RustCrypto/password-hashes.git#8abb1a7e785ff95aa7924c8e4070f1a52c66a632" dependencies = [ "digest", "hmac", @@ -401,10 +405,10 @@ dependencies = [ [[package]] name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +version = "0.11.0-pre" +source = "git+https://github.com/RustCrypto/stream-ciphers.git#f42737a028575387023757aa0d7eaeaa8778ce7b" dependencies = [ + "cfg-if", "cipher", ] @@ -416,9 +420,8 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scrypt" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" +version = "0.12.0-pre.0" +source = "git+https://github.com/RustCrypto/password-hashes.git#8abb1a7e785ff95aa7924c8e4070f1a52c66a632" dependencies = [ "password-hash", "pbkdf2", @@ -463,9 +466,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.6" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +checksum = "3885de8cb916f223718c1ccd47a840b91f806333e76002dc5cb3862154b4fed3" dependencies = [ "cfg-if", "cpufeatures", @@ -474,9 +477,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "8f33549bf3064b62478926aa89cbfc7c109aab66ae8f0d5d2ef839e482cc30d6" dependencies = [ "cfg-if", "cpufeatures", @@ -485,7 +488,7 @@ dependencies = [ [[package]] name = "spake2" -version = "0.4.0" +version = "0.4.1-pre" dependencies = [ "bencher", "curve25519-dalek", @@ -510,7 +513,6 @@ name = "srp" version = "0.7.0-pre" dependencies = [ "digest", - "generic-array", "hex-literal", "lazy_static", "num-bigint", @@ -556,12 +558,6 @@ version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 7f261cf..1a8def0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,3 +8,13 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +curve25519-dalek = { git = "https://github.com/baloo/curve25519-dalek.git", branch = "baloo/rust-crypto/digest-sha2-bumps" } + +# https://github.com/RustCrypto/password-hashes/pull/497 +scrypt = { git = "https://github.com/RustCrypto/password-hashes.git" } + +# https://github.com/RustCrypto/stream-ciphers/pull/345 +# https://github.com/RustCrypto/stream-ciphers/pull/346 +salsa20 = { git = "https://github.com/RustCrypto/stream-ciphers.git" } diff --git a/aucpace/Cargo.toml b/aucpace/Cargo.toml index 8e33ae8..36af8aa 100644 --- a/aucpace/Cargo.toml +++ b/aucpace/Cargo.toml @@ -15,11 +15,11 @@ edition = "2021" rust-version = "1.61" [dependencies] -curve25519-dalek = { version = "4", default-features = false, features = [ +curve25519-dalek = { version = "=4.2.0-pre", default-features = false, features = [ "digest", "rand_core", ] } -password-hash = { version = "0.5", default-features = false, features = [ +password-hash = { version = "=0.6.0-pre.0", default-features = false, features = [ "rand_core", ] } rand_core = { version = "0.6", default-features = false } @@ -28,19 +28,19 @@ serde = { version = "1.0.184", default-features = false, optional = true, featur ] } serde-byte-array = { version = "0.1", optional = true } subtle = { version = "2.4", default-features = false } -scrypt = { version = "0.11", default-features = false, optional = true, features = [ +scrypt = { version = "=0.12.0-pre.0", default-features = false, optional = true, features = [ "simple", ] } -sha2 = { version = "0.10", default-features = false, optional = true } +sha2 = { version = "=0.11.0-pre.3", default-features = false, optional = true } [dev-dependencies] bincode = "1" -curve25519-dalek = { version = "4", features = ["digest", "rand_core"] } -password-hash = { version = "0.5", features = ["rand_core"] } +curve25519-dalek = { version = "=4.2.0-pre", features = ["digest", "rand_core"] } +password-hash = { version = "=0.6.0-pre.0", features = ["rand_core"] } postcard = "1" rand_core = "0.6" -scrypt = { version = "0.11", features = ["simple"] } -sha2 = "0.10" +scrypt = { version = "=0.12.0-pre.0", features = ["simple"] } +sha2 = "=0.11.0-pre.3" [features] default = ["scrypt", "sha2", "getrandom"] diff --git a/aucpace/examples/key_agreement.rs b/aucpace/examples/key_agreement.rs index 3c1fff3..fb52240 100644 --- a/aucpace/examples/key_agreement.rs +++ b/aucpace/examples/key_agreement.rs @@ -231,8 +231,8 @@ fn main() -> Result<()> { let server_key: Output = server_thread.join().unwrap().unwrap(); assert_eq!(client_key, server_key); println!( - "Negotiation finished, both parties arrived at a key of: {:X}", - client_key + "Negotiation finished, both parties arrived at a key of: {:X?}", + client_key.as_slice() ); println!( "Client sent {} bytes total", diff --git a/aucpace/examples/key_agreement_no_std.rs b/aucpace/examples/key_agreement_no_std.rs index d0217c7..e30c997 100644 --- a/aucpace/examples/key_agreement_no_std.rs +++ b/aucpace/examples/key_agreement_no_std.rs @@ -225,8 +225,8 @@ fn main() -> Result<()> { // assert that both threads arrived at the same key assert_eq!(client_key, server_key); println!( - "Negotiation finished, both parties arrived at a key of: {:X}", - client_key + "Negotiation finished, both parties arrived at a key of: {:X?}", + client_key.as_slice() ); println!("Client sent {} bytes total", client_bytes_sent); diff --git a/aucpace/examples/key_agreement_partial_aug.rs b/aucpace/examples/key_agreement_partial_aug.rs index da2b41e..868587b 100644 --- a/aucpace/examples/key_agreement_partial_aug.rs +++ b/aucpace/examples/key_agreement_partial_aug.rs @@ -239,8 +239,8 @@ fn main() -> Result<()> { let server_key: Output = server_thread.join().unwrap().unwrap(); assert_eq!(client_key, server_key); println!( - "Negotiation finished, both parties arrived at a key of: {:X}", - client_key + "Negotiation finished, both parties arrived at a key of: {:X?}", + client_key.as_slice() ); println!( "Client sent {} bytes total", diff --git a/aucpace/examples/key_agreement_strong.rs b/aucpace/examples/key_agreement_strong.rs index 3422eb1..65d0914 100644 --- a/aucpace/examples/key_agreement_strong.rs +++ b/aucpace/examples/key_agreement_strong.rs @@ -235,8 +235,8 @@ fn main() -> Result<()> { let server_key: Output = server_thread.join().unwrap().unwrap(); assert_eq!(client_key, server_key); println!( - "Negotiation finished, both parties arrived at a key of: {:X}", - client_key + "Negotiation finished, both parties arrived at a key of: {:X?}", + client_key.as_slice() ); println!( "Client sent {} bytes total", diff --git a/spake2/Cargo.toml b/spake2/Cargo.toml index 6e22f7f..85b8e25 100644 --- a/spake2/Cargo.toml +++ b/spake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spake2" -version = "0.4.0" +version = "0.4.1-pre" authors = ["Brian Warner "] description = "The SPAKE2 password-authenticated key-exchange algorithm." documentation = "https://docs.rs/spake2" @@ -15,10 +15,10 @@ edition = "2021" rust-version = "1.60" [dependencies] -curve25519-dalek = { version = "4", default-features = false, features = ["rand_core"] } +curve25519-dalek = { version = "=4.2.0-pre", default-features = false, features = ["rand_core"] } rand_core = { version = "0.6", default-features = false } -sha2 = { version = "0.10", default-features = false } -hkdf = { version = "0.12", default-features = false } +sha2 = { version = "=0.11.0-pre.3", default-features = false } +hkdf = { version = "=0.13.0-pre.3", default-features = false } [dev-dependencies] bencher = "0.1" diff --git a/srp/Cargo.toml b/srp/Cargo.toml index 09a4ebb..d96e073 100644 --- a/srp/Cargo.toml +++ b/srp/Cargo.toml @@ -14,8 +14,7 @@ rust-version = "1.61" [dependencies] num-bigint = "0.4" -generic-array = "0.14" -digest = "0.10" +digest = "=0.11.0-pre.8" lazy_static = "1.2" subtle = "2.4" @@ -23,5 +22,5 @@ subtle = "2.4" hex-literal = "0.4" num-traits = "0.2" rand = "0.8" -sha1 = "0.10" -sha2 = "0.10" +sha1 = "=0.11.0-pre.3" +sha2 = "=0.11.0-pre.3"