libssh
0.9.6
The SSH library
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
void
fe25519_freeze(
fe25519
*r);
37
38
void
fe25519_unpack(
fe25519
*r,
const
unsigned
char
x[32]);
39
40
void
fe25519_pack(
unsigned
char
r[32],
const
fe25519
*x);
41
42
uint32_t fe25519_iszero(
const
fe25519
*x);
43
44
int
fe25519_iseq_vartime(
const
fe25519
*x,
const
fe25519
*y);
45
46
void
fe25519_cmov(
fe25519
*r,
const
fe25519
*x,
unsigned
char
b);
47
48
void
fe25519_setone(
fe25519
*r);
49
50
void
fe25519_setzero(
fe25519
*r);
51
52
void
fe25519_neg(
fe25519
*r,
const
fe25519
*x);
53
54
unsigned
char
fe25519_getparity(
const
fe25519
*x);
55
56
void
fe25519_add(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
57
58
void
fe25519_sub(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
59
60
void
fe25519_mul(
fe25519
*r,
const
fe25519
*x,
const
fe25519
*y);
61
62
void
fe25519_square(
fe25519
*r,
const
fe25519
*x);
63
64
void
fe25519_invert(
fe25519
*r,
const
fe25519
*x);
65
66
void
fe25519_pow2523(
fe25519
*r,
const
fe25519
*x);
67
68
#endif
fe25519
Definition:
fe25519.h:32
Generated by
1.8.14