Home | History | Annotate | Line # | Download | only in sodium
crypto_scalarmult_curve25519.h revision 1.1
      1 #ifndef crypto_scalarmult_curve25519_H
      2 #define crypto_scalarmult_curve25519_H
      3 
      4 #if 0
      5 #include <stddef.h>
      6 #endif
      7 
      8 #include "export.h"
      9 
     10 #ifdef __cplusplus
     11 extern "C" {
     12 #endif
     13 
     14 #define crypto_scalarmult_curve25519_BYTES 32U
     15 SODIUM_EXPORT
     16 size_t crypto_scalarmult_curve25519_bytes(void);
     17 
     18 #define crypto_scalarmult_curve25519_SCALARBYTES 32U
     19 SODIUM_EXPORT
     20 size_t crypto_scalarmult_curve25519_scalarbytes(void);
     21 
     22 /*
     23  * NOTE: Do not use the result of this function directly.
     24  *
     25  * Hash the result with the public keys in order to compute a shared
     26  * secret key: H(q || client_pk || server_pk)
     27  *
     28  * Or unless this is not an option, use the crypto_kx() API instead.
     29  */
     30 SODIUM_EXPORT
     31 int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,
     32                                  const unsigned char *p)
     33             __attribute__ ((warn_unused_result));
     34 
     35 SODIUM_EXPORT
     36 int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n);
     37 
     38 #ifdef __cplusplus
     39 }
     40 #endif
     41 
     42 #endif
     43 #ifndef crypto_scalarmult_curve25519_H
     44 #define crypto_scalarmult_curve25519_H
     45 
     46 #if 0
     47 #include <stddef.h>
     48 #endif
     49 
     50 #include "export.h"
     51 
     52 #ifdef __cplusplus
     53 extern "C" {
     54 #endif
     55 
     56 #define crypto_scalarmult_curve25519_BYTES 32U
     57 SODIUM_EXPORT
     58 size_t crypto_scalarmult_curve25519_bytes(void);
     59 
     60 #define crypto_scalarmult_curve25519_SCALARBYTES 32U
     61 SODIUM_EXPORT
     62 size_t crypto_scalarmult_curve25519_scalarbytes(void);
     63 
     64 /*
     65  * NOTE: Do not use the result of this function directly.
     66  *
     67  * Hash the result with the public keys in order to compute a shared
     68  * secret key: H(q || client_pk || server_pk)
     69  *
     70  * Or unless this is not an option, use the crypto_kx() API instead.
     71  */
     72 SODIUM_EXPORT
     73 int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,
     74                                  const unsigned char *p)
     75             __attribute__ ((warn_unused_result));
     76 
     77 SODIUM_EXPORT
     78 int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n);
     79 
     80 #ifdef __cplusplus
     81 }
     82 #endif
     83 
     84 #endif
     85 #ifndef crypto_scalarmult_curve25519_H
     86 #define crypto_scalarmult_curve25519_H
     87 
     88 #if 0
     89 #include <stddef.h>
     90 #endif
     91 
     92 #include "export.h"
     93 
     94 #ifdef __cplusplus
     95 extern "C" {
     96 #endif
     97 
     98 #define crypto_scalarmult_curve25519_BYTES 32U
     99 SODIUM_EXPORT
    100 size_t crypto_scalarmult_curve25519_bytes(void);
    101 
    102 #define crypto_scalarmult_curve25519_SCALARBYTES 32U
    103 SODIUM_EXPORT
    104 size_t crypto_scalarmult_curve25519_scalarbytes(void);
    105 
    106 /*
    107  * NOTE: Do not use the result of this function directly.
    108  *
    109  * Hash the result with the public keys in order to compute a shared
    110  * secret key: H(q || client_pk || server_pk)
    111  *
    112  * Or unless this is not an option, use the crypto_kx() API instead.
    113  */
    114 SODIUM_EXPORT
    115 int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,
    116                                  const unsigned char *p)
    117             __attribute__ ((warn_unused_result));
    118 
    119 SODIUM_EXPORT
    120 int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n);
    121 
    122 #ifdef __cplusplus
    123 }
    124 #endif
    125 
    126 #endif
    127 #ifndef crypto_scalarmult_curve25519_H
    128 #define crypto_scalarmult_curve25519_H
    129 
    130 #if 0
    131 #include <stddef.h>
    132 #endif
    133 
    134 #include "export.h"
    135 
    136 #ifdef __cplusplus
    137 extern "C" {
    138 #endif
    139 
    140 #define crypto_scalarmult_curve25519_BYTES 32U
    141 SODIUM_EXPORT
    142 size_t crypto_scalarmult_curve25519_bytes(void);
    143 
    144 #define crypto_scalarmult_curve25519_SCALARBYTES 32U
    145 SODIUM_EXPORT
    146 size_t crypto_scalarmult_curve25519_scalarbytes(void);
    147 
    148 /*
    149  * NOTE: Do not use the result of this function directly.
    150  *
    151  * Hash the result with the public keys in order to compute a shared
    152  * secret key: H(q || client_pk || server_pk)
    153  *
    154  * Or unless this is not an option, use the crypto_kx() API instead.
    155  */
    156 SODIUM_EXPORT
    157 int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,
    158                                  const unsigned char *p)
    159             __attribute__ ((warn_unused_result));
    160 
    161 SODIUM_EXPORT
    162 int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n);
    163 
    164 #ifdef __cplusplus
    165 }
    166 #endif
    167 
    168 #endif
    169