libssh
0.10.6
The SSH library
Loading...
Searching...
No Matches
include
libssh
fe25519.h
1
/* $OpenBSD: fe25519.h,v 1.3 2013/12/09 11:03:45 markus Exp $ */
2
3
/*
4
* Public Domain, Authors: Daniel J. Bernstein, Niels Duif, Tanja Lange,
5
* Peter Schwabe, Bo-Yin Yang.
6
* Copied from supercop-20130419/crypto_sign/ed25519/ref/fe25519.h
7
*/
8
9
#ifndef FE25519_H
10
#define FE25519_H
11
12
#include "libssh/priv.h"
13
14
#define fe25519 crypto_sign_ed25519_ref_fe25519
15
#define fe25519_freeze crypto_sign_ed25519_ref_fe25519_freeze
16
#define fe25519_unpack crypto_sign_ed25519_ref_fe25519_unpack
17
#define fe25519_pack crypto_sign_ed25519_ref_fe25519_pack
18
#define fe25519_iszero crypto_sign_ed25519_ref_fe25519_iszero
19
#define fe25519_iseq_vartime crypto_sign_ed25519_ref_fe25519_iseq_vartime
20
#define fe25519_cmov crypto_sign_ed25519_ref_fe25519_cmov
21
#define fe25519_setone crypto_sign_ed25519_ref_fe25519_setone
22
#define fe25519_setzero crypto_sign_ed25519_ref_fe25519_setzero
23
#define fe25519_neg crypto_sign_ed25519_ref_fe25519_neg
24
#define fe25519_getparity crypto_sign_ed25519_ref_fe25519_getparity
25
#define fe25519_add crypto_sign_ed25519_ref_fe25519_add
26
#define fe25519_sub crypto_sign_ed25519_ref_fe25519_sub
27
#define fe25519_mul crypto_sign_ed25519_ref_fe25519_mul
28
#define fe25519_square crypto_sign_ed25519_ref_fe25519_square
29
#define fe25519_invert crypto_sign_ed25519_ref_fe25519_invert
30
#define fe25519_pow2523 crypto_sign_ed25519_ref_fe25519_pow2523
31
32
typedef
struct
{
33
uint32_t v[32];
34
}
fe25519
;
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
40
void
fe25519_freeze(
fe25519
*r);
41
42
void
fe25519_unpack(
fe25519
*r,
const
unsigned
char
x[32]);
43
44
void
fe25519_pack(
unsigned
char
r[32],
const
fe25519
*x);
45
46
uint32_t fe25519_iszero(
const
fe25519
*x);
47
48
int
fe25519_iseq_vartime(
const
fe25519
*x,
const
fe25519
*y);
49
50
void
fe25519_cmov(
fe25519
*r,
const
fe25519
*x,
unsigned
char
b);
51
52
void
fe25519_setone(
fe25519
*r);
53
54
void
fe25519_setzero(
fe25519
*r);
55
56
void
fe25519_neg(
fe25519
*r,
const
fe25519
*x);
57
58
unsigned
char
fe25519_getparity(
const
fe25519
*x);
59
60
void
fe25519_add(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
61
62
void
fe25519_sub(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
63
64
void
fe25519_mul(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
65
66
void
fe25519_square(
fe25519
*r,
const
fe25519
*x);
67
68
void
fe25519_invert(
fe25519
*r,
const
fe25519
*x);
69
70
void
fe25519_pow2523(
fe25519
*r,
const
fe25519
*x);
71
72
#ifdef __cplusplus
73
}
74
#endif
75
76
#endif
fe25519
Definition
fe25519.h:32
Generated by
1.10.0