67int uECC_verify(
const uint8_t *public_key,
const uint8_t *hash,
unsigned hash_size,
int uECC_shared_secret(const uint8_t *public_key, const uint8_t *private_key, uint8_t *secret, const uECC_Curve_t *curve)
Compute ECDH shared secret (X-coordinate of privKey * pubKey).
int(* uECC_RNG_Function)(uint8_t *dest, unsigned size)
const uECC_Curve_t * uECC_secp256k1(void)
Return the static secp256k1 curve descriptor.
const uECC_Curve_t * uECC_secp256r1(void)
Return the static secp256r1 curve descriptor.
void uECC_set_rng(uECC_RNG_Function rng_function)
No-op: ESP32 hardware RNG is used internally; no external callback needed.
int uECC_make_key(uint8_t *public_key, uint8_t *private_key, const uECC_Curve_t *curve)
Generate an ECC key pair using mbedTLS and the ESP32 hardware RNG.
int uECC_verify(const uint8_t *public_key, const uint8_t *hash, unsigned hash_size, const uint8_t *signature, const uECC_Curve_t *curve)
Verify an ECDSA signature (raw 64-byte r||s) against a hash.