From 49749d96a01cd514571099d585e88797ba4e7e2a Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Wed, 28 Sep 2022 09:29:58 -0400 Subject: [PATCH] Replace tiny_keccak with sha3 in Monero --- Cargo.lock | 2 +- coins/monero/Cargo.toml | 2 +- coins/monero/src/lib.rs | 10 +++------- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4f15420e..845ee466 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4608,9 +4608,9 @@ dependencies = [ "reqwest", "serde", "serde_json", + "sha3 0.10.5", "subtle", "thiserror", - "tiny-keccak", "tokio", "zeroize", ] diff --git a/coins/monero/Cargo.toml b/coins/monero/Cargo.toml index 08611b27..28b61185 100644 --- a/coins/monero/Cargo.toml +++ b/coins/monero/Cargo.toml @@ -22,7 +22,7 @@ rand_distr = "0.4" zeroize = { version = "1.3", features = ["zeroize_derive"] } subtle = "2.4" -tiny-keccak = { version = "2", features = ["keccak"] } +sha3 = "0.10" blake2 = { version = "0.10", optional = true } curve25519-dalek = { version = "3", features = ["std"] } diff --git a/coins/monero/src/lib.rs b/coins/monero/src/lib.rs index 83c65f3d..9fb0975a 100644 --- a/coins/monero/src/lib.rs +++ b/coins/monero/src/lib.rs @@ -17,7 +17,7 @@ use rand_core::{RngCore, CryptoRng}; use zeroize::{Zeroize, ZeroizeOnDrop}; -use tiny_keccak::{Hasher, Keccak}; +use sha3::{Digest, Keccak256}; use curve25519_dalek::{ constants::ED25519_BASEPOINT_TABLE, @@ -109,12 +109,8 @@ pub fn random_scalar(rng: &mut R) -> Scalar { Scalar::from_bytes_mod_order_wide(&r) } -pub fn hash(data: &[u8]) -> [u8; 32] { - let mut keccak = Keccak::v256(); - keccak.update(data); - let mut res = [0; 32]; - keccak.finalize(&mut res); - res +pub(crate) fn hash(data: &[u8]) -> [u8; 32] { + Keccak256::digest(data).into() } /// Hash the provided data to a scalar via keccak256(data) % l.