diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-11-13 03:15:15 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-11-13 03:15:15 +0100 |
commit | 375fc78d51f128f36c4fe17df0d284cecd28d55e (patch) | |
tree | b83628bc06cb487b393e9eef4ef72bd448847edb | |
parent | bddb6545a982696bde417a9ae621f9e2d3c22b3d (diff) | |
download | busybox-375fc78d51f128f36c4fe17df0d284cecd28d55e.tar.gz |
tls: code shrink
function old new delta
static.f25519_one 32 - -32
curve25519 835 802 -33
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-65) Total: -65 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/tls_fe.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/networking/tls_fe.c b/networking/tls_fe.c index 37fea34f7..dcb41468a 100644 --- a/networking/tls_fe.c +++ b/networking/tls_fe.c @@ -556,19 +556,29 @@ static void xc_double(byte *x3, byte *z3, void curve25519(byte *result, const byte *e, const byte *q) { - /* from wolfssl-3.15.3/wolfssl/wolfcrypt/fe_operations.h */ - static const byte f25519_one[F25519_SIZE] = {1}; - - /* Current point: P_m */ - byte xm[F25519_SIZE]; - byte zm[F25519_SIZE] = {1}; - - /* Predecessor: P_(m-1) */ - byte xm1[F25519_SIZE] = {1}; - byte zm1[F25519_SIZE] = {0}; - int i; + struct { + /* from wolfssl-3.15.3/wolfssl/wolfcrypt/fe_operations.h */ + /*static const*/ byte f25519_one[F25519_SIZE]; // = {1}; + + /* Current point: P_m */ + byte xm[F25519_SIZE]; + byte zm[F25519_SIZE]; // = {1}; + /* Predecessor: P_(m-1) */ + byte xm1[F25519_SIZE]; // = {1}; + byte zm1[F25519_SIZE]; // = {0}; + } z; +#define f25519_one z.f25519_one +#define xm z.xm +#define zm z.zm +#define xm1 z.xm1 +#define zm1 z.zm1 + memset(&z, 0, sizeof(z)); + f25519_one[0] = 1; + zm[0] = 1; + xm1[0] = 1; + /* Note: bit 254 is assumed to be 1 */ lm_copy(xm, q); |