Home | History | Annotate | Line # | Download | only in sodium
      1  1.1  riastrad #ifndef crypto_kx_H
      2  1.1  riastrad #define crypto_kx_H
      3  1.1  riastrad 
      4  1.1  riastrad #if 0
      5  1.1  riastrad #include <stddef.h>
      6  1.1  riastrad #endif
      7  1.1  riastrad #include "export.h"
      8  1.1  riastrad 
      9  1.1  riastrad #ifdef __cplusplus
     10  1.1  riastrad # ifdef __GNUC__
     11  1.1  riastrad #  pragma GCC diagnostic ignored "-Wlong-long"
     12  1.1  riastrad # endif
     13  1.1  riastrad extern "C" {
     14  1.1  riastrad #endif
     15  1.1  riastrad 
     16  1.1  riastrad #define crypto_kx_PUBLICKEYBYTES 32
     17  1.1  riastrad SODIUM_EXPORT
     18  1.1  riastrad size_t crypto_kx_publickeybytes(void);
     19  1.1  riastrad 
     20  1.1  riastrad #define crypto_kx_SECRETKEYBYTES 32
     21  1.1  riastrad SODIUM_EXPORT
     22  1.1  riastrad size_t crypto_kx_secretkeybytes(void);
     23  1.1  riastrad 
     24  1.1  riastrad #define crypto_kx_SEEDBYTES 32
     25  1.1  riastrad SODIUM_EXPORT
     26  1.1  riastrad size_t crypto_kx_seedbytes(void);
     27  1.1  riastrad 
     28  1.1  riastrad #define crypto_kx_SESSIONKEYBYTES 32
     29  1.1  riastrad SODIUM_EXPORT
     30  1.1  riastrad size_t crypto_kx_sessionkeybytes(void);
     31  1.1  riastrad 
     32  1.1  riastrad #define crypto_kx_PRIMITIVE "x25519blake2b"
     33  1.1  riastrad SODIUM_EXPORT
     34  1.1  riastrad const char *crypto_kx_primitive(void);
     35  1.1  riastrad 
     36  1.1  riastrad SODIUM_EXPORT
     37  1.1  riastrad int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
     38  1.1  riastrad                            unsigned char sk[crypto_kx_SECRETKEYBYTES],
     39  1.1  riastrad                            const unsigned char seed[crypto_kx_SEEDBYTES]);
     40  1.1  riastrad 
     41  1.1  riastrad SODIUM_EXPORT
     42  1.1  riastrad int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
     43  1.1  riastrad                       unsigned char sk[crypto_kx_SECRETKEYBYTES]);
     44  1.1  riastrad 
     45  1.1  riastrad SODIUM_EXPORT
     46  1.1  riastrad int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
     47  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
     48  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES],
     49  1.1  riastrad                                   const unsigned char client_sk[crypto_kx_SECRETKEYBYTES],
     50  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES])
     51  1.1  riastrad             __attribute__ ((warn_unused_result));
     52  1.1  riastrad 
     53  1.1  riastrad SODIUM_EXPORT
     54  1.1  riastrad int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
     55  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
     56  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES],
     57  1.1  riastrad                                   const unsigned char server_sk[crypto_kx_SECRETKEYBYTES],
     58  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES])
     59  1.1  riastrad             __attribute__ ((warn_unused_result));
     60  1.1  riastrad 
     61  1.1  riastrad #ifdef __cplusplus
     62  1.1  riastrad }
     63  1.1  riastrad #endif
     64  1.1  riastrad 
     65  1.1  riastrad #endif
     66  1.1  riastrad #ifndef crypto_kx_H
     67  1.1  riastrad #define crypto_kx_H
     68  1.1  riastrad 
     69  1.1  riastrad #if 0
     70  1.1  riastrad #include <stddef.h>
     71  1.1  riastrad #endif
     72  1.1  riastrad #include "export.h"
     73  1.1  riastrad 
     74  1.1  riastrad #ifdef __cplusplus
     75  1.1  riastrad # ifdef __GNUC__
     76  1.1  riastrad #  pragma GCC diagnostic ignored "-Wlong-long"
     77  1.1  riastrad # endif
     78  1.1  riastrad extern "C" {
     79  1.1  riastrad #endif
     80  1.1  riastrad 
     81  1.1  riastrad #define crypto_kx_PUBLICKEYBYTES 32
     82  1.1  riastrad SODIUM_EXPORT
     83  1.1  riastrad size_t crypto_kx_publickeybytes(void);
     84  1.1  riastrad 
     85  1.1  riastrad #define crypto_kx_SECRETKEYBYTES 32
     86  1.1  riastrad SODIUM_EXPORT
     87  1.1  riastrad size_t crypto_kx_secretkeybytes(void);
     88  1.1  riastrad 
     89  1.1  riastrad #define crypto_kx_SEEDBYTES 32
     90  1.1  riastrad SODIUM_EXPORT
     91  1.1  riastrad size_t crypto_kx_seedbytes(void);
     92  1.1  riastrad 
     93  1.1  riastrad #define crypto_kx_SESSIONKEYBYTES 32
     94  1.1  riastrad SODIUM_EXPORT
     95  1.1  riastrad size_t crypto_kx_sessionkeybytes(void);
     96  1.1  riastrad 
     97  1.1  riastrad #define crypto_kx_PRIMITIVE "x25519blake2b"
     98  1.1  riastrad SODIUM_EXPORT
     99  1.1  riastrad const char *crypto_kx_primitive(void);
    100  1.1  riastrad 
    101  1.1  riastrad SODIUM_EXPORT
    102  1.1  riastrad int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    103  1.1  riastrad                            unsigned char sk[crypto_kx_SECRETKEYBYTES],
    104  1.1  riastrad                            const unsigned char seed[crypto_kx_SEEDBYTES]);
    105  1.1  riastrad 
    106  1.1  riastrad SODIUM_EXPORT
    107  1.1  riastrad int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    108  1.1  riastrad                       unsigned char sk[crypto_kx_SECRETKEYBYTES]);
    109  1.1  riastrad 
    110  1.1  riastrad SODIUM_EXPORT
    111  1.1  riastrad int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    112  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    113  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES],
    114  1.1  riastrad                                   const unsigned char client_sk[crypto_kx_SECRETKEYBYTES],
    115  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES])
    116  1.1  riastrad             __attribute__ ((warn_unused_result));
    117  1.1  riastrad 
    118  1.1  riastrad SODIUM_EXPORT
    119  1.1  riastrad int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    120  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    121  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES],
    122  1.1  riastrad                                   const unsigned char server_sk[crypto_kx_SECRETKEYBYTES],
    123  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES])
    124  1.1  riastrad             __attribute__ ((warn_unused_result));
    125  1.1  riastrad 
    126  1.1  riastrad #ifdef __cplusplus
    127  1.1  riastrad }
    128  1.1  riastrad #endif
    129  1.1  riastrad 
    130  1.1  riastrad #endif
    131  1.1  riastrad #ifndef crypto_kx_H
    132  1.1  riastrad #define crypto_kx_H
    133  1.1  riastrad 
    134  1.1  riastrad #if 0
    135  1.1  riastrad #include <stddef.h>
    136  1.1  riastrad #endif
    137  1.1  riastrad #include "export.h"
    138  1.1  riastrad 
    139  1.1  riastrad #ifdef __cplusplus
    140  1.1  riastrad # ifdef __GNUC__
    141  1.1  riastrad #  pragma GCC diagnostic ignored "-Wlong-long"
    142  1.1  riastrad # endif
    143  1.1  riastrad extern "C" {
    144  1.1  riastrad #endif
    145  1.1  riastrad 
    146  1.1  riastrad #define crypto_kx_PUBLICKEYBYTES 32
    147  1.1  riastrad SODIUM_EXPORT
    148  1.1  riastrad size_t crypto_kx_publickeybytes(void);
    149  1.1  riastrad 
    150  1.1  riastrad #define crypto_kx_SECRETKEYBYTES 32
    151  1.1  riastrad SODIUM_EXPORT
    152  1.1  riastrad size_t crypto_kx_secretkeybytes(void);
    153  1.1  riastrad 
    154  1.1  riastrad #define crypto_kx_SEEDBYTES 32
    155  1.1  riastrad SODIUM_EXPORT
    156  1.1  riastrad size_t crypto_kx_seedbytes(void);
    157  1.1  riastrad 
    158  1.1  riastrad #define crypto_kx_SESSIONKEYBYTES 32
    159  1.1  riastrad SODIUM_EXPORT
    160  1.1  riastrad size_t crypto_kx_sessionkeybytes(void);
    161  1.1  riastrad 
    162  1.1  riastrad #define crypto_kx_PRIMITIVE "x25519blake2b"
    163  1.1  riastrad SODIUM_EXPORT
    164  1.1  riastrad const char *crypto_kx_primitive(void);
    165  1.1  riastrad 
    166  1.1  riastrad SODIUM_EXPORT
    167  1.1  riastrad int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    168  1.1  riastrad                            unsigned char sk[crypto_kx_SECRETKEYBYTES],
    169  1.1  riastrad                            const unsigned char seed[crypto_kx_SEEDBYTES]);
    170  1.1  riastrad 
    171  1.1  riastrad SODIUM_EXPORT
    172  1.1  riastrad int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    173  1.1  riastrad                       unsigned char sk[crypto_kx_SECRETKEYBYTES]);
    174  1.1  riastrad 
    175  1.1  riastrad SODIUM_EXPORT
    176  1.1  riastrad int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    177  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    178  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES],
    179  1.1  riastrad                                   const unsigned char client_sk[crypto_kx_SECRETKEYBYTES],
    180  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES])
    181  1.1  riastrad             __attribute__ ((warn_unused_result));
    182  1.1  riastrad 
    183  1.1  riastrad SODIUM_EXPORT
    184  1.1  riastrad int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    185  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    186  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES],
    187  1.1  riastrad                                   const unsigned char server_sk[crypto_kx_SECRETKEYBYTES],
    188  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES])
    189  1.1  riastrad             __attribute__ ((warn_unused_result));
    190  1.1  riastrad 
    191  1.1  riastrad #ifdef __cplusplus
    192  1.1  riastrad }
    193  1.1  riastrad #endif
    194  1.1  riastrad 
    195  1.1  riastrad #endif
    196  1.1  riastrad #ifndef crypto_kx_H
    197  1.1  riastrad #define crypto_kx_H
    198  1.1  riastrad 
    199  1.1  riastrad #if 0
    200  1.1  riastrad #include <stddef.h>
    201  1.1  riastrad #endif
    202  1.1  riastrad #include "export.h"
    203  1.1  riastrad 
    204  1.1  riastrad #ifdef __cplusplus
    205  1.1  riastrad # ifdef __GNUC__
    206  1.1  riastrad #  pragma GCC diagnostic ignored "-Wlong-long"
    207  1.1  riastrad # endif
    208  1.1  riastrad extern "C" {
    209  1.1  riastrad #endif
    210  1.1  riastrad 
    211  1.1  riastrad #define crypto_kx_PUBLICKEYBYTES 32
    212  1.1  riastrad SODIUM_EXPORT
    213  1.1  riastrad size_t crypto_kx_publickeybytes(void);
    214  1.1  riastrad 
    215  1.1  riastrad #define crypto_kx_SECRETKEYBYTES 32
    216  1.1  riastrad SODIUM_EXPORT
    217  1.1  riastrad size_t crypto_kx_secretkeybytes(void);
    218  1.1  riastrad 
    219  1.1  riastrad #define crypto_kx_SEEDBYTES 32
    220  1.1  riastrad SODIUM_EXPORT
    221  1.1  riastrad size_t crypto_kx_seedbytes(void);
    222  1.1  riastrad 
    223  1.1  riastrad #define crypto_kx_SESSIONKEYBYTES 32
    224  1.1  riastrad SODIUM_EXPORT
    225  1.1  riastrad size_t crypto_kx_sessionkeybytes(void);
    226  1.1  riastrad 
    227  1.1  riastrad #define crypto_kx_PRIMITIVE "x25519blake2b"
    228  1.1  riastrad SODIUM_EXPORT
    229  1.1  riastrad const char *crypto_kx_primitive(void);
    230  1.1  riastrad 
    231  1.1  riastrad SODIUM_EXPORT
    232  1.1  riastrad int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    233  1.1  riastrad                            unsigned char sk[crypto_kx_SECRETKEYBYTES],
    234  1.1  riastrad                            const unsigned char seed[crypto_kx_SEEDBYTES]);
    235  1.1  riastrad 
    236  1.1  riastrad SODIUM_EXPORT
    237  1.1  riastrad int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES],
    238  1.1  riastrad                       unsigned char sk[crypto_kx_SECRETKEYBYTES]);
    239  1.1  riastrad 
    240  1.1  riastrad SODIUM_EXPORT
    241  1.1  riastrad int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    242  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    243  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES],
    244  1.1  riastrad                                   const unsigned char client_sk[crypto_kx_SECRETKEYBYTES],
    245  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES])
    246  1.1  riastrad             __attribute__ ((warn_unused_result));
    247  1.1  riastrad 
    248  1.1  riastrad SODIUM_EXPORT
    249  1.1  riastrad int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES],
    250  1.1  riastrad                                   unsigned char tx[crypto_kx_SESSIONKEYBYTES],
    251  1.1  riastrad                                   const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES],
    252  1.1  riastrad                                   const unsigned char server_sk[crypto_kx_SECRETKEYBYTES],
    253  1.1  riastrad                                   const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES])
    254  1.1  riastrad             __attribute__ ((warn_unused_result));
    255  1.1  riastrad 
    256  1.1  riastrad #ifdef __cplusplus
    257  1.1  riastrad }
    258  1.1  riastrad #endif
    259  1.1  riastrad 
    260  1.1  riastrad #endif
    261