summaryrefslogtreecommitdiff
path: root/libs/libsignal/src/curve25519/ed25519/additions/generalized/gen_x.h
blob: 3c4c04cb6c4ee53c2db0a94e45c12e4ad994c64c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef __GEN_X_H
#define __GEN_X_H

int generalized_xeddsa_25519_sign(unsigned char* signature_out, /* 64 bytes */
                              const unsigned char* x25519_privkey_scalar, /* 32 bytes */
                              const unsigned char* msg, const unsigned long msg_len,
                              const unsigned char* random, /* 32 bytes */
                              const unsigned char* customization_label,
                              const unsigned long customization_label_len);

int generalized_xeddsa_25519_verify(
                  const unsigned char* signature, /* 64 bytes */
                  const unsigned char* x25519_pubkey_bytes, /* 32 bytes */
                  const unsigned char* msg, 
                  const unsigned long msg_len,
                  const unsigned char* customization_label,
                  const unsigned long customization_label_len);

int generalized_xveddsa_25519_sign(
                  unsigned char* signature_out, /* 96 bytes */
                  const unsigned char* x25519_privkey_scalar, /* 32 bytes */
                  const unsigned char* msg, 
                  const unsigned long msg_len,
                  const unsigned char* random, /* 32 bytes */
                  const unsigned char* customization_label,
                  const unsigned long customization_label_len);

int generalized_xveddsa_25519_verify(
                  unsigned char* vrf_out, /* 32 bytes */
                  const unsigned char* signature, /* 96 bytes */
                  const unsigned char* x25519_pubkey_bytes, /* 32 bytes */
                  const unsigned char* msg, 
                  const unsigned long msg_len,
                  const unsigned char* customization_label,
                  const unsigned long customization_label_len);

#endif