25 #include <wolfssl/wolfcrypt/settings.h> 28 #elif defined WOLFSSL_SP_MATH 29 #include <wolfssl/wolfcrypt/sp_int.h> 31 #include <wolfssl/wolfcrypt/integer.h> 39 int ksdk_port_init(
void);
42 #if defined(FREESCALE_LTC_TFM) 55 #if defined(FREESCALE_LTC_ECC) 58 typedef enum _fsl_ltc_ecc_coordinate_system
60 kLTC_Weierstrass = 0U,
63 } fsl_ltc_ecc_coordinate_system_t;
67 #ifdef HAVE_CURVE25519 68 int wc_curve25519(
ECPoint *q, byte *n,
const ECPoint *p, fsl_ltc_ecc_coordinate_system_t type);
69 const ECPoint *wc_curve25519_GetBasePoint(
void);
70 status_t LTC_PKHA_Curve25519ToWeierstrass(
const ltc_pkha_ecc_point_t *ltcPointIn, ltc_pkha_ecc_point_t *ltcPointOut);
71 status_t LTC_PKHA_WeierstrassToCurve25519(
const ltc_pkha_ecc_point_t *ltcPointIn, ltc_pkha_ecc_point_t *ltcPointOut);
72 status_t LTC_PKHA_Curve25519ComputeY(ltc_pkha_ecc_point_t *ltcPoint);
76 status_t LTC_PKHA_Ed25519ToWeierstrass(
const ltc_pkha_ecc_point_t *ltcPointIn, ltc_pkha_ecc_point_t *ltcPointOut);
77 status_t LTC_PKHA_WeierstrassToEd25519(
const ltc_pkha_ecc_point_t *ltcPointIn, ltc_pkha_ecc_point_t *ltcPointOut);
78 status_t LTC_PKHA_Ed25519_PointMul(
const ltc_pkha_ecc_point_t *ltcPointIn,
81 ltc_pkha_ecc_point_t *ltcPointOut,
82 fsl_ltc_ecc_coordinate_system_t typeOut);
83 const ltc_pkha_ecc_point_t *LTC_PKHA_Ed25519_BasePoint(
void);
84 status_t LTC_PKHA_Ed25519_PointDecompress(
const uint8_t *pubkey,
size_t pubKeySize, ltc_pkha_ecc_point_t *ltcPointOut);
85 status_t LTC_PKHA_sc_reduce(uint8_t *a);
86 status_t LTC_PKHA_sc_muladd(uint8_t *s,
const uint8_t *a,
const uint8_t *b,
const uint8_t *c);
87 status_t LTC_PKHA_SignatureForVerify(uint8_t *rcheck,
const unsigned char *a,
const unsigned char *b,
ed25519_key *key);
88 status_t LTC_PKHA_Ed25519_Compress(
const ltc_pkha_ecc_point_t *ltcPointIn, uint8_t *p);
Definition: integer.h:200
Definition: curve25519.h:62