Skip to content

Instantly share code, notes, and snippets.

@19h
Created February 19, 2012 20:33
Show Gist options
  • Save 19h/1865627 to your computer and use it in GitHub Desktop.
Save 19h/1865627 to your computer and use it in GitHub Desktop.
Relayed Interfix
function f(e) {
return e % 4294967296
}
function h(e, a) {
e = f(e);
a = f(a);
return 0 <= e - 2147483648 ? (e % 2147483648 >> a) + (1073741824 >> a - 1) : e >> a
}
function k(e, a) {
for (e = f(e), a = f(a), b = 0; b < a; b++) c = e, c %= 2147483648, c & 1 ? (c -= 1073741824, c *= 2, c += 2147483648) : c *= 2, e = c;
return e
}
function l(e, a) {
e = f(e);
a = f(a);
b = e - 2147483648;
c = a - 2147483648;
return 0 <= b ? 0 <= c ? (b & c) + 2147483648 : b & a : 0 <= c ? e & c : e & a
}
function m(e, a) {
e = f(e);
a = f(a);
b = e - 2147483648;
c = a - 2147483648;
return 0 <= b ? 0 <= c ? (b | c) + 2147483648 : (b | a) + 2147483648 : 0 <= c ? (e | c) + 2147483648 : e | a
}
function n(e, a) {
e = f(e);
a = f(a);
b = e - 2147483648;
c = a - 2147483648;
return 0 <= b ? 0 <= c ? b ^ c : (b ^ a) + 2147483648 : 0 <= c ? (e ^ c) + 2147483648 : e ^ a
}
function p(e) {
e = f(e);
return 4294967295 - e
}
var q = [],
r = [0, 0],
s = [],
w = [],
z = [],
A = 7,
B = 12,
C = 17,
D = 22,
E = 5,
F = 9,
G = 14,
H = 20,
I = 4,
J = 11,
K = 16,
L = 23,
M = 6,
N = 10,
O = 15,
P = 21;
function Q(e, a) {
return m(k(e, a), h(e, 32 - a))
}
function R(e, a, g, o, t, u, v) {
e = e + m(l(a, g), l(p(a), o)) + t + v;
e = Q(e, u);
return e + a
}
function S(e, a, g, o, t, u, v) {
e = e + m(l(a, o), l(g, p(o))) + t + v;
e = Q(e, u);
return e + a
}
function T(e, a, g, o, t, u, v) {
e = e + n(n(a, g), o) + t + v;
e = Q(e, u);
return e + a
}
function U(e, a, g, o, t, u, v) {
e = e + n(g, m(a, p(o))) + t + v;
e = Q(e, u);
return e + a
}
function V(e) {
var a;
a = l(h(r[0], 3), 63);
4294967288 > r[0] || (r[1]++, r[0] -= 4294967296);
r[0] += 8;
s[a] = l(e, 255);
if (63 <= a) {
e = s;
b = 0;
c = 0;
d = 0;
a = q[0];
b = q[1];
c = q[2];
d = q[3];
for (i = 0; 16 > i; i++) {
w[i] = l(e[4 * i + 0], 255);
for (j = 1; 4 > j; j++) w[i] += k(l(e[4 * i + j + 0], 255), 8 * j)
}
a = R(a, b, c, d, w[0], A, 3614090360);
d = R(d, a, b, c, w[1], B, 3905402710);
c = R(c, d, a, b, w[2], C, 606105819);
b = R(b, c, d, a, w[3], D, 3250441966);
a = R(a, b, c, d, w[4], A, 4118548399);
d = R(d, a, b, c, w[5], B, 1200080426);
c = R(c, d, a, b, w[6], C, 2821735955);
b = R(b, c, d, a, w[7], D, 4249261313);
a = R(a, b, c, d, w[8], A, 1770035416);
d = R(d, a, b, c, w[9], B, 2336552879);
c = R(c, d, a, b, w[10], C, 4294925233);
b = R(b, c, d, a, w[11], D, 2304563134);
a = R(a, b, c, d, w[12], A, 1804603682);
d = R(d, a, b, c, w[13], B, 4254626195);
c = R(c, d, a, b, w[14], C, 2792965006);
b = R(b, c, d, a, w[15], D, 1236535329);
a = S(a, b, c, d, w[1], E, 4129170786);
d = S(d, a, b, c, w[6], F, 3225465664);
c = S(c, d, a, b, w[11], G, 643717713);
b = S(b, c, d, a, w[0], H, 3921069994);
a = S(a, b, c, d, w[5], E, 3593408605);
d = S(d, a, b, c, w[10], F, 38016083);
c = S(c, d, a, b, w[15], G, 3634488961);
b = S(b, c, d, a, w[4], H, 3889429448);
a = S(a, b, c, d, w[9], E, 568446438);
d = S(d, a, b, c, w[14], F, 3275163606);
c = S(c, d, a, b, w[3], G, 4107603335);
b = S(b, c, d, a, w[8], H, 1163531501);
a = S(a, b, c, d, w[13], E, 2850285829);
d = S(d, a, b, c, w[2], F, 4243563512);
c = S(c, d, a, b, w[7], G, 1735328473);
b = S(b, c, d, a, w[12], H, 2368359562);
a = T(a, b, c, d, w[5], I, 4294588738);
d = T(d, a, b, c, w[8], J, 2272392833);
c = T(c, d, a, b, w[11], K, 1839030562);
b = T(b, c, d, a, w[14], L, 4259657740);
a = T(a, b, c, d, w[1], I, 2763975236);
d = T(d, a, b, c, w[4], J, 1272893353);
c = T(c, d, a, b, w[7], K, 4139469664);
b = T(b, c, d, a, w[10], L, 3200236656);
a = T(a, b, c, d, w[13], I, 681279174);
d = T(d, a, b, c, w[0], J, 3936430074);
c = T(c, d, a, b, w[3], K, 3572445317);
b = T(b, c, d, a, w[6], L, 76029189);
a = T(a, b, c, d, w[9], I, 3654602809);
d = T(d, a, b, c, w[12], J, 3873151461);
c = T(c, d, a, b, w[15], K, 530742520);
b = T(b, c, d, a, w[2], L, 3299628645);
a = U(a, b, c, d, w[0], M, 4096336452);
d = U(d, a, b, c, w[7], N, 1126891415);
c = U(c, d, a, b, w[14], O, 2878612391);
b = U(b, c, d, a, w[5], P, 4237533241);
a = U(a, b, c, d, w[12], M, 1700485571);
d = U(d, a, b, c, w[3], N, 2399980690);
c = U(c, d, a, b, w[10], O, 4293915773);
b = U(b, c, d, a, w[1], P, 2240044497);
a = U(a, b, c, d, w[8], M, 1873313359);
d = U(d, a, b, c, w[15], N, 4264355552);
c = U(c, d, a, b, w[6], O, 2734768916);
b = U(b, c, d, a, w[13], P, 1309151649);
a = U(a, b, c, d, w[4], M, 4149444226);
d = U(d, a, b, c, w[11], N, 3174756917);
c = U(c, d, a, b, w[2], O, 718787259);
b = U(b, c, d, a, w[9], P, 3951481745);
q[0] += a;
q[1] += b;
q[2] += c;
q[3] += d
}
}
function W(e) {
var a = "";
for (hexa_i = 0; 8 > hexa_i; hexa_i++) a = "0123456789abcdef".charAt(Math.abs(e) % 16) + a, e = Math.floor(e / 16);
return a
}
D = !1;
C = setInterval(function () {
!1 !== window.y && clearInterval(window.x);
this.console.log("message", function (e) {
var a, g, o;
r[0] = r[1] = 0;
q[0] = 1732584193;
q[1] = 4023233417;
q[2] = 2562383102;
q[3] = 271733878;
for (i = 0; i < z.length; i++) z[i] = 0;
for (g = 0; g < e.length; g++) a = e.charAt(g), V("01234567890123456789012345678901 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~".lastIndexOf(a));
e = [];
for (g = g = 0; 4 > g; g++) e[g] = l(h(r[0], 8 * g), 255);
for (g = 0; 4 > g; g++) e[g + 4] = l(h(r[1], 8 * g), 255);
a = l(h(r[0], 3), 63);
o = 56 > a ? 56 - a : 120 - a;
a = [128];
for (g = 0; g < o; g++) V(a[g]);
for (g = 0; 8 > g; g++) V(e[g]);
for (g = 0; 4 > g; g++) for (j = 0; 4 > j; j++) z[4 * g + j] = l(h(q[g], 8 * j), 255);
for (i = e = a = g = o = 0; 4 > i; i++) e += k(z[15 - i], 8 * i);
for (i = 4; 8 > i; i++) a += k(z[15 - i], 8 * (i - 4));
for (i = 8; 12 > i; i++) g += k(z[15 - i], 8 * (i - 8));
for (i = 12; 16 > i; i++) o += k(z[15 - i], 8 * (i - 12));
return W(o) + W(g) + W(a) + W(e)
}(+new Date + ""))
}, 100);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment