From b01f2864730c076945cc78b4fd3abc8c1860ae53 Mon Sep 17 00:00:00 2001 From: ShenNoether Date: Sun, 23 Aug 2015 14:18:59 -0600 Subject: Added shen_ed25519_ref to crypto ops subfolder, the point is to directly have bitmonero's crypto code come from bernstein et al's ref 10 code --- src/crypto/shen_ed25519_ref | 1 + 1 file changed, 1 insertion(+) create mode 160000 src/crypto/shen_ed25519_ref (limited to 'src/crypto/shen_ed25519_ref/ref10/fe_sub.c') diff --git a/src/crypto/shen_ed25519_ref b/src/crypto/shen_ed25519_ref new file mode 160000 index 000000000..ecfb9166a --- /dev/null +++ b/src/crypto/shen_ed25519_ref @@ -0,0 +1 @@ +Subproject commit ecfb9166ab10de6c42f89e5ccb22ac9547505218 -- cgit v1.2.3 From 0d70fdca8c04b0dcb3be5ecb5cfff6a8b645ae53 Mon Sep 17 00:00:00 2001 From: ShenNoether Date: Sun, 23 Aug 2015 14:46:44 -0600 Subject: revert to 776b4fc91a821be152f0f23e6873aabb78a72029 --- src/crypto/shen_ed25519_ref | 1 - 1 file changed, 1 deletion(-) delete mode 160000 src/crypto/shen_ed25519_ref (limited to 'src/crypto/shen_ed25519_ref/ref10/fe_sub.c') diff --git a/src/crypto/shen_ed25519_ref b/src/crypto/shen_ed25519_ref deleted file mode 160000 index ecfb9166a..000000000 --- a/src/crypto/shen_ed25519_ref +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ecfb9166ab10de6c42f89e5ccb22ac9547505218 -- cgit v1.2.3 From 0a4bc84b2f681dfd89b501648f65a951d876e2d8 Mon Sep 17 00:00:00 2001 From: ShenNoether Date: Sun, 23 Aug 2015 14:48:50 -0600 Subject: Added ref10 shen_ed25519_ref code, which includes code that can replace crypto-ops with a version straight from Bernstein's ref 10 --- src/crypto/shen_ed25519_ref/ref10/fe_sub.c | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/crypto/shen_ed25519_ref/ref10/fe_sub.c (limited to 'src/crypto/shen_ed25519_ref/ref10/fe_sub.c') diff --git a/src/crypto/shen_ed25519_ref/ref10/fe_sub.c b/src/crypto/shen_ed25519_ref/ref10/fe_sub.c new file mode 100644 index 000000000..6e26b7df8 --- /dev/null +++ b/src/crypto/shen_ed25519_ref/ref10/fe_sub.c @@ -0,0 +1,57 @@ +#include "fe.h" + +/* +h = f - g +Can overlap h with f or g. + +Preconditions: + |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. + |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. + +Postconditions: + |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. +*/ + +void fe_sub(fe h,const fe f,const fe g) +{ + crypto_int32 f0 = f[0]; + crypto_int32 f1 = f[1]; + crypto_int32 f2 = f[2]; + crypto_int32 f3 = f[3]; + crypto_int32 f4 = f[4]; + crypto_int32 f5 = f[5]; + crypto_int32 f6 = f[6]; + crypto_int32 f7 = f[7]; + crypto_int32 f8 = f[8]; + crypto_int32 f9 = f[9]; + crypto_int32 g0 = g[0]; + crypto_int32 g1 = g[1]; + crypto_int32 g2 = g[2]; + crypto_int32 g3 = g[3]; + crypto_int32 g4 = g[4]; + crypto_int32 g5 = g[5]; + crypto_int32 g6 = g[6]; + crypto_int32 g7 = g[7]; + crypto_int32 g8 = g[8]; + crypto_int32 g9 = g[9]; + crypto_int32 h0 = f0 - g0; + crypto_int32 h1 = f1 - g1; + crypto_int32 h2 = f2 - g2; + crypto_int32 h3 = f3 - g3; + crypto_int32 h4 = f4 - g4; + crypto_int32 h5 = f5 - g5; + crypto_int32 h6 = f6 - g6; + crypto_int32 h7 = f7 - g7; + crypto_int32 h8 = f8 - g8; + crypto_int32 h9 = f9 - g9; + h[0] = h0; + h[1] = h1; + h[2] = h2; + h[3] = h3; + h[4] = h4; + h[5] = h5; + h[6] = h6; + h[7] = h7; + h[8] = h8; + h[9] = h9; +} -- cgit v1.2.3