ecdsa.h 976 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef DROPBEAR_ECDSA_H_
  2. #define DROPBEAR_ECDSA_H_
  3. #include "includes.h"
  4. #include "buffer.h"
  5. #include "signkey.h"
  6. #ifdef DROPBEAR_ECDSA
  7. /* Prefer the larger size - it's fast anyway */
  8. #if defined(DROPBEAR_ECC_521)
  9. #define ECDSA_DEFAULT_SIZE 521
  10. #elif defined(DROPBEAR_ECC_384)
  11. #define ECDSA_DEFAULT_SIZE 384
  12. #elif defined(DROPBEAR_ECC_256)
  13. #define ECDSA_DEFAULT_SIZE 256
  14. #else
  15. #define ECDSA_DEFAULT_SIZE 0
  16. #endif
  17. ecc_key *gen_ecdsa_priv_key(unsigned int bit_size);
  18. ecc_key *buf_get_ecdsa_pub_key(buffer* buf);
  19. ecc_key *buf_get_ecdsa_priv_key(buffer *buf);
  20. void buf_put_ecdsa_pub_key(buffer *buf, ecc_key *key);
  21. void buf_put_ecdsa_priv_key(buffer *buf, ecc_key *key);
  22. enum signkey_type ecdsa_signkey_type(ecc_key * key);
  23. void buf_put_ecdsa_sign(buffer *buf, ecc_key *key, buffer *data_buf);
  24. int buf_ecdsa_verify(buffer *buf, ecc_key *key, buffer *data_buf);
  25. /* Returns 1 on success */
  26. int signkey_is_ecdsa(enum signkey_type type);
  27. #endif
  28. #endif /* DROPBEAR_ECDSA_H_ */