12
src/util.rs
12
src/util.rs
@@ -1,3 +1,7 @@
|
||||
use blake2_rfc::blake2b::Blake2b;
|
||||
|
||||
use jubjub::{JubjubEngine, ToUniform};
|
||||
|
||||
pub fn swap_bits_u64(x: u64) -> u64
|
||||
{
|
||||
let mut tmp = 0;
|
||||
@@ -7,6 +11,14 @@ pub fn swap_bits_u64(x: u64) -> u64
|
||||
tmp
|
||||
}
|
||||
|
||||
pub fn hash_to_scalar<E: JubjubEngine>(persona: &[u8], a: &[u8], b: &[u8]) -> E::Fs {
|
||||
let mut hasher = Blake2b::with_params(64, &[], &[], persona);
|
||||
hasher.update(a);
|
||||
hasher.update(b);
|
||||
let ret = hasher.finalize();
|
||||
E::Fs::to_uniform(ret.as_ref())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_swap_bits_u64() {
|
||||
assert_eq!(swap_bits_u64(17182120934178543809), 0b1000001100011011110000011000111000101111111001001100111001110111);
|
||||
|
||||
Reference in New Issue
Block a user