pub fn evaluate( shares: &[PrfShare], input: &[u8], threshold: usize, ) -> Result<DistributedPrfResult, String>
Compute the distributed PRF: each party evaluates, then combine.