您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

41 行
1.8 KiB

  1. #ifndef PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_HARAKA_H
  2. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_HARAKA_H
  3. #include <stddef.h>
  4. #include <stdint.h>
  5. typedef struct {
  6. uint64_t tweaked512_rc64[10][8];
  7. uint32_t tweaked256_rc32[10][8];
  8. uint32_t tweaked256_rc32_sseed[10][8];
  9. } harakactx;
  10. /* Tweak constants with seed */
  11. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_tweak_constants(
  12. harakactx *state,
  13. const unsigned char *pk_seed, const unsigned char *sk_seed,
  14. unsigned long long seed_length);
  15. /* Haraka Sponge */
  16. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka_S_inc_init(uint8_t *s_inc);
  17. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka_S_inc_absorb(uint8_t *s_inc, const uint8_t *m, size_t mlen, const harakactx *state);
  18. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka_S_inc_finalize(uint8_t *s_inc);
  19. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka_S_inc_squeeze(uint8_t *out, size_t outlen, uint8_t *s_inc, const harakactx *state);
  20. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka_S(
  21. unsigned char *out, unsigned long long outlen,
  22. const unsigned char *in, unsigned long long inlen, const harakactx *state);
  23. /* Applies the 512-bit Haraka permutation to in. */
  24. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka512_perm(unsigned char *out, const unsigned char *in, const harakactx *state);
  25. /* Implementation of Haraka-512 */
  26. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka512(unsigned char *out, const unsigned char *in, const harakactx *state);
  27. /* Implementation of Haraka-256 */
  28. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka256(unsigned char *out, const unsigned char *in, const harakactx *state);
  29. /* Implementation of Haraka-256 using sk.seed constants */
  30. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_haraka256_sk(unsigned char *out, const unsigned char *in, const harakactx *state);
  31. #endif