feat: re-export winter-crypto Hasher, Digest & ElementHasher This commit introduces the re-export of the listed primitives. They will be used inside Miden to report the security level of the picked primitive, as well as other functionality. closes #72
Victor Lopez victor@codx.io
Wed, 22 Feb 2023 11:12:17 +0100
6 files changed,
15 insertions(+),
5 deletions(-)
M
CHANGELOG.md
→
CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.1.4 (2023-02-22) + +- Re-export winter-crypto Hasher, Digest & ElementHasher (#72) + ## 0.1.3 (2023-02-20) - Updated Winterfell dependency to v0.5.1 (#68)
M
Cargo.toml
→
Cargo.toml
@@ -1,7 +1,7 @@
[package] name = "miden-crypto" -version = "0.1.3" -description = "Miden Cryptographic primitives" +version = "0.1.5" +description="Miden Cryptographic primitives" authors = ["miden contributors"] readme = "README.md" license = "MIT"
M
src/hash/blake/mod.rs
→
src/hash/blake/mod.rs
@@ -78,6 +78,7 @@ // BLAKE3 256-BIT OUTPUT
// ================================================================================================ /// 256-bit output blake3 hasher. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] pub struct Blake3_256; impl Hasher for Blake3_256 {@@ -141,6 +142,7 @@ // BLAKE3 192-BIT OUTPUT
// ================================================================================================ /// 192-bit output blake3 hasher. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] pub struct Blake3_192; impl Hasher for Blake3_192 {@@ -204,6 +206,7 @@ // BLAKE3 160-BIT OUTPUT
// ================================================================================================ /// 160-bit output blake3 hasher. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] pub struct Blake3_160; impl Hasher for Blake3_160 {
M
src/hash/mod.rs
→
src/hash/mod.rs
@@ -1,5 +1,9 @@
use super::{Felt, FieldElement, StarkField, ONE, ZERO}; -use winter_crypto::{Digest, ElementHasher, Hasher}; pub mod blake; pub mod rpo; + +// RE-EXPORTS +// ================================================================================================ + +pub use winter_crypto::{Digest, ElementHasher, Hasher};
M
src/hash/rpo/mod.rs
→
src/hash/rpo/mod.rs
@@ -88,6 +88,7 @@ /// Thus, if the underlying data consists of valid field elements, it might make more sense
/// to deserialize them into field elements and then hash them using /// [hash_elements()](Rpo256::hash_elements) function rather then hashing the serialized bytes /// using [hash()](Rpo256::hash) function. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] pub struct Rpo256(); impl Hasher for Rpo256 {
M
src/lib.rs
→
src/lib.rs
@@ -11,9 +11,7 @@ // RE-EXPORTS
// ================================================================================================ pub use winter_crypto::{RandomCoin, RandomCoinError}; - pub use winter_math::{fields::f64::BaseElement as Felt, FieldElement, StarkField}; - pub mod utils { pub use winter_utils::{ collections, string, uninit_vector, ByteReader, ByteWriter, Deserializable,