One stirring pass
s0 ^= (KX[i] ^ KX[(i+83)&255]) + KX[s0&255] /* lossy, sometimes */
s1 += s0
s3 ^= s2
s5 -= s4
s7 ^= s6
s3 += s0>ᡅ
s4 ^= s1<
s5 ^= s3<<(s1&31)
s6 += s2>ᡉ
s7 |= s3+s4 /* lossy */
s2 -= s5 /* cross-link */
s0 -= s6^i
s1 ^= s5 + PI19
s2 += s7>>j
s2 ^= s1
s4 -= s3
s6 ^= s5
s0 += s7
KX[i] = s2+s6
where I = 0 - 255, the KX table index.
J is the pass number
Previous slide
Next slide
Back to first slide
View graphic version