You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
1.8 KiB

  1. #ifndef PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDRESS_H
  2. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDRESS_H
  3. #include <stdint.h>
  4. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDR_TYPE_WOTS 0
  5. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDR_TYPE_WOTSPK 1
  6. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDR_TYPE_HASHTREE 2
  7. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDR_TYPE_FORSTREE 3
  8. #define PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_ADDR_TYPE_FORSPK 4
  9. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_addr_to_bytes(
  10. unsigned char *bytes, const uint32_t addr[8]);
  11. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_layer_addr(
  12. uint32_t addr[8], uint32_t layer);
  13. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_tree_addr(
  14. uint32_t addr[8], uint64_t tree);
  15. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_type(
  16. uint32_t addr[8], uint32_t type);
  17. /* Copies the layer and tree part of one address into the other */
  18. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_copy_subtree_addr(
  19. uint32_t out[8], const uint32_t in[8]);
  20. /* These functions are used for WOTS and FORS addresses. */
  21. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_keypair_addr(
  22. uint32_t addr[8], uint32_t keypair);
  23. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_chain_addr(
  24. uint32_t addr[8], uint32_t chain);
  25. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_hash_addr(
  26. uint32_t addr[8], uint32_t hash);
  27. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_copy_keypair_addr(
  28. uint32_t out[8], const uint32_t in[8]);
  29. /* These functions are used for all hash tree addresses (including FORS). */
  30. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_tree_height(
  31. uint32_t addr[8], uint32_t tree_height);
  32. void PQCLEAN_SPHINCSHARAKA128SSIMPLE_CLEAN_set_tree_index(
  33. uint32_t addr[8], uint32_t tree_index);
  34. #endif