tcrypto_api.h - sick - sign and check files using ed25519
(HTM) git clone git://z3bra.org/sick
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
tcrypto_api.h (1306B)
---
1 /*
2 * public domain.
3 */
4
5 #ifndef CRYPTO_API_H
6 #define CRYPTO_API_H
7
8 #include <stdint.h>
9 #include <stdlib.h>
10
11 #define crypto_hash_sha512_BYTES 64U
12 #define crypto_sign_ed25519_SECRETKEYBYTES 64U
13 #define crypto_sign_ed25519_PUBLICKEYBYTES 32U
14 #define crypto_sign_ed25519_BYTES 64U
15
16 #ifdef __OpenBSD__
17 #define randombytes(buf, buf_len) arc4random_buf((buf), (buf_len))
18 #else
19 #include <sys/random.h>
20 #define randombytes(buf, buf_len) getrandom((buf), (buf_len), GRND_RANDOM)
21 #endif
22
23 typedef int32_t crypto_int32;
24 typedef uint32_t crypto_uint32;
25
26 int crypto_hashblocks_sha512(unsigned char *, const unsigned char *,
27 unsigned long long);
28
29 int crypto_hash_sha512(unsigned char *, const unsigned char *,
30 unsigned long long);
31
32 int crypto_verify_32(const unsigned char *, const unsigned char *);
33
34 int crypto_sign_ed25519(unsigned char *, unsigned long long *,
35 const unsigned char *, unsigned long long,
36 const unsigned char *);
37
38 int crypto_sign_ed25519_open(unsigned char *, unsigned long long *,
39 const unsigned char *, unsigned long long,
40 const unsigned char *);
41
42 int crypto_sign_ed25519_keypair(unsigned char *, unsigned char *);
43
44 #endif /* CRYPTO_API_H */