diff options
| author | Nagi5Yeq <nagi5yeq@gmail.com> | 2019-07-04 23:55:21 +0800 |
|---|---|---|
| committer | Nagi5Yeq <nagi5yeq@gmail.com> | 2019-07-04 23:55:21 +0800 |
| commit | 28bc016fb0dc11bf2a4c3e157daac24b2d9482f6 (patch) | |
| tree | 187edb3f152852940610e0cd09a5b2d16f83cc99 /ge448.h | |
| parent | 22aca24950b45892a70aef77a5f197e521fc11b5 (diff) | |
add ge448 and data
Diffstat (limited to 'ge448.h')
| -rw-r--r-- | ge448.h | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +#ifndef GE448_H +#define GE448_H + +#include "fe448.h" +#include "sc448.h" + +#define ge448 crypto_sign_ed448_ref_ge448 +#define ge448_base crypto_sign_ed448_ref_ge448_base +#define ge448_unpackneg_vartime crypto_sign_ed448_ref_unpackneg_vartime +#define ge448_pack crypto_sign_ed448_ref_pack +#define ge448_isneutral_vartime crypto_sign_ed448_ref_isneutral_vartime +#define ge448_double_scalarmult_vartime crypto_sign_ed448_ref_double_scalarmult_vartime +#define ge448_scalarmult_base crypto_sign_ed448_ref_scalarmult_base + +typedef struct +{ + fe448 x; + fe448 y; + fe448 z; +} ge448; + +extern const ge448 ge448_base; + +int ge448_unpackneg_vartime(ge448 *r, const unsigned char p[57]); + +void ge448_pack(unsigned char r[57], const ge448 *p); + +int ge448_isneutral_vartime(const ge448 *p); + +void ge448_double_scalarmult_vartime(ge448 *r, const ge448 *p1, const sc448 *s1, const ge448 *p2, const sc448 *s2); + +void ge448_scalarmult_base(ge448 *r, const sc448 *s); + +#endif |
