pub fn challenge(publicKey: &Point, R: &Point, msg: &[u8]) -> Scalar
Compute the schnorr challenge from the public key, aggregated commitments, and the signed message using XMD-based expansion.