diff --git a/Cargo.lock b/Cargo.lock index 9b926b69..9af315f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,10 +19,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures 0.2.17", ] +[[package]] +name = "aes" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8" +dependencies = [ + "cipher 0.5.1", + "cpubits", + "cpufeatures 0.3.0", +] + [[package]] name = "aes-gcm" version = "0.10.3" @@ -30,18 +41,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", - "aes", - "cipher", - "ctr", - "ghash", + "aes 0.8.4", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.1", "subtle", ] [[package]] name = "afl" -version = "0.17.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62656735672273d859b4e3dcd2d3c6dbe2f4decee62e3c206aad2363b1a2f9e2" +checksum = "97f234ba65eadcb51ea4e5c33dfdf05d6c512e297b4fb8fd31159e2dac4e7cc8" dependencies = [ "home", "libc", @@ -96,9 +107,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.21" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -117,9 +128,9 @@ checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -190,9 +201,9 @@ dependencies = [ [[package]] name = "assert_cmd" -version = "2.1.2" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" +checksum = "2aa3a22042e45de04255c7bf3626e239f450200fd0493c1e382263544b20aea6" dependencies = [ "anstyle", "bstr", @@ -241,9 +252,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" dependencies = [ "serde_core", ] @@ -257,6 +268,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array 0.4.7", +] + [[package]] name = "brotli" version = "3.5.0" @@ -345,7 +365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", "cpufeatures 0.2.17", ] @@ -368,7 +388,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20 0.9.1", - "cipher", + "cipher 0.4.4", "poly1305", "zeroize", ] @@ -407,24 +427,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common 0.1.7", - "inout", + "inout 0.1.4", "zeroize", ] +[[package]] +name = "cipher" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" +dependencies = [ + "block-buffer 0.12.0", + "crypto-common 0.2.0", + "inout 0.2.2", +] + [[package]] name = "clap" -version = "4.5.60" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.60" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -448,12 +479,24 @@ dependencies = [ "hashbrown 0.16.1", ] +[[package]] +name = "cmov" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" + [[package]] name = "colorchoice" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -562,7 +605,25 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher", + "cipher 0.4.4", +] + +[[package]] +name = "ctr" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17469f8eb9bdbfad10f71f4cfddfd38b01143520c0e717d8796ccb4d44d44e42" +dependencies = [ + "cipher 0.5.1", +] + +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", ] [[package]] @@ -602,7 +663,7 @@ dependencies = [ "der-parser", "pem", "rand_core 0.6.4", - "sha2", + "sha2 0.11.0", "x25519-dalek", ] @@ -631,18 +692,20 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", + "block-buffer 0.10.4", "crypto-common 0.1.7", "subtle", ] [[package]] name = "digest" -version = "0.11.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ + "block-buffer 0.12.0", "crypto-common 0.2.0", + "ctutils", ] [[package]] @@ -680,7 +743,7 @@ dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", - "sha2", + "sha2 0.10.9", "signature", "subtle", "zeroize", @@ -804,7 +867,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ "opaque-debug", - "polyval", + "polyval 0.6.2", +] + +[[package]] +name = "ghash" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eecf2d5dc9b66b732b97707a0210906b1d30523eb773193ab777c0c84b3e8d5" +dependencies = [ + "polyval 0.7.1", ] [[package]] @@ -892,7 +964,16 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac", + "hmac 0.12.1", +] + +[[package]] +name = "hkdf" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" +dependencies = [ + "hmac 0.13.0", ] [[package]] @@ -904,6 +985,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "hmac" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +dependencies = [ + "digest 0.11.3", +] + [[package]] name = "home" version = "0.5.12" @@ -915,19 +1005,19 @@ dependencies = [ [[package]] name = "hpke" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4917627a14198c3603282c5158b815ad5534795451d3c074b53cf3cee0960b11" +checksum = "f65d16b699dd1a1fa2d851c970b0c971b388eeeb40f744252b8de48860980c8f" dependencies = [ "aead", "aes-gcm", "chacha20poly1305", "digest 0.10.7", "generic-array", - "hkdf", - "hmac", - "rand_core 0.6.4", - "sha2", + "hkdf 0.12.4", + "hmac 0.12.1", + "rand_core 0.9.5", + "sha2 0.10.9", "subtle", "x25519-dalek", "zeroize", @@ -1004,6 +1094,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "inout" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" +dependencies = [ + "hybrid-array 0.4.7", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.2" @@ -1124,20 +1223,20 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddcfd1ae9dfb3cb04ef4912c714f84463ae619f9872511835fc6a4b3b2ddfef9" dependencies = [ - "aes", + "aes 0.8.4", "bincode", "bitflags", "brotli 3.5.0", "byteorder", - "ctr", - "digest 0.11.1", + "ctr 0.9.2", + "digest 0.11.3", "generic-array", - "ghash", - "hkdf", + "ghash 0.5.1", + "hkdf 0.13.0", "rand 0.8.5", "rand_chacha 0.3.1", "serde", - "sha2", + "sha2 0.11.0", "subtle", "x25519-dalek", "zeroize", @@ -1148,26 +1247,26 @@ name = "mla" version = "2.0.0" dependencies = [ "aead", - "aes", + "aes 0.9.0", "aes-gcm", "bitflags", "brotli 8.0.2", "criterion", - "ctr", + "ctr 0.10.0", "curve25519-dalek", - "digest 0.11.1", + "digest 0.11.3", "ed25519-dalek", "generic-array", - "ghash", + "ghash 0.6.0", "hex", "hex-literal", - "hkdf", + "hkdf 0.13.0", "hpke", "ml-dsa", "ml-kem", "rand 0.8.5", - "rand_chacha 0.3.1", - "sha2", + "rand_chacha 0.10.0", + "sha2 0.11.0", "static_assertions", "subtle", "x25519-dalek", @@ -1204,7 +1303,7 @@ dependencies = [ "rand 0.10.0", "rand_chacha 0.10.0", "rustix", - "sha2", + "sha2 0.11.0", "tar", "winapi", "windows", @@ -1298,7 +1397,7 @@ checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures 0.2.17", "opaque-debug", - "universal-hash", + "universal-hash 0.5.1", ] [[package]] @@ -1310,7 +1409,18 @@ dependencies = [ "cfg-if", "cpufeatures 0.2.17", "opaque-debug", - "universal-hash", + "universal-hash 0.5.1", +] + +[[package]] +name = "polyval" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dfc63250416fea14f5749b90725916a6c903f599d51cb635aa7a52bfd03eede" +dependencies = [ + "cpubits", + "cpufeatures 0.3.0", + "universal-hash 0.6.1", ] [[package]] @@ -1434,6 +1544,12 @@ dependencies = [ "getrandom 0.2.16", ] +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" + [[package]] name = "rand_core" version = "0.10.0" @@ -1584,6 +1700,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + [[package]] name = "sha3" version = "0.10.8" @@ -1760,6 +1887,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "universal-hash" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4987bdc12753382e0bec4a65c50738ffaabc998b9cdd1f952fb5f39b0048a96" +dependencies = [ + "crypto-common 0.2.0", + "ctutils", +] + [[package]] name = "utf8parse" version = "0.2.2" diff --git a/mla-fuzz-afl/Cargo.toml b/mla-fuzz-afl/Cargo.toml index 5e9222b0..eaca5826 100644 --- a/mla-fuzz-afl/Cargo.toml +++ b/mla-fuzz-afl/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -afl = "0.17" +afl = "0.18" mla = { path = "../mla" } [lints] diff --git a/mla/Cargo.toml b/mla/Cargo.toml index 2c862e93..d3f1c24b 100644 --- a/mla/Cargo.toml +++ b/mla/Cargo.toml @@ -15,26 +15,26 @@ readme = "../README.md" # Wait that all MLA dependencies upgrade below crate to do it too as there is a trait modification (CryptoRngCore -> CryptoRng + RngCore) rand = { version = "0.8", default-features = false, features = ["getrandom", "std"]} # Wait that all MLA dependencies upgrade below crate to do it too as there is a trait modification (CryptoRngCore -> CryptoRng + RngCore) -rand_chacha = { version = "0.3", default-features = false} +rand_chacha = { version = "0.10", default-features = false} brotli = { version = "8.0", default-features = false, features = ["std"]} bitflags = { version = "2.11", default-features = false } # Crypto needs # Version fixed due to avoid conflict dependencies with `aes`, `aes-ctr` and `ghash` generic-array = { version = "0.14", default-features = false} -ghash = { version = "0.5", default-features = false} -aes = { version = "0.8", default-features = false} -ctr = { version = "0.9", default-features = false} +ghash = { version = "0.6", default-features = false} +aes = { version = "0.9", default-features = false} +ctr = { version = "0.10", default-features = false} subtle = { version = "2.6", default-features = false} digest = { version = "0.11", default-features = false} # ECC x25519-dalek = { version = "2.0", default-features = false, features = ["zeroize", "static_secrets"]} -hkdf = { version = "0.12", default-features = false} -sha2 = { version = "0.10", default-features = false} +hkdf = { version = "0.13", default-features = false} +sha2 = { version = "0.11", default-features = false} zeroize = { version = "1.8", default-features = false} # Post-quantum ml-kem = { version = "=0.2.3", default-features = false, features = ["deterministic", "zeroize"] } # Wait that all MLA dependencies upgrade below crate to do it too as there is a trait modification (CryptoRngCore -> CryptoRng + RngCore) -hpke = { version = "0.12", default-features = false, features = ["alloc", "x25519"] } +hpke = { version = "0.13", default-features = false, features = ["alloc", "x25519"] } curve25519-dalek = { version = "4.1", default-features = false} ed25519-dalek = { version = "2.2", default-features = false, features = ["digest", "fast", "rand_core", "zeroize"] } ml-dsa = { version = "0.0.4", default-features = false, features = ["rand_core", "zeroize"] } diff --git a/mlar/Cargo.toml b/mlar/Cargo.toml index 5f25c8a0..ba2fee62 100644 --- a/mlar/Cargo.toml +++ b/mlar/Cargo.toml @@ -13,11 +13,11 @@ readme = "../README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -clap = { version = "4.5", features = ["wrap_help"] } +clap = { version = "4.6", features = ["wrap_help"] } glob = "0.3" mla = { path = "../mla", version = "2.0.0" } hex = "0.4" -sha2 = { version = "0.10", default-features = false} +sha2 = { version = "0.11", default-features = false} rustix = { version = "1.1", default-features = false, features = ["fs"] } # Could be made optional / feature to enable (for binary size) tar = "0.4" @@ -34,7 +34,7 @@ windows-result = "0.4" workspace = true [dev-dependencies] -assert_cmd = "2.1" +assert_cmd = "2.2" assert_fs = "1.1" permutate = "0.3" rand = "0.10" diff --git a/mlar/mlar-upgrader/Cargo.toml b/mlar/mlar-upgrader/Cargo.toml index 915a23dc..02e72c56 100644 --- a/mlar/mlar-upgrader/Cargo.toml +++ b/mlar/mlar-upgrader/Cargo.toml @@ -4,7 +4,7 @@ version = "2.0.0" edition = "2024" [dependencies] -clap = { version = "4.5", features = ["wrap_help"] } +clap = { version = "4.6", features = ["wrap_help"] } curve25519-parser = { version = "0.4" } mla_v1 = { version = "1", registry = "crates-io", package = "mla" } mla = { path = "../../mla", version = "2.0.0" } @@ -13,4 +13,4 @@ mla = { path = "../../mla", version = "2.0.0" } workspace = true [dev-dependencies] -assert_cmd = "2.1" +assert_cmd = "2.2"