mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-04-21 08:01:52 +02:00
2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
|
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,(function(t){"use strict";const n=134217729;function e(t,n,e,r,o){let a,s,f,u,i=n[0],c=r[0],h=0,b=0;c>i==c>-i?(a=i,i=n[++h]):(a=c,c=r[++b]);let l=0;if(h<t&&b<e)for(c>i==c>-i?(s=i+a,f=a-(s-i),i=n[++h]):(s=c+a,f=a-(s-c),c=r[++b]),a=s,0!==f&&(o[l++]=f);h<t&&b<e;)c>i==c>-i?(s=a+i,u=s-a,f=a-(s-u)+(i-u),i=n[++h]):(s=a+c,u=s-a,f=a-(s-u)+(c-u),c=r[++b]),a=s,0!==f&&(o[l++]=f);for(;h<t;)s=a+i,u=s-a,f=a-(s-u)+(i-u),i=n[++h],a=s,0!==f&&(o[l++]=f);for(;b<e;)s=a+c,u=s-a,f=a-(s-u)+(c-u),c=r[++b],a=s,0!==f&&(o[l++]=f);return 0===a&&0!==l||(o[l++]=a),l}function r(t,n,r,o,a,s,f,u){return e(e(t,n,r,o,f),f,a,s,u)}function o(t,e,r,o){let a,s,f,u,i,c,h,b,l,M,d;h=n*r,M=h-(h-r),d=r-M;let p=e[0];a=p*r,h=n*p,b=h-(h-p),l=p-b,f=l*d-(a-b*M-l*M-b*d);let y=0;0!==f&&(o[y++]=f);for(let x=1;x<t;x++)p=e[x],u=p*r,h=n*p,b=h-(h-p),l=p-b,i=l*d-(u-b*M-l*M-b*d),s=a+i,c=s-a,f=a-(s-c)+(i-c),0!==f&&(o[y++]=f),a=u+s,f=s-(a-u),0!==f&&(o[y++]=f);return 0===a&&0!==y||(o[y++]=a),y}function a(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function s(t){return new Float64Array(t)}const f=s(4),u=s(4),i=s(4),c=s(4),h=s(4),b=s(4),l=s(4),M=s(4),d=s(4),p=s(4),y=s(24),x=s(24),g=s(24),j=s(24),m=s(24),T=s(24),_=s(24),v=s(24),w=s(24),A=s(24),F=s(1152),O=s(1152),P=s(1152),k=s(1152),q=s(1152),z=s(2304),B=s(2304),C=s(3456),D=s(5760),E=s(8),G=s(8),H=s(8),I=s(16),J=s(24),K=s(48),L=s(48),N=s(96),Q=s(192),R=s(384),S=s(384),U=s(384),V=s(768);function W(t,n,e,a,s,f,u){return r(o(4,t,a,E),E,o(4,n,s,G),G,o(4,e,f,H),H,I,u)}function X(t,n,s,f,u,i,c,h,b,l,M,d){const p=e(e(t,n,s,f,K),K,a(e(u,i,c,h,L),L),L,N);return r(o(o(p,N,b,Q),Q,b,R),R,o(o(p,N,l,Q),Q,l,S),S,o(o(p,N,M,Q),Q,M,U),U,V,d)}const Y=s(96),Z=s(96),$=s(96),tt=s(1152);function nt(t,n,e,a,s,f,u,i,c,h){const b=W(t,n,e,a,s,f,J);return r(o(o(b,J,u,K),K,u,Y),Y,o(o(b,J,i,K),K,i,Z),Z,o(o(b,J,c,K),K,c,$),$,Q,h)}function et(t,o,s,E,G,H,I,J,K,L,N,Q,R,S,U,V){let Y,Z,$,et,rt,ot,at,st,ft,ut,it,ct,ht,bt,lt,Mt,dt,pt,yt,xt,gt,jt,mt,Tt,_t,vt,wt,At,Ft,Ot,Pt;const kt=t-R,qt=E-R,zt=I-R,Bt=L-R,Ct=o-S,Dt=G-S,Et=J-S,Gt=N-S,Ht=s-U,It=H-U,Jt=K-U,Kt=Q-U;At=kt*Dt,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Dt,mt=xt-(xt-Dt),Tt=Dt-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=qt*Ct,xt=n*qt,gt=xt-(xt-qt),jt=qt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,f[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,f[1]=wt-(_t+yt)+(yt-Ot),Y=vt+_t,yt=Y-vt,f[2]=vt-(Y-yt)+(_t-yt),f[3]=Y,At=qt*Et,xt=n*qt,gt=xt-(xt-qt),jt=qt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=zt*Dt,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Dt,mt=xt-(xt-Dt),Tt=Dt-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,u[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,u[1]=wt-(_t+yt)+(yt-Ot),Z=vt+_t,yt=Z-vt,u[2]=vt-(Z-yt)+(_t-yt),u[3]=Z,At=zt*Gt,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Gt,mt=xt-(xt-Gt),Tt=Gt-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=Bt*Et,xt=n*Bt,gt=xt-(xt-Bt),jt=Bt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,i[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,i[1]=wt-(_t+yt)+(yt-Ot),$=vt+_t,yt=$-vt,i[2]=vt-($-yt)+(_t-yt),i[3]=$,At=Bt*Ct,xt=n*Bt,gt=xt-(xt-Bt),jt=Bt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=kt*Gt,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Gt,mt=xt-(xt-Gt),Tt=Gt-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,d[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,d[1]=wt-(_t+yt)+(yt-Ot),et=vt+_t,yt=et-vt,d[2]=vt-(et-yt)+(_t-yt),d[3]=et,At=kt*Et,xt=n*kt,gt=xt-(xt-kt),jt=kt-gt,xt=n*Et,mt=xt-(xt-Et),Tt=Et-mt,Ft=jt*Tt-(At-gt*mt-jt*mt-gt*Tt),Ot=zt*Ct,xt=n*zt,gt=xt-(xt-zt),jt=zt-gt,xt=n*Ct,mt=xt-(xt-Ct),Tt=Ct-mt,Pt=jt*Tt-(Ot-gt*mt-jt*mt-gt*Tt),_t=Ft-Pt,yt=Ft-_t,b[0]=Ft-(_t+yt)+(yt-Pt),vt=At+_t,yt=vt-At,wt=At-(vt-yt)+(_t-yt),_t=wt-Ot,yt=wt-_t,b[1]=wt-(_t+yt)+(y
|