afe0ca38c3d693fb23d2233ddccf93f63c640255
[openssl.git] / crypto / ec / curve448 / curve448_lcl.h
1 #include "curve448utils.h"
2
3 int X448(uint8_t out_shared_key[56], const uint8_t private_key[56],
4          const uint8_t peer_public_value[56]);
5
6 void X448_public_from_private(uint8_t out_public_value[56],
7                               const uint8_t private_key[56]);
8
9 int ED448_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len,
10                const uint8_t public_key[56], const uint8_t private_key[56],
11                const uint8_t *context, size_t context_len);
12
13 int ED448_verify(const uint8_t *message, size_t message_len,
14                  const uint8_t signature[112], const uint8_t public_key[56],
15                  const uint8_t *context, size_t context_len);
16
17 int ED448ph_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len,
18                  const uint8_t public_key[56], const uint8_t private_key[56],
19                  const uint8_t *context, size_t context_len);
20
21
22 int ED448ph_verify(const uint8_t *message, size_t message_len,
23                    const uint8_t signature[112], const uint8_t public_key[56],
24                    const uint8_t *context, size_t context_len);
25
26 void ED448_public_from_private(uint8_t out_public_key[56],
27                                const uint8_t private_key[56]);