INNER CODE UNIT · Rust

verify_challenge_bn254_bls

tangle-network/blueprint · crates/auth/src/lib.rs:187

fn verify_challenge_bn254_bls(
    challenge: &[u8; 32],
    signature: &[u8],
    pub_key: &[u8],
) -> Result<bool, Error> {
    use blueprint_crypto::BytesEncoding;
    use blueprint_crypto::bn254::{ArkBlsBn254Public, ArkBlsBn254Signature};

    let public_key = ArkBlsBn254Public::from_bytes(pub_key)
        .map_err(|e| Error::Bn254Bls(format!("Invalid public key: {e:?}")))?;
    let sig = ArkBlsBn254Signature::from_bytes(signature)
        .map_err(|e| Error::Bn254Bls(format!("Invalid signature: {e:?}")))?;

    Ok(blueprint_crypto::bn254::verify(
        public_key.0,
        challenge,
        sig.0,
    ))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…