sakke.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /*!
  2. */
  3. int wc_InitSakkeKey(SakkeKey* key, void* heap, int devId);
  4. /*!
  5. */
  6. int wc_InitSakkeKey_ex(SakkeKey* key, int keySize, int curveId,
  7. void* heap, int devId);
  8. /*!
  9. */
  10. void wc_FreeSakkeKey(SakkeKey* key);
  11. /*!
  12. */
  13. int wc_MakeSakkeKey(SakkeKey* key, WC_RNG* rng);
  14. /*!
  15. */
  16. int wc_MakeSakkePublicKey(SakkeKey* key, ecc_point* pub);
  17. /*!
  18. */
  19. int wc_MakeSakkeRsk(SakkeKey* key, const byte* id, word16 idSz,
  20. ecc_point* rsk);
  21. /*!
  22. */
  23. int wc_ValidateSakkeRsk(SakkeKey* key, const byte* id, word16 idSz,
  24. ecc_point* rsk, int* valid);
  25. /*!
  26. */
  27. int wc_GenerateSakkeRskTable(const SakkeKey* key,
  28. const ecc_point* rsk, byte* table, word32* len);
  29. /*!
  30. */
  31. int wc_ExportSakkeKey(SakkeKey* key, byte* data, word32* sz);
  32. /*!
  33. */
  34. int wc_ImportSakkeKey(SakkeKey* key, const byte* data, word32 sz);
  35. /*!
  36. */
  37. int wc_ExportSakkePrivateKey(SakkeKey* key, byte* data, word32* sz);
  38. /*!
  39. */
  40. int wc_ImportSakkePrivateKey(SakkeKey* key, const byte* data,
  41. word32 sz);
  42. /*!
  43. */
  44. int wc_EncodeSakkeRsk(const SakkeKey* key, ecc_point* rsk,
  45. byte* out, word32* sz, int raw);
  46. /*!
  47. */
  48. int wc_DecodeSakkeRsk(const SakkeKey* key, const byte* data,
  49. word32 sz, ecc_point* rsk);
  50. /*!
  51. */
  52. int wc_ImportSakkeRsk(SakkeKey* key, const byte* data, word32 sz);
  53. /*!
  54. */
  55. int wc_ExportSakkePublicKey(SakkeKey* key, byte* data,
  56. word32* sz, int raw);
  57. /*!
  58. */
  59. int wc_ImportSakkePublicKey(SakkeKey* key, const byte* data,
  60. word32 sz, int trusted);
  61. /*!
  62. */
  63. int wc_GetSakkeAuthSize(SakkeKey* key, word16* authSz);
  64. /*!
  65. */
  66. int wc_SetSakkeIdentity(SakkeKey* key, const byte* id, word16 idSz);
  67. /*!
  68. */
  69. int wc_MakeSakkePointI(SakkeKey* key, const byte* id, word16 idSz);
  70. /*!
  71. */
  72. int wc_GetSakkePointI(SakkeKey* key, byte* data, word32* sz);
  73. /*!
  74. */
  75. int wc_SetSakkePointI(SakkeKey* key, const byte* id, word16 idSz,
  76. const byte* data, word32 sz);
  77. /*!
  78. */
  79. int wc_GenerateSakkePointITable(SakkeKey* key, byte* table,
  80. word32* len);
  81. /*!
  82. */
  83. int wc_SetSakkePointITable(SakkeKey* key, byte* table, word32 len);
  84. /*!
  85. */
  86. int wc_ClearSakkePointITable(SakkeKey* key);
  87. /*!
  88. */
  89. int wc_MakeSakkeEncapsulatedSSV(SakkeKey* key,
  90. enum wc_HashType hashType, byte* ssv, word16 ssvSz, byte* auth,
  91. word16* authSz);
  92. /*!
  93. */
  94. int wc_GenerateSakkeSSV(SakkeKey* key, WC_RNG* rng, byte* ssv,
  95. word16* ssvSz);
  96. /*!
  97. */
  98. int wc_SetSakkeRsk(SakkeKey* key, const ecc_point* rsk, byte* table,
  99. word32 len);
  100. /*!
  101. */
  102. int wc_DeriveSakkeSSV(SakkeKey* key, enum wc_HashType hashType,
  103. byte* ssv, word16 ssvSz, const byte* auth,
  104. word16 authSz);