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