1 2 #include "crypto_sign.h" 3 4 size_t 5 crypto_sign_statebytes(void) 6 { 7 return sizeof(crypto_sign_state); 8 } 9 10 size_t 11 crypto_sign_bytes(void) 12 { 13 return crypto_sign_BYTES; 14 } 15 16 size_t 17 crypto_sign_seedbytes(void) 18 { 19 return crypto_sign_SEEDBYTES; 20 } 21 22 size_t 23 crypto_sign_publickeybytes(void) 24 { 25 return crypto_sign_PUBLICKEYBYTES; 26 } 27 28 size_t 29 crypto_sign_secretkeybytes(void) 30 { 31 return crypto_sign_SECRETKEYBYTES; 32 } 33 34 size_t 35 crypto_sign_messagebytes_max(void) 36 { 37 return crypto_sign_MESSAGEBYTES_MAX; 38 } 39 40 const char * 41 crypto_sign_primitive(void) 42 { 43 return crypto_sign_PRIMITIVE; 44 } 45 46 int 47 crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, 48 const unsigned char *seed) 49 { 50 return crypto_sign_ed25519_seed_keypair(pk, sk, seed); 51 } 52 53 int 54 crypto_sign_keypair(unsigned char *pk, unsigned char *sk) 55 { 56 return crypto_sign_ed25519_keypair(pk, sk); 57 } 58 59 int 60 crypto_sign(unsigned char *sm, unsigned long long *smlen_p, 61 const unsigned char *m, unsigned long long mlen, 62 const unsigned char *sk) 63 { 64 return crypto_sign_ed25519(sm, smlen_p, m, mlen, sk); 65 } 66 67 int 68 crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, 69 const unsigned char *sm, unsigned long long smlen, 70 const unsigned char *pk) 71 { 72 return crypto_sign_ed25519_open(m, mlen_p, sm, smlen, pk); 73 } 74 75 int 76 crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, 77 const unsigned char *m, unsigned long long mlen, 78 const unsigned char *sk) 79 { 80 return crypto_sign_ed25519_detached(sig, siglen_p, m, mlen, sk); 81 } 82 83 int 84 crypto_sign_verify_detached(const unsigned char *sig, const unsigned char *m, 85 unsigned long long mlen, const unsigned char *pk) 86 { 87 return crypto_sign_ed25519_verify_detached(sig, m, mlen, pk); 88 } 89 90 int 91 crypto_sign_init(crypto_sign_state *state) 92 { 93 return crypto_sign_ed25519ph_init(state); 94 } 95 96 int 97 crypto_sign_update(crypto_sign_state *state, const unsigned char *m, 98 unsigned long long mlen) 99 { 100 return crypto_sign_ed25519ph_update(state, m, mlen); 101 } 102 103 int 104 crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, 105 unsigned long long *siglen_p, const unsigned char *sk) 106 { 107 return crypto_sign_ed25519ph_final_create(state, sig, siglen_p, sk); 108 } 109 110 int 111 crypto_sign_final_verify(crypto_sign_state *state, unsigned char *sig, 112 const unsigned char *pk) 113 { 114 return crypto_sign_ed25519ph_final_verify(state, sig, pk); 115 } 116