diff options
Diffstat (limited to 'libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c')
-rw-r--r-- | libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c b/libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c new file mode 100644 index 0000000000..21cb2fc656 --- /dev/null +++ b/libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c @@ -0,0 +1,14 @@ +#include "ge.h" + +void ge_p3_tobytes(unsigned char *s,const ge_p3 *h) +{ + fe recip; + fe x; + fe y; + + fe_invert(recip,h->Z); + fe_mul(x,h->X,recip); + fe_mul(y,h->Y,recip); + fe_tobytes(s,y); + s[31] ^= fe_isnegative(x) << 7; +} |