Annotation of src/usr.bin/ssh/crypto_api.h, Revision 1.7
1.7 ! dtucker 1: /* $OpenBSD: crypto_api.h,v 1.6 2020/12/29 00:59:15 djm Exp $ */
1.1 markus 2:
1.3 markus 3: /*
4: * Assembled from generated headers and source files by Markus Friedl.
5: * Placed in the public domain.
6: */
1.1 markus 7:
8: #ifndef crypto_api_h
9: #define crypto_api_h
10:
11: #include <stdint.h>
12: #include <stdlib.h>
13:
1.5 djm 14: typedef int8_t crypto_int8;
15: typedef uint8_t crypto_uint8;
16: typedef int16_t crypto_int16;
17: typedef uint16_t crypto_uint16;
1.1 markus 18: typedef int32_t crypto_int32;
19: typedef uint32_t crypto_uint32;
1.7 ! dtucker 20: typedef int64_t crypto_int64;
! 21: typedef uint64_t crypto_uint64;
1.1 markus 22:
23: #define randombytes(buf, buf_len) arc4random_buf((buf), (buf_len))
1.5 djm 24: #define small_random32() arc4random()
1.1 markus 25:
26: #define crypto_hash_sha512_BYTES 64U
27:
28: int crypto_hash_sha512(unsigned char *, const unsigned char *,
29: unsigned long long);
30:
31: int crypto_verify_32(const unsigned char *, const unsigned char *);
32:
33: #define crypto_sign_ed25519_SECRETKEYBYTES 64U
34: #define crypto_sign_ed25519_PUBLICKEYBYTES 32U
35: #define crypto_sign_ed25519_BYTES 64U
36:
37: int crypto_sign_ed25519(unsigned char *, unsigned long long *,
38: const unsigned char *, unsigned long long, const unsigned char *);
39: int crypto_sign_ed25519_open(unsigned char *, unsigned long long *,
40: const unsigned char *, unsigned long long, const unsigned char *);
41: int crypto_sign_ed25519_keypair(unsigned char *, unsigned char *);
1.5 djm 42:
1.6 djm 43: #define crypto_kem_sntrup761_PUBLICKEYBYTES 1158
44: #define crypto_kem_sntrup761_SECRETKEYBYTES 1763
45: #define crypto_kem_sntrup761_CIPHERTEXTBYTES 1039
46: #define crypto_kem_sntrup761_BYTES 32
1.5 djm 47:
1.6 djm 48: int crypto_kem_sntrup761_enc(unsigned char *cstr, unsigned char *k,
1.5 djm 49: const unsigned char *pk);
1.6 djm 50: int crypto_kem_sntrup761_dec(unsigned char *k,
1.5 djm 51: const unsigned char *cstr, const unsigned char *sk);
1.6 djm 52: int crypto_kem_sntrup761_keypair(unsigned char *pk, unsigned char *sk);
1.1 markus 53:
54: #endif /* crypto_api_h */