From 6562bf84baca75b027cccec1df915c84a33a1a9c Mon Sep 17 00:00:00 2001 From: Dmitry Chestnykh Date: Wed, 21 Dec 2016 12:05:39 +0100 Subject: [PATCH] v0.2.0 --- bower.json | 2 +- ed2curve.min.js | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bower.json b/bower.json index 5e0f282..8f8a54e 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "ed2curve", - "version": "0.1.4", + "version": "0.2.0", "authors": [ "Dmitry Chestnykh " ], diff --git a/ed2curve.min.js b/ed2curve.min.js index e007fa2..3070a92 100644 --- a/ed2curve.min.js +++ b/ed2curve.min.js @@ -1 +1 @@ -!function(r,n){"use strict";"undefined"!=typeof module&&module.exports?module.exports=n(require("tweetnacl/nacl-fast")):r.ed2curve=n(r.nacl)}(this,function(r){"use strict";function n(r){var n,o;for(o=0;o<16;o++)r[o]+=65536,n=Math.floor(r[o]/65536),r[(o+1)*(o<15?1:0)]+=n-1+37*(n-1)*(15===o?1:0),r[o]-=65536*n}function o(r,n,o){for(var t,e=~(o-1),f=0;f<16;f++)t=e&(r[f]^n[f]),r[f]^=t,n[f]^=t}function t(r,n){var o;for(o=0;o<16;o++)r[o]=n[2*o]+(n[2*o+1]<<8);r[15]&=32767}function e(r,n,o){var t;for(t=0;t<16;t++)r[t]=n[t]+o[t]|0}function f(r,n,o){var t;for(t=0;t<16;t++)r[t]=n[t]-o[t]|0}function u(r,o,t){var e,f,u=new Float64Array(31);for(e=0;e<31;e++)u[e]=0;for(e=0;e<16;e++)for(f=0;f<16;f++)u[e+f]+=o[e]*t[f];for(e=0;e<15;e++)u[e]+=38*u[e+16];for(e=0;e<16;e++)r[e]=u[e];n(r),n(r)}function i(r,n){u(r,n,n)}function c(r,n){var o,t=U();for(o=0;o<16;o++)t[o]=n[o];for(o=253;o>=0;o--)i(t,t),2!==o&&4!==o&&u(t,t,n);for(o=0;o<16;o++)r[o]=t[o]}function a(r,t){var e,f,u,i=U(),c=U();for(e=0;e<16;e++)c[e]=t[e];for(n(c),n(c),n(c),f=0;f<2;f++){for(i[0]=c[0]-65517,e=1;e<15;e++)i[e]=c[e]-65535-(i[e-1]>>16&1),i[e-1]&=65535;i[15]=c[15]-32767-(i[14]>>16&1),u=i[15]>>16&1,i[14]&=65535,o(c,i,1-u)}for(e=0;e<16;e++)r[2*e]=255&c[e],r[2*e+1]=c[e]>>8}function v(r){var n=new Uint8Array(32);return a(n,r),1&n[0]}function l(r,n,o,t,e){var f,u=0;for(f=0;f>>8)-1}function y(r,n,o,t){return l(r,n,o,t,32)}function w(r,n){var o=new Uint8Array(32),t=new Uint8Array(32);return a(o,r),a(t,n),y(o,0,t,0)}function s(r,n){var o,t=U();for(o=0;o<16;o++)t[o]=n[o];for(o=250;o>=0;o--)i(t,t),1!==o&&u(t,t,n);for(o=0;o<16;o++)r[o]=t[o]}function d(r,n){var o;for(o=0;o<16;o++)r[o]=0|n[o]}function A(r,n){var o=U(),c=U(),a=U(),l=U(),y=U(),A=U(),K=U();return d(r[2],m),t(r[1],n),i(a,r[1]),u(l,a,x),f(a,a,r[2]),e(l,r[2],l),i(y,l),i(A,y),u(K,A,y),u(o,K,a),u(o,o,l),s(o,o),u(o,o,a),u(o,o,l),u(o,o,l),u(r[0],o,l),i(c,r[0]),u(c,c,l),w(c,a)&&u(r[0],r[0],F),i(c,r[0]),u(c,c,l),w(c,a)?-1:(v(r[0])===n[31]>>7&&f(r[0],b,r[0]),u(r[3],r[0],r[1]),0)}function K(r){var n=new Uint8Array(32),o=[U(),U(),U(),U()],t=U(),i=U();if(A(o,r))return null;var v=o[1];return e(t,m,v),f(i,m,v),c(i,i),u(t,t,i),a(n,t),n}function h(n){var o,t=new Uint8Array(64),e=new Uint8Array(32);for(r.lowlevel.crypto_hash(t,n,32),t[0]&=248,t[31]&=127,t[31]|=64,o=0;o<32;o++)e[o]=t[o];for(o=0;o<64;o++)t[o]=0;return e}function p(r){return{publicKey:K(r.publicKey),secretKey:h(r.secretKey)}}if(!r)throw new Error("tweetnacl not loaded");var U=function(r){var n,o=new Float64Array(16);if(r)for(n=0;n=0;o--)i(t,t),2!==o&&4!==o&&u(t,t,n);for(o=0;o<16;o++)r[o]=t[o]}function c(r,t){var e,f,u,i=U(),a=U();for(e=0;e<16;e++)a[e]=t[e];for(n(a),n(a),n(a),f=0;f<2;f++){for(i[0]=a[0]-65517,e=1;e<15;e++)i[e]=a[e]-65535-(i[e-1]>>16&1),i[e-1]&=65535;i[15]=a[15]-32767-(i[14]>>16&1),u=i[15]>>16&1,i[14]&=65535,o(a,i,1-u)}for(e=0;e<16;e++)r[2*e]=255&a[e],r[2*e+1]=a[e]>>8}function v(r){var n=new Uint8Array(32);return c(n,r),1&n[0]}function l(r,n,o,t,e){var f,u=0;for(f=0;f>>8)-1}function y(r,n,o,t){return l(r,n,o,t,32)}function w(r,n){var o=new Uint8Array(32),t=new Uint8Array(32);return c(o,r),c(t,n),y(o,0,t,0)}function s(r,n){var o,t=U();for(o=0;o<16;o++)t[o]=n[o];for(o=250;o>=0;o--)i(t,t),1!==o&&u(t,t,n);for(o=0;o<16;o++)r[o]=t[o]}function d(r,n){var o;for(o=0;o<16;o++)r[o]=0|n[o]}function A(r,n){var o=U(),a=U(),c=U(),l=U(),y=U(),A=U(),K=U();return d(r[2],m),t(r[1],n),i(c,r[1]),u(l,c,x),f(c,c,r[2]),e(l,r[2],l),i(y,l),i(A,y),u(K,A,y),u(o,K,c),u(o,o,l),s(o,o),u(o,o,c),u(o,o,l),u(o,o,l),u(r[0],o,l),i(a,r[0]),u(a,a,l),w(a,c)&&u(r[0],r[0],F),i(a,r[0]),u(a,a,l),w(a,c)?-1:(v(r[0])===n[31]>>7&&f(r[0],b,r[0]),u(r[3],r[0],r[1]),0)}function K(r){var n=new Uint8Array(32),o=[U(),U(),U(),U()],t=U(),i=U();if(A(o,r))return null;var v=o[1];return e(t,m,v),f(i,m,v),a(i,i),u(t,t,i),c(n,t),n}function h(n){var o,t=new Uint8Array(64),e=new Uint8Array(32);for(r.lowlevel.crypto_hash(t,n,32),t[0]&=248,t[31]&=127,t[31]|=64,o=0;o<32;o++)e[o]=t[o];for(o=0;o<64;o++)t[o]=0;return e}function p(r){var n=K(r.publicKey);return n?{publicKey:n,secretKey:h(r.secretKey)}:null}if(!r)throw new Error("tweetnacl not loaded");var U=function(r){var n,o=new Float64Array(16);if(r)for(n=0;n