Skip to content

Commit 0e2f68a

Browse files
committed
rust: update digest to 0.10.6 and blake2 to 0.10.5
1 parent 412e340 commit 0e2f68a

File tree

112 files changed

+7103
-2039
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+7103
-2039
lines changed

src/rust/Cargo.lock

Lines changed: 39 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rust/bitbox02-rust/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ bitbox02-noise = {path = "../bitbox02-noise"}
3333
hex = { version = "0.4", default-features = false, features = ["alloc"] }
3434
sha2 = { version = "0.9.2", default-features = false }
3535
sha3 = { version = "0.9.1", default-features = false, optional = true }
36+
digest = "0.10.6"
3637
zeroize = "1.5.5"
3738
num-bigint = { version = "0.4.3", default-features = false, optional = true }
3839
num-traits = { version = "0.2", default-features = false, optional = true }
3940
bip32-ed25519 = { git = "https://github.com/digitalbitbox/rust-bip32-ed25519", tag = "v0.1.0", optional = true }
4041
bs58 = { version = "0.4.0", default-features = false, features = ["alloc", "check"], optional = true }
4142
bech32 = { version = "0.8.1", default-features = false, optional = true }
42-
blake2 = { version = "0.9.2", default-features = false, optional = true }
43+
blake2 = { version = "0.10.5", default-features = false, optional = true }
4344
minicbor = { version = "0.18.0", default-features = false, features = ["alloc"], optional = true }
4445
crc = { version = "2.1.0", optional = true }
4546
ed25519-dalek = { version = "1.0.1", default-features = false, features = ["u32_backend"], optional = true }
46-
digest = "0.9.0"
4747
lazy_static = { version = "1.4.0", optional = true }
4848
async-recursion = "1.0.0"
4949
hmac = "0.11.0"

src/rust/bitbox02-rust/src/hww/api/cardano/address.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use bech32::{FromBase32, ToBase32, Variant};
2828

2929
use blake2::{
3030
digest::{Update, VariableOutput},
31-
VarBlake2b,
31+
Blake2bVar,
3232
};
3333

3434
use super::params;
@@ -146,10 +146,10 @@ pub fn decode_payment_address(params: &params::Params, address: &str) -> Result<
146146
pub fn pubkey_hash_at_keypath(keypath: &[u32]) -> Result<[u8; ADDRESS_HASH_SIZE], ()> {
147147
let xpub = crate::keystore::ed25519::get_xpub(keypath)?;
148148
let pubkey_bytes = xpub.pubkey_bytes();
149-
let mut hasher = VarBlake2b::new(ADDRESS_HASH_SIZE).unwrap();
149+
let mut hasher = Blake2bVar::new(ADDRESS_HASH_SIZE).unwrap();
150150
hasher.update(pubkey_bytes);
151151
let mut out = [0u8; ADDRESS_HASH_SIZE];
152-
hasher.finalize_variable(|res| out.copy_from_slice(res));
152+
hasher.finalize_variable(&mut out).or(Err(()))?;
153153
Ok(out)
154154
}
155155

src/rust/bitbox02-rust/src/hww/api/cardano/sign_transaction.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use alloc::vec::Vec;
2424
use bech32::{ToBase32, Variant};
2525
use blake2::{
2626
digest::{Update, VariableOutput},
27-
VarBlake2b,
27+
Blake2bVar,
2828
};
2929

3030
use crate::workflow::{confirm, status, transaction};
@@ -86,11 +86,11 @@ async fn verify_slot(params: &params::Params, title: &str, slot: u64) -> Result<
8686
/// Format an asset fingerprint according to CIP-14.
8787
/// https://github.com/cardano-foundation/CIPs/blob/a2ef32d8a2b485fed7f6ffde2781dd58869ff511/CIP-0014/README.md
8888
fn format_asset(policy_id: &[u8], asset_name: &[u8]) -> String {
89-
let mut hasher = VarBlake2b::new(20).unwrap();
89+
let mut hasher = Blake2bVar::new(20).unwrap();
9090
hasher.update(policy_id);
9191
hasher.update(asset_name);
9292
let mut hash = [0u8; 20];
93-
hasher.finalize_variable(|res| hash.copy_from_slice(res));
93+
hasher.finalize_variable(&mut hash).unwrap();
9494
bech32::encode("asset", hash.to_base32(), Variant::Bech32).unwrap()
9595
}
9696

