Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

48 rader
1.3 KiB

  1. #ifndef PQCLEAN_MQDSS64_CLEAN_API_H
  2. #define PQCLEAN_MQDSS64_CLEAN_API_H
  3. #include <stddef.h>
  4. #include <stdint.h>
  5. #define PQCLEAN_MQDSS64_CLEAN_CRYPTO_ALGNAME "MQDSS-64"
  6. #define PQCLEAN_MQDSS64_CLEAN_CRYPTO_SECRETKEYBYTES 24
  7. #define PQCLEAN_MQDSS64_CLEAN_CRYPTO_PUBLICKEYBYTES 64
  8. #define PQCLEAN_MQDSS64_CLEAN_CRYPTO_BYTES 43728
  9. /*
  10. * Generates an MQDSS key pair.
  11. */
  12. int PQCLEAN_MQDSS64_CLEAN_crypto_sign_keypair(
  13. uint8_t *pk, uint8_t *sk);
  14. /**
  15. * Returns an array containing a detached signature.
  16. */
  17. int PQCLEAN_MQDSS64_CLEAN_crypto_sign_signature(
  18. uint8_t *sig, size_t *siglen,
  19. const uint8_t *m, size_t mlen, const uint8_t *sk);
  20. /**
  21. * Verifies a detached signature and message under a given public key.
  22. */
  23. int PQCLEAN_MQDSS64_CLEAN_crypto_sign_verify(
  24. const uint8_t *sig, size_t siglen,
  25. const uint8_t *m, size_t mlen, const uint8_t *pk);
  26. /**
  27. * Returns an array containing the signature followed by the message.
  28. */
  29. int PQCLEAN_MQDSS64_CLEAN_crypto_sign(
  30. uint8_t *sm, size_t *smlen,
  31. const uint8_t *m, size_t mlen, const uint8_t *sk);
  32. /**
  33. * Verifies a given signature-message pair under a given public key.
  34. */
  35. int PQCLEAN_MQDSS64_CLEAN_crypto_sign_open(
  36. uint8_t *m, size_t *mlen,
  37. const uint8_t *sm, size_t smlen, const uint8_t *pk);
  38. #endif