1
2 #include "crypto_sign.h"
3
4 size_t
crypto_sign_statebytes(void)5 crypto_sign_statebytes(void)
6 {
7 return sizeof(crypto_sign_state);
8 }
9
10 size_t
crypto_sign_bytes(void)11 crypto_sign_bytes(void)
12 {
13 return crypto_sign_BYTES;
14 }
15
16 size_t
crypto_sign_seedbytes(void)17 crypto_sign_seedbytes(void)
18 {
19 return crypto_sign_SEEDBYTES;
20 }
21
22 size_t
crypto_sign_publickeybytes(void)23 crypto_sign_publickeybytes(void)
24 {
25 return crypto_sign_PUBLICKEYBYTES;
26 }
27
28 size_t
crypto_sign_secretkeybytes(void)29 crypto_sign_secretkeybytes(void)
30 {
31 return crypto_sign_SECRETKEYBYTES;
32 }
33
34 size_t
crypto_sign_messagebytes_max(void)35 crypto_sign_messagebytes_max(void)
36 {
37 return crypto_sign_MESSAGEBYTES_MAX;
38 }
39
40 const char *
crypto_sign_primitive(void)41 crypto_sign_primitive(void)
42 {
43 return crypto_sign_PRIMITIVE;
44 }
45
46 int
crypto_sign_seed_keypair(unsigned char * pk,unsigned char * sk,const unsigned char * seed)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
crypto_sign_keypair(unsigned char * pk,unsigned char * sk)54 crypto_sign_keypair(unsigned char *pk, unsigned char *sk)
55 {
56 return crypto_sign_ed25519_keypair(pk, sk);
57 }
58
59 int
crypto_sign(unsigned char * sm,unsigned long long * smlen_p,const unsigned char * m,unsigned long long mlen,const unsigned char * sk)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
crypto_sign_open(unsigned char * m,unsigned long long * mlen_p,const unsigned char * sm,unsigned long long smlen,const unsigned char * pk)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
crypto_sign_detached(unsigned char * sig,unsigned long long * siglen_p,const unsigned char * m,unsigned long long mlen,const unsigned char * sk)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
crypto_sign_verify_detached(const unsigned char * sig,const unsigned char * m,unsigned long long mlen,const unsigned char * pk)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
crypto_sign_init(crypto_sign_state * state)91 crypto_sign_init(crypto_sign_state *state)
92 {
93 return crypto_sign_ed25519ph_init(state);
94 }
95
96 int
crypto_sign_update(crypto_sign_state * state,const unsigned char * m,unsigned long long mlen)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
crypto_sign_final_create(crypto_sign_state * state,unsigned char * sig,unsigned long long * siglen_p,const unsigned char * sk)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
crypto_sign_final_verify(crypto_sign_state * state,unsigned char * sig,const unsigned char * pk)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