tge25519.h - sick - sign and check files using ed25519
(HTM) git clone git://z3bra.org/sick
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
tge25519.h (1321B)
---
1 /*
2 * Public Domain, Authors: Daniel J. Bernstein, Niels Duif, Tanja Lange,
3 * Peter Schwabe, Bo-Yin Yang.
4 * Adapted from supercop-20230530/crypto_sign/ed25519/ref/ge25519.h
5 */
6
7 #ifndef GE25519_H
8 #define GE25519_H
9
10 #include "fe25519.h"
11 #include "sc25519.h"
12
13 #define ge25519 crypto_sign_ed25519_ref_ge25519
14 #define ge25519_base crypto_sign_ed25519_ref_ge25519_base
15 #define ge25519_unpackneg_vartime crypto_sign_ed25519_ref_unpackneg_vartime
16 #define ge25519_pack crypto_sign_ed25519_ref_pack
17 #define ge25519_isneutral_vartime crypto_sign_ed25519_ref_isneutral_vartime
18 #define ge25519_double_scalarmult_vartime crypto_sign_ed25519_ref_double_scalarmult_vartime
19 #define ge25519_scalarmult_base crypto_sign_ed25519_ref_scalarmult_base
20
21 typedef struct
22 {
23 fe25519 x;
24 fe25519 y;
25 fe25519 z;
26 fe25519 t;
27 } ge25519;
28
29 extern const ge25519 ge25519_base;
30
31 int ge25519_unpackneg_vartime(ge25519 *r, const unsigned char p[32]);
32
33 void ge25519_pack(unsigned char r[32], const ge25519 *p);
34
35 int ge25519_isneutral_vartime(const ge25519 *p);
36
37 void ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const sc25519 *s1, const ge25519 *p2, const sc25519 *s2);
38
39 void ge25519_scalarmult_base(ge25519 *r, const sc25519 *s);
40
41 #endif