UNPKG

openpgp

Version:

OpenPGP.js is a Javascript implementation of the OpenPGP protocol. This is defined in RFC 4880.

4 lines (3 loc) 17.1 kB
/*! OpenPGP.js v6.2.1 - 2025-08-26 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */ const r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n="object"==typeof r&&"crypto"in r?r.crypto:void 0,o={};var t=function(r){var n,o=new Float64Array(16);if(r)for(n=0;n<r.length;n++)o[n]=r[n];return o},f=function(){throw Error("no PRNG")},e=new Uint8Array(32);e[0]=9;var a=t(),i=t([1]),u=t([56129,1]),l=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),y=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),c=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),w=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function v(r,n,o,t){r[n]=o>>24&255,r[n+1]=o>>16&255,r[n+2]=o>>8&255,r[n+3]=255&o,r[n+4]=t>>24&255,r[n+5]=t>>16&255,r[n+6]=t>>8&255,r[n+7]=255&t}function s(r,n,o,t){return function(r,n,o,t,f){var e,a=0;for(e=0;e<f;e++)a|=r[n+e]^o[t+e];return(1&a-1>>>8)-1}(r,n,o,t,32)}function A(r,n){var o;for(o=0;o<16;o++)r[o]=0|n[o]}function M(r){var n,o,t=1;for(n=0;n<16;n++)o=r[n]+t+65535,t=Math.floor(o/65536),r[n]=o-65536*t;r[0]+=t-1+37*(t-1)}function g(r,n,o){for(var t,f=~(o-1),e=0;e<16;e++)t=f&(r[e]^n[e]),r[e]^=t,n[e]^=t}function U(r,n){var o,f,e,a=t(),i=t();for(o=0;o<16;o++)i[o]=n[o];for(M(i),M(i),M(i),f=0;f<2;f++){for(a[0]=i[0]-65517,o=1;o<15;o++)a[o]=i[o]-65535-(a[o-1]>>16&1),a[o-1]&=65535;a[15]=i[15]-32767-(a[14]>>16&1),e=a[15]>>16&1,a[14]&=65535,g(i,a,1-e)}for(o=0;o<16;o++)r[2*o]=255&i[o],r[2*o+1]=i[o]>>8}function d(r,n){var o=new Uint8Array(32),t=new Uint8Array(32);return U(o,r),U(t,n),s(o,0,t,0)}function b(r){var n=new Uint8Array(32);return U(n,r),1&n[0]}function p(r,n){var o;for(o=0;o<16;o++)r[o]=n[2*o]+(n[2*o+1]<<8);r[15]&=32767}function K(r,n,o){for(var t=0;t<16;t++)r[t]=n[t]+o[t]}function E(r,n,o){for(var t=0;t<16;t++)r[t]=n[t]-o[t]}function k(r,n,o){var t,f,e=0,a=0,i=0,u=0,l=0,y=0,c=0,h=0,w=0,v=0,s=0,A=0,M=0,g=0,U=0,d=0,b=0,p=0,K=0,E=0,k=0,z=0,P=0,m=0,x=0,F=0,R=0,I=0,G=0,N=0,S=0,V=o[0],j=o[1],T=o[2],q=o[3],B=o[4],C=o[5],D=o[6],H=o[7],J=o[8],L=o[9],O=o[10],Q=o[11],W=o[12],X=o[13],Y=o[14],Z=o[15];e+=(t=n[0])*V,a+=t*j,i+=t*T,u+=t*q,l+=t*B,y+=t*C,c+=t*D,h+=t*H,w+=t*J,v+=t*L,s+=t*O,A+=t*Q,M+=t*W,g+=t*X,U+=t*Y,d+=t*Z,a+=(t=n[1])*V,i+=t*j,u+=t*T,l+=t*q,y+=t*B,c+=t*C,h+=t*D,w+=t*H,v+=t*J,s+=t*L,A+=t*O,M+=t*Q,g+=t*W,U+=t*X,d+=t*Y,b+=t*Z,i+=(t=n[2])*V,u+=t*j,l+=t*T,y+=t*q,c+=t*B,h+=t*C,w+=t*D,v+=t*H,s+=t*J,A+=t*L,M+=t*O,g+=t*Q,U+=t*W,d+=t*X,b+=t*Y,p+=t*Z,u+=(t=n[3])*V,l+=t*j,y+=t*T,c+=t*q,h+=t*B,w+=t*C,v+=t*D,s+=t*H,A+=t*J,M+=t*L,g+=t*O,U+=t*Q,d+=t*W,b+=t*X,p+=t*Y,K+=t*Z,l+=(t=n[4])*V,y+=t*j,c+=t*T,h+=t*q,w+=t*B,v+=t*C,s+=t*D,A+=t*H,M+=t*J,g+=t*L,U+=t*O,d+=t*Q,b+=t*W,p+=t*X,K+=t*Y,E+=t*Z,y+=(t=n[5])*V,c+=t*j,h+=t*T,w+=t*q,v+=t*B,s+=t*C,A+=t*D,M+=t*H,g+=t*J,U+=t*L,d+=t*O,b+=t*Q,p+=t*W,K+=t*X,E+=t*Y,k+=t*Z,c+=(t=n[6])*V,h+=t*j,w+=t*T,v+=t*q,s+=t*B,A+=t*C,M+=t*D,g+=t*H,U+=t*J,d+=t*L,b+=t*O,p+=t*Q,K+=t*W,E+=t*X,k+=t*Y,z+=t*Z,h+=(t=n[7])*V,w+=t*j,v+=t*T,s+=t*q,A+=t*B,M+=t*C,g+=t*D,U+=t*H,d+=t*J,b+=t*L,p+=t*O,K+=t*Q,E+=t*W,k+=t*X,z+=t*Y,P+=t*Z,w+=(t=n[8])*V,v+=t*j,s+=t*T,A+=t*q,M+=t*B,g+=t*C,U+=t*D,d+=t*H,b+=t*J,p+=t*L,K+=t*O,E+=t*Q,k+=t*W,z+=t*X,P+=t*Y,m+=t*Z,v+=(t=n[9])*V,s+=t*j,A+=t*T,M+=t*q,g+=t*B,U+=t*C,d+=t*D,b+=t*H,p+=t*J,K+=t*L,E+=t*O,k+=t*Q,z+=t*W,P+=t*X,m+=t*Y,x+=t*Z,s+=(t=n[10])*V,A+=t*j,M+=t*T,g+=t*q,U+=t*B,d+=t*C,b+=t*D,p+=t*H,K+=t*J,E+=t*L,k+=t*O,z+=t*Q,P+=t*W,m+=t*X,x+=t*Y,F+=t*Z,A+=(t=n[11])*V,M+=t*j,g+=t*T,U+=t*q,d+=t*B,b+=t*C,p+=t*D,K+=t*H,E+=t*J,k+=t*L,z+=t*O,P+=t*Q,m+=t*W,x+=t*X,F+=t*Y,R+=t*Z,M+=(t=n[12])*V,g+=t*j,U+=t*T,d+=t*q,b+=t*B,p+=t*C,K+=t*D,E+=t*H,k+=t*J,z+=t*L,P+=t*O,m+=t*Q,x+=t*W,F+=t*X,R+=t*Y,I+=t*Z,g+=(t=n[13])*V,U+=t*j,d+=t*T,b+=t*q,p+=t*B,K+=t*C,E+=t*D,k+=t*H,z+=t*J,P+=t*L,m+=t*O,x+=t*Q,F+=t*W,R+=t*X,I+=t*Y,G+=t*Z,U+=(t=n[14])*V,d+=t*j,b+=t*T,p+=t*q,K+=t*B,E+=t*C,k+=t*D,z+=t*H,P+=t*J,m+=t*L,x+=t*O,F+=t*Q,R+=t*W,I+=t*X,G+=t*Y,N+=t*Z,d+=(t=n[15])*V,a+=38*(p+=t*T),i+=38*(K+=t*q),u+=38*(E+=t*B),l+=38*(k+=t*C),y+=38*(z+=t*D),c+=38*(P+=t*H),h+=38*(m+=t*J),w+=38*(x+=t*L),v+=38*(F+=t*O),s+=38*(R+=t*Q),A+=38*(I+=t*W),M+=38*(G+=t*X),g+=38*(N+=t*Y),U+=38*(S+=t*Z),e=(t=(e+=38*(b+=t*j))+(f=1)+65535)-65536*(f=Math.floor(t/65536)),a=(t=a+f+65535)-65536*(f=Math.floor(t/65536)),i=(t=i+f+65535)-65536*(f=Math.floor(t/65536)),u=(t=u+f+65535)-65536*(f=Math.floor(t/65536)),l=(t=l+f+65535)-65536*(f=Math.floor(t/65536)),y=(t=y+f+65535)-65536*(f=Math.floor(t/65536)),c=(t=c+f+65535)-65536*(f=Math.floor(t/65536)),h=(t=h+f+65535)-65536*(f=Math.floor(t/65536)),w=(t=w+f+65535)-65536*(f=Math.floor(t/65536)),v=(t=v+f+65535)-65536*(f=Math.floor(t/65536)),s=(t=s+f+65535)-65536*(f=Math.floor(t/65536)),A=(t=A+f+65535)-65536*(f=Math.floor(t/65536)),M=(t=M+f+65535)-65536*(f=Math.floor(t/65536)),g=(t=g+f+65535)-65536*(f=Math.floor(t/65536)),U=(t=U+f+65535)-65536*(f=Math.floor(t/65536)),d=(t=d+f+65535)-65536*(f=Math.floor(t/65536)),e=(t=(e+=f-1+37*(f-1))+(f=1)+65535)-65536*(f=Math.floor(t/65536)),a=(t=a+f+65535)-65536*(f=Math.floor(t/65536)),i=(t=i+f+65535)-65536*(f=Math.floor(t/65536)),u=(t=u+f+65535)-65536*(f=Math.floor(t/65536)),l=(t=l+f+65535)-65536*(f=Math.floor(t/65536)),y=(t=y+f+65535)-65536*(f=Math.floor(t/65536)),c=(t=c+f+65535)-65536*(f=Math.floor(t/65536)),h=(t=h+f+65535)-65536*(f=Math.floor(t/65536)),w=(t=w+f+65535)-65536*(f=Math.floor(t/65536)),v=(t=v+f+65535)-65536*(f=Math.floor(t/65536)),s=(t=s+f+65535)-65536*(f=Math.floor(t/65536)),A=(t=A+f+65535)-65536*(f=Math.floor(t/65536)),M=(t=M+f+65535)-65536*(f=Math.floor(t/65536)),g=(t=g+f+65535)-65536*(f=Math.floor(t/65536)),U=(t=U+f+65535)-65536*(f=Math.floor(t/65536)),d=(t=d+f+65535)-65536*(f=Math.floor(t/65536)),e+=f-1+37*(f-1),r[0]=e,r[1]=a,r[2]=i,r[3]=u,r[4]=l,r[5]=y,r[6]=c,r[7]=h,r[8]=w,r[9]=v,r[10]=s,r[11]=A,r[12]=M,r[13]=g,r[14]=U,r[15]=d}function z(r,n){k(r,n,n)}function P(r,n){var o,f=t();for(o=0;o<16;o++)f[o]=n[o];for(o=253;o>=0;o--)z(f,f),2!==o&&4!==o&&k(f,f,n);for(o=0;o<16;o++)r[o]=f[o]}function m(r,n,o){var f,e,a=new Uint8Array(32),i=new Float64Array(80),l=t(),y=t(),c=t(),h=t(),w=t(),v=t();for(e=0;e<31;e++)a[e]=n[e];for(a[31]=127&n[31]|64,a[0]&=248,p(i,o),e=0;e<16;e++)y[e]=i[e],h[e]=l[e]=c[e]=0;for(l[0]=h[0]=1,e=254;e>=0;--e)g(l,y,f=a[e>>>3]>>>(7&e)&1),g(c,h,f),K(w,l,c),E(l,l,c),K(c,y,h),E(y,y,h),z(h,w),z(v,l),k(l,c,l),k(c,y,w),K(w,l,c),E(l,l,c),z(y,l),E(c,h,v),k(l,c,u),K(l,l,h),k(c,c,l),k(l,h,v),k(h,y,i),z(y,w),g(l,y,f),g(c,h,f);for(e=0;e<16;e++)i[e+16]=l[e],i[e+32]=c[e],i[e+48]=y[e],i[e+64]=h[e];var s=i.subarray(32),A=i.subarray(16);return P(s,s),k(A,A,s),U(r,A),0}function x(r,n){return m(r,n,e)}var F=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function R(r,n,o,t){for(var f,e,a,i,u,l,y,c,h,w,v,s,A,M,g,U,d,b,p,K,E,k,z,P,m,x,R=new Int32Array(16),I=new Int32Array(16),G=r[0],N=r[1],S=r[2],V=r[3],j=r[4],T=r[5],q=r[6],B=r[7],C=n[0],D=n[1],H=n[2],J=n[3],L=n[4],O=n[5],Q=n[6],W=n[7],X=0;t>=128;){for(p=0;p<16;p++)K=8*p+X,R[p]=o[K+0]<<24|o[K+1]<<16|o[K+2]<<8|o[K+3],I[p]=o[K+4]<<24|o[K+5]<<16|o[K+6]<<8|o[K+7];for(p=0;p<80;p++)if(f=G,e=N,a=S,i=V,u=j,l=T,y=q,B,h=C,w=D,v=H,s=J,A=L,M=O,g=Q,W,z=65535&(k=W),P=k>>>16,m=65535&(E=B),x=E>>>16,z+=65535&(k=(L>>>14|j<<18)^(L>>>18|j<<14)^(j>>>9|L<<23)),P+=k>>>16,m+=65535&(E=(j>>>14|L<<18)^(j>>>18|L<<14)^(L>>>9|j<<23)),x+=E>>>16,z+=65535&(k=L&O^~L&Q),P+=k>>>16,m+=65535&(E=j&T^~j&q),x+=E>>>16,z+=65535&(k=F[2*p+1]),P+=k>>>16,m+=65535&(E=F[2*p]),x+=E>>>16,E=R[p%16],P+=(k=I[p%16])>>>16,m+=65535&E,x+=E>>>16,m+=(P+=(z+=65535&k)>>>16)>>>16,z=65535&(k=b=65535&z|P<<16),P=k>>>16,m=65535&(E=d=65535&m|(x+=m>>>16)<<16),x=E>>>16,z+=65535&(k=(C>>>28|G<<4)^(G>>>2|C<<30)^(G>>>7|C<<25)),P+=k>>>16,m+=65535&(E=(G>>>28|C<<4)^(C>>>2|G<<30)^(C>>>7|G<<25)),x+=E>>>16,P+=(k=C&D^C&H^D&H)>>>16,m+=65535&(E=G&N^G&S^N&S),x+=E>>>16,c=65535&(m+=(P+=(z+=65535&k)>>>16)>>>16)|(x+=m>>>16)<<16,U=65535&z|P<<16,z=65535&(k=s),P=k>>>16,m=65535&(E=i),x=E>>>16,P+=(k=b)>>>16,m+=65535&(E=d),x+=E>>>16,N=f,S=e,V=a,j=i=65535&(m+=(P+=(z+=65535&k)>>>16)>>>16)|(x+=m>>>16)<<16,T=u,q=l,B=y,G=c,D=h,H=w,J=v,L=s=65535&z|P<<16,O=A,Q=M,W=g,C=U,p%16==15)for(K=0;K<16;K++)E=R[K],z=65535&(k=I[K]),P=k>>>16,m=65535&E,x=E>>>16,E=R[(K+9)%16],z+=65535&(k=I[(K+9)%16]),P+=k>>>16,m+=65535&E,x+=E>>>16,d=R[(K+1)%16],z+=65535&(k=((b=I[(K+1)%16])>>>1|d<<31)^(b>>>8|d<<24)^(b>>>7|d<<25)),P+=k>>>16,m+=65535&(E=(d>>>1|b<<31)^(d>>>8|b<<24)^d>>>7),x+=E>>>16,d=R[(K+14)%16],P+=(k=((b=I[(K+14)%16])>>>19|d<<13)^(d>>>29|b<<3)^(b>>>6|d<<26))>>>16,m+=65535&(E=(d>>>19|b<<13)^(b>>>29|d<<3)^d>>>6),x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,R[K]=65535&m|x<<16,I[K]=65535&z|P<<16;z=65535&(k=C),P=k>>>16,m=65535&(E=G),x=E>>>16,E=r[0],P+=(k=n[0])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[0]=G=65535&m|x<<16,n[0]=C=65535&z|P<<16,z=65535&(k=D),P=k>>>16,m=65535&(E=N),x=E>>>16,E=r[1],P+=(k=n[1])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[1]=N=65535&m|x<<16,n[1]=D=65535&z|P<<16,z=65535&(k=H),P=k>>>16,m=65535&(E=S),x=E>>>16,E=r[2],P+=(k=n[2])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[2]=S=65535&m|x<<16,n[2]=H=65535&z|P<<16,z=65535&(k=J),P=k>>>16,m=65535&(E=V),x=E>>>16,E=r[3],P+=(k=n[3])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[3]=V=65535&m|x<<16,n[3]=J=65535&z|P<<16,z=65535&(k=L),P=k>>>16,m=65535&(E=j),x=E>>>16,E=r[4],P+=(k=n[4])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[4]=j=65535&m|x<<16,n[4]=L=65535&z|P<<16,z=65535&(k=O),P=k>>>16,m=65535&(E=T),x=E>>>16,E=r[5],P+=(k=n[5])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[5]=T=65535&m|x<<16,n[5]=O=65535&z|P<<16,z=65535&(k=Q),P=k>>>16,m=65535&(E=q),x=E>>>16,E=r[6],P+=(k=n[6])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[6]=q=65535&m|x<<16,n[6]=Q=65535&z|P<<16,z=65535&(k=W),P=k>>>16,m=65535&(E=B),x=E>>>16,E=r[7],P+=(k=n[7])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[7]=B=65535&m|x<<16,n[7]=W=65535&z|P<<16,X+=128,t-=128}return t}function I(r,n,o){var t,f=new Int32Array(8),e=new Int32Array(8),a=new Uint8Array(256),i=o;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,e[0]=4089235720,e[1]=2227873595,e[2]=4271175723,e[3]=1595750129,e[4]=2917565137,e[5]=725511199,e[6]=4215389547,e[7]=327033209,R(f,e,n,o),o%=128,t=0;t<o;t++)a[t]=n[i-o+t];for(a[o]=128,a[(o=256-128*(o<112?1:0))-9]=0,v(a,o-8,i/536870912|0,i<<3),R(f,e,a,o),t=0;t<8;t++)v(r,8*t,f[t],e[t]);return 0}function G(r,n){var o=t(),f=t(),e=t(),a=t(),i=t(),u=t(),l=t(),c=t(),h=t();E(o,r[1],r[0]),E(h,n[1],n[0]),k(o,o,h),K(f,r[0],r[1]),K(h,n[0],n[1]),k(f,f,h),k(e,r[3],n[3]),k(e,e,y),k(a,r[2],n[2]),K(a,a,a),E(i,f,o),E(u,a,e),K(l,a,e),K(c,f,o),k(r[0],i,u),k(r[1],c,l),k(r[2],l,u),k(r[3],i,c)}function N(r,n,o){var t;for(t=0;t<4;t++)g(r[t],n[t],o)}function S(r,n){var o=t(),f=t(),e=t();P(e,n[2]),k(o,n[0],e),k(f,n[1],e),U(r,f),r[31]^=b(o)<<7}function V(r,n,o){var t,f;for(A(r[0],a),A(r[1],i),A(r[2],i),A(r[3],a),f=255;f>=0;--f)N(r,n,t=o[f/8|0]>>(7&f)&1),G(n,r),G(r,r),N(r,n,t)}function j(r,n){var o=[t(),t(),t(),t()];A(o[0],c),A(o[1],h),A(o[2],i),k(o[3],c,h),V(r,o,n)}function T(r,n,o){var e,a=new Uint8Array(64),i=[t(),t(),t(),t()];for(o||f(n,32),I(a,n,32),a[0]&=248,a[31]&=127,a[31]|=64,j(i,a),S(r,i),e=0;e<32;e++)n[e+32]=r[e];return 0}var q=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function B(r,n){var o,t,f,e;for(t=63;t>=32;--t){for(o=0,f=t-32,e=t-12;f<e;++f)n[f]+=o-16*n[t]*q[f-(t-32)],o=Math.floor((n[f]+128)/256),n[f]-=256*o;n[f]+=o,n[t]=0}for(o=0,f=0;f<32;f++)n[f]+=o-(n[31]>>4)*q[f],o=n[f]>>8,n[f]&=255;for(f=0;f<32;f++)n[f]-=o*q[f];for(t=0;t<32;t++)n[t+1]+=n[t]>>8,r[t]=255&n[t]}function C(r){var n,o=new Float64Array(64);for(n=0;n<64;n++)o[n]=r[n];for(n=0;n<64;n++)r[n]=0;B(r,o)}function D(r,n){var o=t(),f=t(),e=t(),u=t(),y=t(),c=t(),h=t();return A(r[2],i),p(r[1],n),z(e,r[1]),k(u,e,l),E(e,e,r[2]),K(u,r[2],u),z(y,u),z(c,y),k(h,c,y),k(o,h,e),k(o,o,u),function(r,n){var o,f=t();for(o=0;o<16;o++)f[o]=n[o];for(o=250;o>=0;o--)z(f,f),1!==o&&k(f,f,n);for(o=0;o<16;o++)r[o]=f[o]}(o,o),k(o,o,e),k(o,o,u),k(o,o,u),k(r[0],o,u),z(f,r[0]),k(f,f,u),d(f,e)&&k(r[0],r[0],w),z(f,r[0]),k(f,f,u),d(f,e)?-1:(b(r[0])===n[31]>>7&&E(r[0],a,r[0]),k(r[3],r[0],r[1]),0)}var H=64;function J(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}o.scalarMult=function(r,n){if(J(r,n),32!==r.length)throw Error("bad n size");if(32!==n.length)throw Error("bad p size");var o=new Uint8Array(32);return m(o,r,n),o},o.box={},o.box.keyPair=function(){var r,n,o=new Uint8Array(32),t=new Uint8Array(32);return r=o,f(n=t,32),x(r,n),{publicKey:o,secretKey:t}},o.box.keyPair.fromSecretKey=function(r){if(J(r),32!==r.length)throw Error("bad secret key size");var n=new Uint8Array(32);return x(n,r),{publicKey:n,secretKey:new Uint8Array(r)}},o.sign=function(r,n){if(J(r,n),64!==n.length)throw Error("bad secret key size");var o=new Uint8Array(H+r.length);return function(r,n,o,f){var e,a,i=new Uint8Array(64),u=new Uint8Array(64),l=new Uint8Array(64),y=new Float64Array(64),c=[t(),t(),t(),t()];I(i,f,32),i[0]&=248,i[31]&=127,i[31]|=64;var h=o+64;for(e=0;e<o;e++)r[64+e]=n[e];for(e=0;e<32;e++)r[32+e]=i[32+e];for(I(l,r.subarray(32),o+32),C(l),j(c,l),S(r,c),e=32;e<64;e++)r[e]=f[e];for(I(u,r,o+64),C(u),e=0;e<64;e++)y[e]=0;for(e=0;e<32;e++)y[e]=l[e];for(e=0;e<32;e++)for(a=0;a<32;a++)y[e+a]+=u[e]*i[a];B(r.subarray(32),y)}(o,r,r.length,n),o},o.sign.detached=function(r,n){for(var t=o.sign(r,n),f=new Uint8Array(H),e=0;e<f.length;e++)f[e]=t[e];return f},o.sign.detached.verify=function(r,n,o){if(J(r,n,o),n.length!==H)throw Error("bad signature size");if(32!==o.length)throw Error("bad public key size");var f,e=new Uint8Array(H+r.length),a=new Uint8Array(H+r.length);for(f=0;f<H;f++)e[f]=n[f];for(f=0;f<r.length;f++)e[f+H]=r[f];return function(r,n,o,f){var e,a=new Uint8Array(32),i=new Uint8Array(64),u=[t(),t(),t(),t()],l=[t(),t(),t(),t()];if(o<64)return-1;if(D(l,f))return-1;for(e=0;e<o;e++)r[e]=n[e];for(e=0;e<32;e++)r[e+32]=f[e];if(I(i,r,o),C(i),V(u,l,i),j(l,n.subarray(32)),G(u,l),S(a,u),o-=64,s(n,0,a,0)){for(e=0;e<o;e++)r[e]=0;return-1}for(e=0;e<o;e++)r[e]=n[e+64];return o}(a,e,e.length,o)>=0},o.sign.keyPair=function(){var r=new Uint8Array(32),n=new Uint8Array(64);return T(r,n),{publicKey:r,secretKey:n}},o.sign.keyPair.fromSecretKey=function(r){if(J(r),64!==r.length)throw Error("bad secret key size");for(var n=new Uint8Array(32),o=0;o<n.length;o++)n[o]=r[32+o];return{publicKey:n,secretKey:new Uint8Array(r)}},o.sign.keyPair.fromSeed=function(r){if(J(r),32!==r.length)throw Error("bad seed size");for(var n=new Uint8Array(32),o=new Uint8Array(64),t=0;t<32;t++)o[t]=r[t];return T(n,o,!0),{publicKey:n,secretKey:o}},o.setPRNG=function(r){f=r},function(){if(n&&n.getRandomValues){o.setPRNG((function(r,o){var t,f=new Uint8Array(o);for(t=0;t<o;t+=65536)n.getRandomValues(f.subarray(t,t+Math.min(o-t,65536)));for(t=0;t<o;t++)r[t]=f[t];!function(r){for(var n=0;n<r.length;n++)r[n]=0}(f)}))}}();export{o as default}; //# sourceMappingURL=nacl-fast.min.mjs.map