@@ -269,11 +269,11 @@ async fn _process(request: &pb::CardanoSignTransactionRequest) -> Result<Respons
269269
status::status("Transaction\nconfirmed", true).await;
270270

271271
let tx_body_hash: [u8; 32] = {
272-
let mut hasher = VarBlake2b::new(32).unwrap();
272+
let mut hasher = Blake2bVar::new(32).unwrap();
273273
cbor::encode_transaction_body(request, cbor::HashedWriter::new(&mut hasher))?;
274274

275275
let mut out = [0u8; 32];
276-
hasher.finalize_variable(|res| out.copy_from_slice(res));
276+
hasher.finalize_variable(&mut out).or(Err(Error::Generic))?;
277277
out
278278
};
279279

src/rust/bitbox02-rust/src/hww/api/cardano/sign_transaction/cbor.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ pub fn encode_transaction_body<W: Write>(
188188
mod tests {
189189
use super::*;
190190
use alloc::vec::Vec;
191-
use blake2::{digest::VariableOutput, VarBlake2b};
191+
use blake2::{digest::VariableOutput, Blake2bVar};
192192

193193
fn encode_something<W: Write>(
194194
encoder: &mut Encoder<W>,
@@ -223,20 +223,20 @@ mod tests {
223223
let mut encoder = Encoder::new(&mut cbor_encoded);
224224
encode_something(&mut encoder).unwrap();
225225

226-
let mut hasher = VarBlake2b::new(32).unwrap();
226+
let mut hasher = Blake2bVar::new(32).unwrap();
227227
hasher.update(&cbor_encoded);
228228
let mut out = [0u8; 32];
229-
hasher.finalize_variable(|res| out.copy_from_slice(res));
229+
hasher.finalize_variable(&mut out).unwrap();
230230
out
231231
};
232232

233233
// Now encode CBOR into the hasher directly and compare results.
234234
let hash = {
235-
let mut hasher = VarBlake2b::new(32).unwrap();
235+
let mut hasher = Blake2bVar::new(32).unwrap();
236236
let mut encoder = Encoder::new(HashedWriter::new(&mut hasher));
237237
encode_something(&mut encoder).unwrap();
238238
let mut out = [0u8; 32];
239-
hasher.finalize_variable(|res| out.copy_from_slice(res));
239+
hasher.finalize_variable(&mut out).unwrap();
240240
out
241241
};
242242
assert_eq!(hash, expected_hash);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"files":{"CHANGELOG.md":"4c9a5d8b0c49f9e5244ce53e0316be234ecf11d5de3e7c165e30437bb40c18ce","Cargo.lock":"10ef52999dc31e94ecd2e74b6513df4b7d5c14fa8c9f216e3e4c6016e75c597c","Cargo.toml":"5e23e6da763c7faf5ae63b62367b158d825e93c219cbb41794186e205e62605e","LICENSE-APACHE":"a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5","LICENSE-MIT":"9c768944eb4a0422ca2efc25ea9fb2fb9e7fbd3fdb04e86b87366339cb7466db","README.md":"b0218e8484d85a340ca0e21c13752355e7a24e17497e62bdb674717f5eb88bec","benches/blake2b.rs":"54c6350b7545d11521513e510c13386cdf08482f4e9aefd57c109b13d36116ca","benches/blake2s.rs":"3a4a67b3da97f24da99820732cce651452c23042053e6e166390accf83c17cdb","examples/blake2b_sum.rs":"92b97370ad1db687989b5e8bfaf6dd2db63f7f96f00a821cc6d81abf0c1cf24c","examples/blake2s_sum.rs":"cdd84c4b878cdc9854ec52ceede33432d800dc672ff70e39456d8778327df82a","src/as_bytes.rs":"2278289a4f59edfce74997c5e4cd17e0fd79ea22fa894149cd7e3de5a3a6b8d9","src/blake2.rs":"4d0112be6cc3c5fed9399162ac8c56d375d983cdc90bed73692822d78d445fcb","src/blake2b.rs":"1ba123aeb24b24e6982c8cf248bbd09d27f9184482c59a80082ddd554160d41a","src/blake2s.rs":"44aed972a1450ee239a1a481f26d32d2bd40af5d0b2fe997a570fb60a61d4b43","src/consts.rs":"03edc1d4697a6074c9389202324444f27625ef11f17d34cc86b83d0dda920e79","src/lib.rs":"afc03d4a34aa4c4467d8bc10558c8ad4869dd02d43a3c7749e60079b2b5bd819","src/simd.rs":"a0de17ed12f4f3723acca02d87dbc445418c6596d8603616a4359c2509bafdc2","src/simd/simd_opt.rs":"b254d82005e288f1d07531ef71b2468be0bc70ae9bdba1b46001acac4db283fe","src/simd/simd_opt/u32x4.rs":"f87ab763a2f7a60e0192c9eb16df3fd172f7e1747cd26e081b5e7f074701b13c","src/simd/simd_opt/u64x4.rs":"6f9e371ec300bbb3af4f4f6d9b052257eb4da669b5595b16b17f4710559f5b85","src/simd/simdint.rs":"3b506bb05761752142f61ca8de138958af9a050ddcfe5bbf454dd9a003bf71c3","src/simd/simdop.rs":"6154f31c9675f33ba476eb6d5378deda657afc79ad43be1c9257f4f4306e43ce","src/simd/simdty.rs":"24e6e7eac6005eec0aceec7b96b3a8e04ca695479bfd22e704f51926515f6f13","tests/data/blake2b/fixed.blb":"d7dd6931d9c96d46413a6db3e94eb771383c6e9d5753cce32e9ad4cb41110580","tests/data/blake2b/mac.blb":"e1d014afe9bae2e314ad6ca34446603d6f697e5d37d49559165c7d4848ef782f","tests/data/blake2b/variable.blb":"420d3fbf550e4b07de2558115d1dedc6acbb84660b456181e53390db5071eb71","tests/data/blake2s/mac.blb":"20dd270b2ba5fa27ac5684eed5638e54b4465b1abee605b4821750f6dd4203d9","tests/data/blake2s/variable.blb":"dae8b2a887b0b32dda39310774607824ee4b5fb5cb010566b1413701d43e4d69","tests/lib.rs":"7497034cdef08d88c9d0b86c3f26e9d7703d89cba41e4cffacf2f1afae3b5116","tests/mac.rs":"bed53afdf703108844ec17f901ce7c16ec1d5eb42df718badb1ed49b443ccf6b","tests/persona.rs":"4404b79c4d80d25f7894a8902d62611c4b2a5d95a23044d855b5e03ffd9254ae"},"package":"0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174"}
1+
{"files":{"CHANGELOG.md":"a1568d18a788639f9439bffc2ff5ddb607e955a617537cc29fd7639eafe29878","Cargo.toml":"e8f715604ecc77efac84f85fc918721198e40659eb40fd9bc1966cd970eaea49","LICENSE-APACHE":"a9040321c3712d8fd0b09cf52b17445de04a23a10165049ae187cd39e5c86be5","LICENSE-MIT":"9c768944eb4a0422ca2efc25ea9fb2fb9e7fbd3fdb04e86b87366339cb7466db","README.md":"b0218e8484d85a340ca0e21c13752355e7a24e17497e62bdb674717f5eb88bec","benches/mod.rs":"f61c6cacfe1a3f70940806d0213572f7887dc1ecc9c1946a868baad3e8a6c341","src/as_bytes.rs":"01e8e60ef0a9b68fa6bae6c1577f3967aef442c245003967604eef7e9ccae5a9","src/consts.rs":"03edc1d4697a6074c9389202324444f27625ef11f17d34cc86b83d0dda920e79","src/lib.rs":"4014e33ab4dbe879ebf8168a4cbe88f71b837589e1cd238fd469e0579337f9ff","src/macros.rs":"61c81ca401c2609d94a120c152268ee3949a17d7d661a06ff18c93b78073d626","src/simd.rs":"79d6d11d14664c908c2f6a2120c23e8de0e0422b610a8b838aa95ba469ef43fc","src/simd/simd_opt.rs":"b254d82005e288f1d07531ef71b2468be0bc70ae9bdba1b46001acac4db283fe","src/simd/simd_opt/u32x4.rs":"f87ab763a2f7a60e0192c9eb16df3fd172f7e1747cd26e081b5e7f074701b13c","src/simd/simd_opt/u64x4.rs":"6f9e371ec300bbb3af4f4f6d9b052257eb4da669b5595b16b17f4710559f5b85","src/simd/simdint.rs":"3b506bb05761752142f61ca8de138958af9a050ddcfe5bbf454dd9a003bf71c3","src/simd/simdop.rs":"6154f31c9675f33ba476eb6d5378deda657afc79ad43be1c9257f4f4306e43ce","src/simd/simdty.rs":"24e6e7eac6005eec0aceec7b96b3a8e04ca695479bfd22e704f51926515f6f13","tests/data/blake2b/fixed.blb":"b8e100fe195f7c201973fdcb6cfcd23cc752f5c8c9431a3076208ec81709d658","tests/data/blake2b/mac.blb":"79b14e080b63c0860823c7837b8b005d9b9fbeab6cd2eaa072621ff377eafd7a","tests/data/blake2b/variable.blb":"c91130bc29c9fad4c952b79c4126bebd752073d033bf41bfe54dd656b37698e9","tests/data/blake2s/mac.blb":"4bca0c66c84951babf34ff95b9d8b0d5f6332403000bbd40cebcc142ff22d832","tests/data/blake2s/variable.blb":"ef88d9f6407013337ac8ed587ec1552b502f1001e029291c6075b40e44e3d63a","tests/mac.rs":"8dffc20def309362ecadd5beef06557fd0252a490a15470add3493347d1b291c","tests/mod.rs":"d2da3d57ecaddbfcf292fd0475ebfd988efd52f992bd08113ef4b990f961087d","tests/persona.rs":"5e7131d30c3b4a777cc8bd8c74c00cf418d80241da10a7b74e12282c8e3fd775"},"package":"b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e"}

src/rust/vendor/blake2/CHANGELOG.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,56 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.10.5 (2022-11-11)
9+
### Fixed
10+
- Implementation of the `KeyInit::new` method for MAC types ([#432])
11+
12+
[#432]: https://github.com/RustCrypto/hashes/pull/432
13+
14+
## 0.10.4 (2022-02-17) [YANKED]
15+
### Fixed
16+
- Bug on big-endian targets ([#366])
17+
18+
[#366]: https://github.com/RustCrypto/hashes/pull/366
19+
20+
## 0.10.3 (2022-02-17) [YANKED]
21+
### Fixed
22+
- Minimal versions build ([#363])
23+
24+
[#363]: https://github.com/RustCrypto/hashes/pull/363
25+
26+
## 0.10.2 (2022-01-09) [YANKED]
27+
## Fixed
28+
- Rare compilation error by adding `'static` bound on `OutSize`. ([#347])
29+
- Values of `KeySize` associated type. ([#349])
30+
31+
[#347]: https://github.com/RustCrypto/hashes/pull/347
32+
[#349]: https://github.com/RustCrypto/hashes/pull/349
33+
34+
## 0.10.1 (2022-01-05) [YANKED]
35+
## Fixed
36+
- Compilation error with enabled `reset` feature. ([#342])
37+
38+
[#342]: https://github.com/RustCrypto/hashes/pull/342
39+
40+
## 0.10.0 (2021-12-07) [YANKED]
41+
### Changed
42+
- Update to `digest` v0.10 and remove dependency on `crypto-mac` ([#217])
43+
- `Blake2b` and `Blake2s` renamed into `Blake2b512` and `Blake2s256` respectively.
44+
New `Blake2b` and `Blake2s` are generic over output size. `VarBlake2b` and `VarBlake2s`
45+
renamed into `Blake2bVar` and `Blake2sVar` respectively. ([#217])
46+
- Hasher reset functionality moved behind a new non-default feature, `reset`.
47+
This must be enabled to use the methods `reset`, `finalize_reset` and `finalize_into_reset`.
48+
49+
### Removed
50+
- `Blake2b` and `Blake2s` no longer support MAC functionality. ([#217])
51+
52+
### Added
53+
- Separate `Blake2bMac` and `Blake2sMac` types generic over output size and `Blake2bMac512`
54+
and `Blake2sMac256` type aliases around them. ([#217])
55+
56+
[#217]: https://github.com/RustCrypto/hashes/pull/217
57+
858
## 0.9.2 (2021-08-25)
959
### Fixed
1060
- Building with `simd_opt` on recent nightlies ([#301])

0 commit comments

Comments
 (0)