From e3c47c352852395f42109b5f158fa73ef38e527a Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 26 Jul 2018 20:05:47 +0200 Subject: keygen-html: bring back pure javascript implementation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9d5baf7d1d14ca7eb0852b41566330259229d489. BenoƮt Viguier has proofs that values will stay well within 2^53. We also have an improved carry function that's much simpler. --- contrib/examples/keygen-html/Makefile | 6 - contrib/examples/keygen-html/README | 8 - contrib/examples/keygen-html/keygen.html | 4 +- .../examples/keygen-html/src/curve25519_generate.c | 98 ----------- contrib/examples/keygen-html/src/glue.js | 25 --- contrib/examples/keygen-html/wireguard.js | 184 +++++++++++++++++++++ 6 files changed, 186 insertions(+), 139 deletions(-) delete mode 100644 contrib/examples/keygen-html/Makefile delete mode 100644 contrib/examples/keygen-html/src/curve25519_generate.c delete mode 100644 contrib/examples/keygen-html/src/glue.js create mode 100644 contrib/examples/keygen-html/wireguard.js diff --git a/contrib/examples/keygen-html/Makefile b/contrib/examples/keygen-html/Makefile deleted file mode 100644 index a3acec0..0000000 --- a/contrib/examples/keygen-html/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -curve25519_generate.js: src/curve25519_generate.c src/glue.js - emcc -O2 --memory-init-file 0 --closure 1 --post-js src/glue.js -s 'EXTRA_EXPORTED_RUNTIME_METHODS=["Pointer_stringify"]' -o $@ src/curve25519_generate.c -clean: - rm -f curve25519_generate.js -all: curve25519_generate.js -.PHONY: clean all diff --git a/contrib/examples/keygen-html/README b/contrib/examples/keygen-html/README index eaa4244..f1c3412 100644 --- a/contrib/examples/keygen-html/README +++ b/contrib/examples/keygen-html/README @@ -17,11 +17,3 @@ introduces interesting side-channel attacks. Secrets aren't zerored after use. Maybe you can get around this with some tricks taking advantage of browser allocator behavior and different processes, but it seems pretty hard. - -Building --------- - -In order to use the example `keygen.html` file, you must first build -the C sources using emscripten. Simply run: - - $ make diff --git a/contrib/examples/keygen-html/keygen.html b/contrib/examples/keygen-html/keygen.html index af2a545..939e637 100644 --- a/contrib/examples/keygen-html/keygen.html +++ b/contrib/examples/keygen-html/keygen.html @@ -1,4 +1,4 @@ - +