in src/main.rs [183:197]
fn compute_hram_with_pk_array(
message: &[u8],
pub_key_arr: &[u8],
signature_r: &EdwardsPoint,
) -> Scalar {
let k_bytes = Sha512::default()
.chain(&signature_r.compress().as_bytes())
.chain(&pub_key_arr)
.chain(&message);
// curve25519_dalek is stuck on an old digest version, so we can't do
// Scalar::from_hash
let mut k_output = [0u8; 64];
k_output.copy_from_slice(k_bytes.finalize().as_slice());
Scalar::from_bytes_mod_order_wide(&k_output)
}