> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Module ecdsa_secp256r1

Module: `std::ecdsa_secp256r1`

## Functions

- [verify_signature](/aztec-nr-api/v6.0.0/std/ecdsa_secp256r1/fn.verify_signature.md): Verifier for ECDSA Secp256r1 signatures. Verifies a ECDSA signature over the secp256r1 curve.

  - inputs:

    - x coordinate of public key as 32 bytes
    - y coordinate of public key as 32 bytes
    - the signature, as a 64 bytes array The signature internally will be represented as `(r, s)`, where `r` and `s` are fixed-sized big endian scalar values. As the `secp256r1` has a 256-bit modulus, we have a 64 byte signature while `r` and `s` will both be 32 bytes. We expect `s` to be normalized. This means given the curve's order, `s` should be less than or equal to `order / 2`. This is done to prevent malleability. For more context regarding malleability you can reference BIP 0062.
    - the hash of the message, as a vector of bytes

  - output: false for failure and true for success
