zkp_ecdsa.h 1.4 KB

123456789101112131415161718192021222324252627282930
  1. #ifndef __ZKP_ECDSA_H__
  2. #define __ZKP_ECDSA_H__
  3. #include <stdint.h>
  4. #include "hasher.h"
  5. int zkp_ecdsa_get_public_key33(const ecdsa_curve *curve,
  6. const uint8_t *private_key_bytes,
  7. uint8_t *public_key_bytes);
  8. int zkp_ecdsa_get_public_key65(const ecdsa_curve *curve,
  9. const uint8_t *private_key_bytes,
  10. uint8_t *public_key_bytes);
  11. int zkp_ecdsa_sign_digest(const ecdsa_curve *curve,
  12. const uint8_t *private_key_bytes,
  13. const uint8_t *digest, uint8_t *signature_bytes,
  14. uint8_t *pby,
  15. int (*is_canonical)(uint8_t by, uint8_t sig[64]));
  16. int zkp_ecdsa_recover_pub_from_sig(const ecdsa_curve *curve,
  17. uint8_t *public_key_bytes,
  18. const uint8_t *signature_bytes,
  19. const uint8_t *digest, int recid);
  20. int zkp_ecdsa_verify_digest(const ecdsa_curve *curve,
  21. const uint8_t *public_key_bytes,
  22. const uint8_t *signature_bytes,
  23. const uint8_t *digest);
  24. int zkp_ecdsa_verify(const ecdsa_curve *curve, HasherType hasher_sign,
  25. const uint8_t *pub_key, const uint8_t *sig,
  26. const uint8_t *msg, uint32_t msg_len);
  27. #endif