aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-01-31 16:53:59 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-02-01 19:51:50 +0100
commit40ae0e0bbaa03821246e5fbde977da589c70f40b (patch)
tree21b8f056765f118e11e6b22e99262fabdb02b8e2
parentwg: dedup secret normalization (diff)
downloadwireguard-tools-40ae0e0bbaa03821246e5fbde977da589c70f40b.tar.xz
wireguard-tools-40ae0e0bbaa03821246e5fbde977da589c70f40b.zip
curve25519: replace hacl64 with fiat64
For now, it's faster: hacl64: 109782 cycles per call fiat64: 108984 cycles per call It's quite possible this commit will be reverted with nice changes from INRIA, though. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--contrib/keygen-html/src/curve25519_generate.c2
-rw-r--r--src/curve25519.c11
2 files changed, 4 insertions, 9 deletions
diff --git a/contrib/keygen-html/src/curve25519_generate.c b/contrib/keygen-html/src/curve25519_generate.c
index 8b4bbb3..e7873a6 100644
--- a/contrib/keygen-html/src/curve25519_generate.c
+++ b/contrib/keygen-html/src/curve25519_generate.c
@@ -48,7 +48,7 @@ static __always_inline void normalize_secret(u8 secret[CURVE25519_POINT_SIZE])
secret[31] |= 64;
}
-#include "../../../../src/crypto/curve25519-fiat32.h"
+#include "../../../../src/crypto/curve25519-generic.h"
EMSCRIPTEN_KEEPALIVE void curve25519_generate_public(u8 public[static 32], const u8 private[static 32])
{
diff --git a/src/curve25519.c b/src/curve25519.c
index 0ed4977..50b95a9 100644
--- a/src/curve25519.c
+++ b/src/curve25519.c
@@ -1,11 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0
*
- * Copyright (C) 2016-2017 INRIA and Microsoft Corporation.
- * Copyright (C) 2015-2016 The fiat-crypto Authors.
* Copyright (C) 2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
- *
- * This is a machine-generated formally verified implementation of curve25519 DH from:
- * https://github.com/mitls/hacl-star and https://github.com/mit-plv/fiat-crypto
*/
#include "curve25519.h"
@@ -44,11 +39,11 @@ static noinline void memzero_explicit(void *s, size_t count)
}
#ifdef __SIZEOF_INT128__
-#include "../crypto/curve25519-hacl64.h"
-#else
-#include "../crypto/curve25519-fiat32.h"
+#define CONFIG_ARCH_SUPPORTS_INT128
#endif
+#include "../crypto/curve25519-generic.h"
+
void curve25519_generate_public(uint8_t pub[static CURVE25519_POINT_SIZE], const uint8_t secret[static CURVE25519_POINT_SIZE])
{
static const uint8_t basepoint[CURVE25519_POINT_SIZE] = { 9 };