Astroport.ONE/www/crypto.mjs

1 line
66 KiB
JavaScript
Raw Normal View History

2022-11-27 18:08:44 +01:00
import t from"tweetnacl";function a(t,r,n){var e=void 0===n?{}:n,o=e.N,i=void 0===o?16384:o,s=e.logN,f=e.r,a=void 0===f?8:f,c=e.p,u=void 0===c?1:c,l=e.dkLen,y=void 0===l?32:l,d=e.interruptStep,p=void 0===d?0:d,w=e.encoding;return new Promise((function(n,e){if(!s&&!i)return e(new Error("scrypt: missing N or logN parameter"));if(s||0===s){if(s<1||s>31)return e(new Error("scrypt: logN must be between 1 and 31"));i=1<<s>>>0}else{if(i<2||i>h)return e(new Error("scrypt: N is out of range"));if(0!=(i&i-1))return e(Error("scrypt: N is not a power of 2"))}return u<1?e(new Error("scrypt: invalid p")):a<1?e(new Error("scrypt: invalid r")):void function(t,r){var n,e,o,i,s=t.password,f=t.salt,a=t.N,c=t.r,u=t.p,l=t.dkLen,y=t.interruptStep,d=t.encoding;function p(t){var r=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=1779033703,e=3144134277,o=1013904242,i=2773480762,s=1359893119,f=2600822924,h=528734635,a=1541459225,c=new Array(64);function u(t){for(var u=0,l=t.length;l>=64;){var y=n,d=e,p=o,w=i,g=s,v=f,b=h,A=a,E=void 0,m=void 0,x=void 0,_=void 0,B=void 0;for(m=0;m<16;m++)x=u+4*m,c[m]=(255&t[x])<<24|(255&t[x+1])<<16|(255&t[x+2])<<8|255&t[x+3];for(m=16;m<64;m++)_=((E=c[m-2])>>>17|E<<15)^(E>>>19|E<<13)^E>>>10,B=((E=c[m-15])>>>7|E<<25)^(E>>>18|E<<14)^E>>>3,c[m]=(_+c[m-7]|0)+(B+c[m-16]|0)|0;for(m=0;m<64;m++)_=(((g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7))+(g&v^~g&b)|0)+(A+(r[m]+c[m]|0)|0)|0,B=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&d^y&p^d&p)|0,A=b,b=v,v=g,g=w+_|0,w=p,p=d,d=y,y=_+B|0;n=n+y|0,e=e+d|0,o=o+p|0,i=i+w|0,s=s+g|0,f=f+v|0,h=h+b|0,a=a+A|0,u+=64,l-=64}}u(t);var l,y=t.length%64,d=t.length/536870912|0,p=t.length<<3,w=y<56?56:120,g=t.slice(t.length-y,t.length);for(g.push(128),l=y+1;l<w;l++)g.push(0);return g.push(d>>>24&255),g.push(d>>>16&255),g.push(d>>>8&255),g.push(d>>>0&255),g.push(p>>>24&255),g.push(p>>>16&255),g.push(p>>>8&255),g.push(p>>>0&255),u(g),[n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,e>>>24&255,e>>>16&255,e>>>8&255,e>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,f>>>24&255,f>>>16&255,f>>>8&255,f>>>0&255,h>>>24&255,h>>>16&255,h>>>8&255,h>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255]}function w(t,r,n){t.length>64&&(t=p(t.push?t:function(){for(var t=0,r=0,n=arguments.length;r<n;r++)t+=arguments[r].length;var e=Array(t),o=0;for(r=0;r<n;r++)for(var i=arguments[r],s=0,f=i.length;s<f;s++,o++)e[o]=i[s];return e}(t)));var e,o=64+r.length+4,i=new Array(o),s=new Array(64),f=[];for(e=0;e<64;e++)i[e]=54;for(e=0;e<t.length;e++)i[e]^=t[e];for(e=0;e<r.length;e++)i[64+e]=r[e];for(e=o-4;e<o;e++)i[e]=0;for(e=0;e<64;e++)s[e]=92;for(e=0;e<t.length;e++)s[e]^=t[e];function h(){for(var t=o-1;t>=o-4;t--){if(i[t]++,i[t]<=255)return;i[t]=0}}for(;n>=32;)h(),f=f.concat(p(s.concat(p(i)))),n-=32;return n>0&&(h(),f=f.concat(p(s.concat(p(i))).slice(0,n))),f}function g(t,r,n,e){var o,i,s=t[0]^r[n++],f=t[1]^r[n++],h=t[2]^r[n++],a=t[3]^r[n++],c=t[4]^r[n++],u=t[5]^r[n++],l=t[6]^r[n++],y=t[7]^r[n++],d=t[8]^r[n++],p=t[9]^r[n++],w=t[10]^r[n++],g=t[11]^r[n++],v=t[12]^r[n++],b=t[13]^r[n++],A=t[14]^r[n++],E=t[15]^r[n++],m=s,x=f,_=h,B=a,U=c,S=u,P=l,k=y,M=d,I=p,T=w,R=g,z=v,N=b,L=A,K=E;for(i=0;i<8;i+=2)m^=(o=(z^=(o=(M^=(o=(U^=(o=m+z)<<7|o>>>25)+m)<<9|o>>>23)+U)<<13|o>>>19)+M)<<18|o>>>14,S^=(o=(x^=(o=(N^=(o=(I^=(o=S+x)<<7|o>>>25)+S)<<9|o>>>23)+I)<<13|o>>>19)+N)<<18|o>>>14,T^=(o=(P^=(o=(_^=(o=(L^=(o=T+P)<<7|o>>>25)+T)<<9|o>>>23)+L)<<1