Monero
Toggle main menu visibility
Loading...
Searching...
No Matches
external
supercop
crypto_sign
ed25519
amd64-64-24k
sc25519.h
Go to the documentation of this file.
1
#ifndef SC25519_H
2
#define SC25519_H
3
4
#define sc25519 crypto_sign_ed25519_amd64_64_sc25519
5
#define shortsc25519 crypto_sign_ed25519_amd64_64_shortsc25519
6
#define sc25519_from32bytes crypto_sign_ed25519_amd64_64_sc25519_from32bytes
7
#define shortsc25519_from16bytes crypto_sign_ed25519_amd64_64_shortsc25519_from16bytes
8
#define sc25519_from64bytes crypto_sign_ed25519_amd64_64_sc25519_from64bytes
9
#define sc25519_from_shortsc crypto_sign_ed25519_amd64_64_sc25519_from_shortsc
10
#define sc25519_to32bytes crypto_sign_ed25519_amd64_64_sc25519_to32bytes
11
#define sc25519_iszero_vartime crypto_sign_ed25519_amd64_64_sc25519_iszero_vartime
12
#define sc25519_isshort_vartime crypto_sign_ed25519_amd64_64_sc25519_isshort_vartime
13
#define sc25519_lt crypto_sign_ed25519_amd64_64_sc25519_lt
14
#define sc25519_add crypto_sign_ed25519_amd64_64_sc25519_add
15
#define sc25519_sub_nored crypto_sign_ed25519_amd64_64_sc25519_sub_nored
16
#define sc25519_mul crypto_sign_ed25519_amd64_64_sc25519_mul
17
#define sc25519_mul_shortsc crypto_sign_ed25519_amd64_64_sc25519_mul_shortsc
18
#define sc25519_window4 crypto_sign_ed25519_amd64_64_sc25519_window4
19
#define sc25519_slide crypto_sign_ed25519_amd64_64_sc25519_slide
20
#define sc25519_2interleave2 crypto_sign_ed25519_amd64_64_sc25519_2interleave2
21
#define sc25519_barrett crypto_sign_ed25519_amd64_64_sc25519_barrett
22
23
typedef
struct
24
{
25
unsigned
long
long
v[4];
26
}
27
sc25519
;
28
29
typedef
struct
30
{
31
unsigned
long
long
v[2];
32
}
33
shortsc25519
;
34
35
void
sc25519_from32bytes
(
sc25519
*r,
const
unsigned
char
x[32]);
36
37
void
sc25519_from64bytes
(
sc25519
*r,
const
unsigned
char
x[64]);
38
39
void
sc25519_from_shortsc
(
sc25519
*r,
const
shortsc25519
*x);
40
41
void
sc25519_to32bytes
(
unsigned
char
r[32],
const
sc25519
*x);
42
43
int
sc25519_iszero_vartime
(
const
sc25519
*x);
44
45
int
sc25519_lt
(
const
sc25519
*x,
const
sc25519
*y);
46
47
void
sc25519_add
(
sc25519
*r,
const
sc25519
*x,
const
sc25519
*y);
48
49
void
sc25519_sub_nored
(
sc25519
*r,
const
sc25519
*x,
const
sc25519
*y);
50
51
void
sc25519_mul
(
sc25519
*r,
const
sc25519
*x,
const
sc25519
*y);
52
53
void
sc25519_mul_shortsc
(
sc25519
*r,
const
sc25519
*x,
const
shortsc25519
*y);
54
55
/* Convert s into a representation of the form \sum_{i=0}^{63}r[i]2^(4*i)
56
* with r[i] in {-8,...,7}
57
*/
58
void
sc25519_window4
(
signed
char
r[85],
const
sc25519
*
s
);
59
60
void
sc25519_slide
(
signed
char
r[256],
const
sc25519
*
s
,
int
swindowsize);
61
62
void
sc25519_2interleave2
(
unsigned
char
r[127],
const
sc25519
*s1,
const
sc25519
*s2);
63
64
void
sc25519_barrett
(
sc25519
*r,
unsigned
long
long
x[8]);
65
66
#endif
s
#define s(x, c)
Definition
aesb.c:47
sc25519_sub_nored
#define sc25519_sub_nored
Definition
sc25519.h:15
sc25519_from32bytes
#define sc25519_from32bytes
Definition
sc25519.h:6
sc25519_add
#define sc25519_add
Definition
sc25519.h:14
sc25519_from_shortsc
#define sc25519_from_shortsc
Definition
sc25519.h:9
sc25519_to32bytes
#define sc25519_to32bytes
Definition
sc25519.h:10
sc25519_barrett
#define sc25519_barrett
Definition
sc25519.h:22
sc25519_2interleave2
#define sc25519_2interleave2
Definition
sc25519.h:21
sc25519_window4
#define sc25519_window4
Definition
sc25519.h:18
sc25519_from64bytes
#define sc25519_from64bytes
Definition
sc25519.h:8
shortsc25519
#define shortsc25519
Definition
sc25519.h:5
sc25519_mul_shortsc
#define sc25519_mul_shortsc
Definition
sc25519.h:17
sc25519_mul
#define sc25519_mul
Definition
sc25519.h:16
sc25519_slide
#define sc25519_slide
Definition
sc25519.h:20
sc25519_iszero_vartime
#define sc25519_iszero_vartime
Definition
sc25519.h:11
sc25519
#define sc25519
Definition
sc25519.h:4
sc25519_lt
#define sc25519_lt
Definition
sc25519.h:13
Generated on
for Monero by
1.17.0