[BACK]Return to crypto_api.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

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 */