ecdh.h 845 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * ECDH params to be used with kpp API
  3. *
  4. * Copyright (c) 2016, Intel Corporation
  5. * Authors: Salvatore Benedetto <salvatore.benedetto@intel.com>
  6. *
  7. * This program is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the Free
  9. * Software Foundation; either version 2 of the License, or (at your option)
  10. * any later version.
  11. *
  12. */
  13. #ifndef _CRYPTO_ECDH_
  14. #define _CRYPTO_ECDH_
  15. /* Curves IDs */
  16. #define ECC_CURVE_NIST_P192 0x0001
  17. #define ECC_CURVE_NIST_P256 0x0002
  18. struct ecdh {
  19. unsigned short curve_id;
  20. char *key;
  21. unsigned short key_size;
  22. };
  23. int crypto_ecdh_key_len(const struct ecdh *params);
  24. int crypto_ecdh_encode_key(char *buf, unsigned int len, const struct ecdh *p);
  25. int crypto_ecdh_decode_key(const char *buf, unsigned int len, struct ecdh *p);
  26. #endif