sha2 version bump for vdf

This commit is contained in:
Vasyl Tretiakov 2025-01-23 01:00:38 +02:00
parent db13233805
commit 4fc5f2f49c
4 changed files with 15 additions and 15 deletions

View File

@ -29,7 +29,7 @@ name = "vdf"
[dependencies]
classgroup = { path = "../classgroup", version = "^0.1.0" }
num-traits = "0.2"
sha2 = "0.8"
sha2 = "0.10.8"
bit-vec = "0.8.0"
uniffi = { version= "0.25", features = ["cli"]}

View File

@ -30,7 +30,7 @@ include!(concat!(env!("OUT_DIR"), "/constants.rs"));
use classgroup::BigNumExt;
use num_traits::Zero;
use sha2::{digest::FixedOutput, Digest, Sha256};
use sha2::{digest::Digest, Sha256};
use std::u16;
fn random_bytes_from_seed(seed: &[u8], byte_count: usize) -> Vec<u8> {
@ -39,10 +39,10 @@ fn random_bytes_from_seed(seed: &[u8], byte_count: usize) -> Vec<u8> {
let mut extra: u16 = 0;
while blob.len() < byte_count {
let mut hasher = Sha256::new();
hasher.input(seed);
hasher.update(seed);
let extra_bits: [u8; 2] = [((extra & 0xFF00) >> 8) as _, (extra & 0xFF) as _];
hasher.input(&extra_bits);
blob.extend_from_slice(&hasher.fixed_result()[..]);
hasher.update(&extra_bits);
blob.extend_from_slice(&hasher.finalize()[..]);
extra += 1;
}
blob.resize(byte_count, 0);

View File

@ -136,7 +136,7 @@ where
for<'a, 'b> &'a T: std::ops::Mul<&'b T, Output = T>,
for<'a, 'b> &'a T::BigNum: std::ops::Mul<&'b T::BigNum, Output = T::BigNum>,
{
use sha2::{digest::FixedOutput, Digest, Sha256};
use sha2::{digest::Digest, Sha256};
let size = (int_size_bits + 16) >> 4;
let mut v = Vec::with_capacity(size * 2);
@ -146,9 +146,9 @@ where
let mut hasher = Sha256::new();
for i in &[&x, &y, &sqrt_mu] {
i.serialize(&mut v).expect(super::INCORRECT_BUFFER_SIZE);
hasher.input(&v);
hasher.update(&v);
}
let res = hasher.fixed_result();
let res = hasher.finalize();
T::unsigned_deserialize_bignum(&res[..16])
}

View File

@ -14,9 +14,9 @@
use super::proof_of_time::{iterate_squarings, serialize};
use classgroup::{gmp_classgroup::GmpClassGroup, BigNum, BigNumExt, ClassGroup};
use sha2::{digest::FixedOutput, Digest, Sha256};
use std::{cmp::Eq, collections::HashMap, hash::Hash, mem, u64, usize};
use sha2::{Digest, Sha256};
use std::convert::TryInto;
use std::{cmp::Eq, collections::HashMap, hash::Hash, mem, u64, usize};
#[derive(Debug, Clone)]
pub struct WesolowskiVDF {
@ -114,13 +114,13 @@ fn hash_prime<T: BigNum>(seed: &[&[u8]], t: u32) -> T {
let mut j = 0u64;
loop {
let mut hasher = Sha256::new();
hasher.input(b"prime");
hasher.input(u64_to_bytes(j));
hasher.update(b"prime");
hasher.update(u64_to_bytes(j));
for i in seed {
hasher.input(i);
hasher.update(i);
}
hasher.input(t.to_be_bytes());
let n = T::from(&hasher.fixed_result()[..16]);
hasher.update(t.to_be_bytes());
let n = T::from(&hasher.finalize()[..16]);
if n.probab_prime(1) {
break n;
}