fn gen_rho_i(index: u32, signing_package: &SigningPackage) -> Scalar {
    let mut hasher = HStar::default();
    hasher
        .update("FROST_rho".as_bytes())
        .update(index.to_be_bytes())
        .update(signing_package.message);

    for item in signing_package.signing_commitments.iter() {
        hasher.update(item.index.to_be_bytes());
        let hiding_bytes = jubjub::AffinePoint::from(item.hiding).to_bytes();
        hasher.update(hiding_bytes);
        let binding_bytes = jubjub::AffinePoint::from(item.binding).to_bytes();
        hasher.update(binding_bytes);
    }

    hasher.finalize()
}
/// Generates the binding factor that ensures each signature share is strongly
/// bound to a signing set, specific set of commitments, and a specific message.
Generates the binding factor that ensures each signature share is strongly
bound to a signing set, specific set of commitments, and a specific message.
Generates the binding factor that ensures each signature share is strongly bound to a signing set specific set of commitments and a specific message .
fn gen_rho_i(index: u32, signing_package: &SigningPackage) -> Scalar {
    let mut hasher = HStar::default();
    hasher
        .update("FROST_rho".as_bytes())
        .update(index.to_be_bytes())
        .update(signing_package.message);
    for item in signing_package.signing_commitments.iter() {
        hasher.update(item.index.to_be_bytes());
        let hiding_bytes = jubjub::AffinePoint::from(item.hiding).to_bytes();
        hasher.update(hiding_bytes);
        let binding_bytes = jubjub::AffinePoint::from(item.binding).to_bytes();
        hasher.update(binding_bytes);
    }
    hasher.finalize()
}
fn gen_rho_i ( index : u32 , signing_package : & SigningPackage ) -> Scalar { let mut hasher = HStar :: default ( ) ; hasher . update ( " " . as_bytes ( ) ) . update ( index . to_be_bytes ( ) ) . update ( signing_package . message ) ; for item in signing_package . signing_commitments . iter ( ) { hasher . update ( item . index . to_be_bytes ( ) ) ; let hiding_bytes = jubjub :: AffinePoint :: from ( item . hiding ) . to_bytes ( ) ; hasher . update ( hiding_bytes ) ; let binding_bytes = jubjub :: AffinePoint :: from ( item . binding ) . to_bytes ( ) ; hasher . update ( binding_bytes ) ; } hasher . finalize ( ) }
Generates the binding factor that ensures each signature share is strongly
bound to a signing set, specific set of commitments, and a specific message.
Generates the binding factor that ensures each signature share is strongly bound to a signing set specific set of commitments and a specific message .
index
u32
signing_package
&SigningPackage