penumbra_sdk_keys/prf.rs
1use ark_ff::PrimeField;
2
3pub fn expand(label: &'static [u8; 16], key: &[u8], input: &[u8]) -> blake2b_simd::Hash {
4 blake2b_simd::Params::new()
5 .personal(label)
6 .key(key)
7 .hash(input)
8}
9
10pub fn expand_ff<F: PrimeField>(label: &'static [u8; 16], key: &[u8], input: &[u8]) -> F {
11 F::from_le_bytes_mod_order(expand(label, key, input).as_bytes())
12}