summaryrefslogtreecommitdiff
path: root/libs/libaxolotl/src/curve25519/ed25519/ge_p3_tobytes.c
blob: 21cb2fc656d7b22a8561eaedae395360d6d92c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}