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