]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
curve25519: replace hacl64 with fiat64
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 31 Jan 2018 15:53:59 +0000 (16:53 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 1 Feb 2018 18:51:50 +0000 (19:51 +0100)
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>
contrib/keygen-html/src/curve25519_generate.c
src/curve25519.c

index 8b4bbb3d6f40111e0a0606a45d1707658cfb8d89..e7873a609a4480bc016ee32883cb265640ae59e2 100644 (file)
@@ -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])
 {
index 0ed49770b6656d19a7d618698010f064bd7d3148..50b95a92dfdd7d2b2f272a9cd39fe25a439b8e39 100644 (file)
@@ -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 };