From 2e59f9740a29439df7c7a56cf0ae83dec3081d31 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Mon, 11 Aug 2014 13:49:21 -0400 Subject: initial import of debian version from mentors --- .../crypto_scalarmult/curve25519/ref10/fe.h | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h (limited to 'src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h') diff --git a/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h b/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h new file mode 100644 index 0000000..0567120 --- /dev/null +++ b/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h @@ -0,0 +1,44 @@ +#ifndef FE_H +#define FE_H + +#include "crypto_int32.h" + +typedef crypto_int32 fe[10]; + +/* +fe means field element. +Here the field is \Z/(2^255-19). +An element t, entries t[0]...t[9], represents the integer +t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. +Bounds on each t[i] vary depending on context. +*/ + +#define fe_frombytes crypto_scalarmult_curve25519_ref10_fe_frombytes +#define fe_tobytes crypto_scalarmult_curve25519_ref10_fe_tobytes +#define fe_copy crypto_scalarmult_curve25519_ref10_fe_copy +#define fe_0 crypto_scalarmult_curve25519_ref10_fe_0 +#define fe_1 crypto_scalarmult_curve25519_ref10_fe_1 +#define fe_cswap crypto_scalarmult_curve25519_ref10_fe_cswap +#define fe_add crypto_scalarmult_curve25519_ref10_fe_add +#define fe_sub crypto_scalarmult_curve25519_ref10_fe_sub +#define fe_mul crypto_scalarmult_curve25519_ref10_fe_mul +#define fe_sq crypto_scalarmult_curve25519_ref10_fe_sq +#define fe_mul121666 crypto_scalarmult_curve25519_ref10_fe_mul121666 +#define fe_invert crypto_scalarmult_curve25519_ref10_fe_invert + +extern void fe_frombytes(fe,const unsigned char *); +extern void fe_tobytes(unsigned char *,fe); + +extern void fe_copy(fe,fe); +extern void fe_0(fe); +extern void fe_1(fe); +extern void fe_cswap(fe,fe,unsigned int); + +extern void fe_add(fe,fe,fe); +extern void fe_sub(fe,fe,fe); +extern void fe_mul(fe,fe,fe); +extern void fe_sq(fe,fe); +extern void fe_mul121666(fe,fe); +extern void fe_invert(fe,fe); + +#endif -- cgit v1.2.3