From 9fa6000572423da357acba7dcf182bcc6bd76323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 13 Mar 2026 15:00:29 +0300 Subject: [PATCH 1/2] Use `(Reset)MacTraits` --- Cargo.lock | 11 +++++------ Cargo.toml | 3 +++ belt-mac/src/lib.rs | 2 +- cbc-mac/src/lib.rs | 2 +- cmac/src/lib.rs | 2 +- hmac/src/lib.rs | 4 ++-- pmac/src/lib.rs | 2 +- retail-mac/src/lib.rs | 5 +++-- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f6d7cd4..f619b07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -151,8 +151,7 @@ dependencies = [ [[package]] name = "digest" version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243" +source = "git+https://github.com/RustCrypto/traits#84476d3c0d005820b39be4780c52b864ca43335f" dependencies = [ "blobby", "block-buffer", @@ -181,9 +180,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b229d73f5803b562cc26e4da0396c8610a4ee209f4fac8fa4f8d709166dc45" +checksum = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" dependencies = [ "typenum", "zeroize", @@ -210,9 +209,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.182" +version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] name = "magma" diff --git a/Cargo.toml b/Cargo.toml index b8c3abb..b34d357 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,3 +11,6 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +digest = { git = "https://github.com/RustCrypto/traits" } diff --git a/belt-mac/src/lib.rs b/belt-mac/src/lib.rs index 12002e5..3c44212 100644 --- a/belt-mac/src/lib.rs +++ b/belt-mac/src/lib.rs @@ -20,7 +20,7 @@ digest::buffer_fixed!( /// BeltMac instance generic over block cipher. #[derive(Clone)] pub struct GenericBeltMac(block_api::BeltMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset AlgorithmName InnerInit; + impl: ResetMacTraits AlgorithmName InnerInit; ); /// BeltMac instance. diff --git a/cbc-mac/src/lib.rs b/cbc-mac/src/lib.rs index 6bf2ff5..193cc88 100644 --- a/cbc-mac/src/lib.rs +++ b/cbc-mac/src/lib.rs @@ -20,7 +20,7 @@ digest::buffer_fixed!( /// Generic CBC-MAC instance. #[derive(Clone)] pub struct CbcMac(block_api::CbcMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for CbcMac diff --git a/cmac/src/lib.rs b/cmac/src/lib.rs index 8897e5a..13a7fa6 100644 --- a/cmac/src/lib.rs +++ b/cmac/src/lib.rs @@ -21,7 +21,7 @@ digest::buffer_fixed!( /// Generic CMAC instance. #[derive(Clone)] pub struct Cmac(block_api::CmacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for Cmac { diff --git a/hmac/src/lib.rs b/hmac/src/lib.rs index c06748d..e26c57a 100644 --- a/hmac/src/lib.rs +++ b/hmac/src/lib.rs @@ -37,7 +37,7 @@ digest::buffer_fixed!( /// Generic HMAC instance. #[derive(Clone)] pub struct Hmac(block_api::HmacCore); - impl: BaseFixedTraits MacMarker KeyInit; + impl: MacTraits KeyInit; ); impl AlgorithmName for Hmac { @@ -50,7 +50,7 @@ digest::buffer_fixed!( /// Generic HMAC instance with reset support. #[derive(Clone)] pub struct HmacReset(block_api::HmacResetCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset KeyInit; + impl: ResetMacTraits KeyInit; ); impl AlgorithmName for HmacReset { diff --git a/pmac/src/lib.rs b/pmac/src/lib.rs index c67f6d0..c70c18a 100644 --- a/pmac/src/lib.rs +++ b/pmac/src/lib.rs @@ -21,7 +21,7 @@ digest::buffer_fixed!( /// Generic PMAC instance with `LC_SIZE` = 20. #[derive(Clone)] pub struct Pmac(block_api::PmacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset InnerInit; + impl: ResetMacTraits InnerInit; ); impl AlgorithmName for Pmac { diff --git a/retail-mac/src/lib.rs b/retail-mac/src/lib.rs index 22da357..9d3d235 100644 --- a/retail-mac/src/lib.rs +++ b/retail-mac/src/lib.rs @@ -26,8 +26,9 @@ use digest::{ digest::buffer_fixed!( /// Generic Retail MAC instance. - pub struct RetailMac(RetailMacCore); - impl: BaseFixedTraits MacMarker Reset FixedOutputReset; + #[derive(Clone)] + pub struct RetailMac(RetailMacCore); + impl: ResetMacTraits; ); impl KeySizeUser for RetailMac From 3c67f5262e616a606db204cf74e7630d0331fbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 13 Mar 2026 19:47:49 +0300 Subject: [PATCH 2/2] Use published digest v0.11.2 --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f619b07..21dff8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,8 +150,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.1" -source = "git+https://github.com/RustCrypto/traits#84476d3c0d005820b39be4780c52b864ca43335f" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" dependencies = [ "blobby", "block-buffer", diff --git a/Cargo.toml b/Cargo.toml index b34d357..b8c3abb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -digest = { git = "https://github.com/RustCrypto/traits" }