My Project
eccsi.h
Go to the documentation of this file.
1 
5 int wc_InitEccsiKey(EccsiKey* key, void* heap, int devId);
9 int wc_InitEccsiKey_ex(EccsiKey* key, int keySz, int curveId,
10  void* heap, int devId);
14 void wc_FreeEccsiKey(EccsiKey* key);
15 
19 int wc_MakeEccsiKey(EccsiKey* key, WC_RNG* rng);
20 
24 int wc_MakeEccsiPair(EccsiKey* key, WC_RNG* rng,
25  enum wc_HashType hashType, const byte* id, word32 idSz, mp_int* ssk,
26  ecc_point* pvt);
30 int wc_ValidateEccsiPair(EccsiKey* key, enum wc_HashType hashType,
31  const byte* id, word32 idSz, const mp_int* ssk, ecc_point* pvt,
32  int* valid);
36 int wc_ValidateEccsiPvt(EccsiKey* key, const ecc_point* pvt,
37  int* valid);
41 int wc_EncodeEccsiPair(const EccsiKey* key, mp_int* ssk,
42  ecc_point* pvt, byte* data, word32* sz);
46 int wc_EncodeEccsiSsk(const EccsiKey* key, mp_int* ssk, byte* data,
47  word32* sz);
51 int wc_EncodeEccsiPvt(const EccsiKey* key, ecc_point* pvt,
52  byte* data, word32* sz, int raw);
56 int wc_DecodeEccsiPair(const EccsiKey* key, const byte* data,
57  word32 sz, mp_int* ssk, ecc_point* pvt);
61 int wc_DecodeEccsiSsk(const EccsiKey* key, const byte* data,
62  word32 sz, mp_int* ssk);
66 int wc_DecodeEccsiPvt(const EccsiKey* key, const byte* data,
67  word32 sz, ecc_point* pvt);
71 int wc_DecodeEccsiPvtFromSig(const EccsiKey* key, const byte* sig,
72  word32 sz, ecc_point* pvt);
73 
77 int wc_ExportEccsiKey(EccsiKey* key, byte* data, word32* sz);
81 int wc_ImportEccsiKey(EccsiKey* key, const byte* data, word32 sz);
82 
86 int wc_ExportEccsiPrivateKey(EccsiKey* key, byte* data, word32* sz);
90 int wc_ImportEccsiPrivateKey(EccsiKey* key, const byte* data,
91  word32 sz);
92 
96 int wc_ExportEccsiPublicKey(EccsiKey* key, byte* data, word32* sz,
97  int raw);
101 int wc_ImportEccsiPublicKey(EccsiKey* key, const byte* data,
102  word32 sz, int trusted);
103 
107 int wc_HashEccsiId(EccsiKey* key, enum wc_HashType hashType,
108  const byte* id, word32 idSz, ecc_point* pvt, byte* hash, byte* hashSz);
112 int wc_SetEccsiHash(EccsiKey* key, const byte* hash, byte hashSz);
116 int wc_SetEccsiPair(EccsiKey* key, const mp_int* ssk,
117  const ecc_point* pvt);
118 
122 int wc_SignEccsiHash(EccsiKey* key, WC_RNG* rng,
123  enum wc_HashType hashType, const byte* msg, word32 msgSz, byte* sig,
124  word32* sigSz);
128 int wc_VerifyEccsiHash(EccsiKey* key, enum wc_HashType hashType,
129  const byte* msg, word32 msgSz, const byte* sig, word32 sigSz,
130  int* verified);
131 
int wc_ValidateEccsiPair(EccsiKey *key, enum wc_HashType hashType, const byte *id, word32 idSz, const mp_int *ssk, ecc_point *pvt, int *valid)
int wc_VerifyEccsiHash(EccsiKey *key, enum wc_HashType hashType, const byte *msg, word32 msgSz, const byte *sig, word32 sigSz, int *verified)
int wc_EncodeEccsiPvt(const EccsiKey *key, ecc_point *pvt, byte *data, word32 *sz, int raw)
int wc_DecodeEccsiSsk(const EccsiKey *key, const byte *data, word32 sz, mp_int *ssk)
int wc_EncodeEccsiSsk(const EccsiKey *key, mp_int *ssk, byte *data, word32 *sz)
int wc_MakeEccsiPair(EccsiKey *key, WC_RNG *rng, enum wc_HashType hashType, const byte *id, word32 idSz, mp_int *ssk, ecc_point *pvt)
int wc_SignEccsiHash(EccsiKey *key, WC_RNG *rng, enum wc_HashType hashType, const byte *msg, word32 msgSz, byte *sig, word32 *sigSz)
int wc_DecodeEccsiPvt(const EccsiKey *key, const byte *data, word32 sz, ecc_point *pvt)
int wc_DecodeEccsiPair(const EccsiKey *key, const byte *data, word32 sz, mp_int *ssk, ecc_point *pvt)
int wc_HashEccsiId(EccsiKey *key, enum wc_HashType hashType, const byte *id, word32 idSz, ecc_point *pvt, byte *hash, byte *hashSz)
int wc_EncodeEccsiPair(const EccsiKey *key, mp_int *ssk, ecc_point *pvt, byte *data, word32 *sz)
int wc_DecodeEccsiPvtFromSig(const EccsiKey *key, const byte *sig, word32 sz, ecc_point *pvt)
int wc_ValidateEccsiPvt(EccsiKey *key, const ecc_point *pvt, int *valid)
int wc_ExportEccsiPublicKey(EccsiKey *key, byte *data, word32 *sz, int raw)
int wc_InitEccsiKey(EccsiKey *key, void *heap, int devId)
int wc_MakeEccsiKey(EccsiKey *key, WC_RNG *rng)
int wc_ImportEccsiKey(EccsiKey *key, const byte *data, word32 sz)
void wc_FreeEccsiKey(EccsiKey *key)
int wc_SetEccsiPair(EccsiKey *key, const mp_int *ssk, const ecc_point *pvt)
int wc_ExportEccsiPrivateKey(EccsiKey *key, byte *data, word32 *sz)
int wc_SetEccsiHash(EccsiKey *key, const byte *hash, byte hashSz)
int wc_ExportEccsiKey(EccsiKey *key, byte *data, word32 *sz)
int wc_ImportEccsiPrivateKey(EccsiKey *key, const byte *data, word32 sz)
int wc_InitEccsiKey_ex(EccsiKey *key, int keySz, int curveId, void *heap, int devId)
int wc_ImportEccsiPublicKey(EccsiKey *key, const byte *data, word32 sz, int trusted)