zebra_chain::orchard::sinsemilla

Function sinsemilla_hash

source
pub fn sinsemilla_hash(D: &[u8], M: &BitVec<u8, Lsb0>) -> Option<Base>
Expand description

Sinsemilla Hash Function

“SinsemillaHash is an algebraic hash function with collision resistance (for fixed input length) derived from assumed hardness of the Discrete Logarithm Problem. It is designed by Sean Bowe and Daira Hopwood. The motivation for introducing a new discrete-log-based hash function (rather than using PedersenHash) is to make efcient use of the lookups available in recent proof systems including Halo 2.”

SinsemillaHash: B^Y^[N] × B[{0 .. 𝑘·𝑐}] → P_𝑥 ∪ {⊥}

https://zips.z.cash/protocol/nu5.pdf#concretesinsemillahash

§Panics

If M is greater than k*c = 2530 bits in sinsemilla_hash_to_point.