There is a algorithm that mixes bits for some hashes.
For example, using 32 bit integers
S = (e rightrotate 6) xor (e rightrotate 11) xor (e rightrotate 25)
Right Rotate, rotates the bits along the 32 bit area. It is much like a right shift but the bits appear on the other side such that rotating by a multiple of 32 will result in no change.
Xor, exclusive-ors the 32 bit result of the right rotates
I think that will have to be brute forced by trying all possible values of e. For 32 bits, it should not take more than a few hours on a modern machine. There are probably some values of S for which no e exists.
you can write equations for the bits of S of the form S_i = e_j ^ e_k ^ e_m
using properties of xor these can be rewritten as e_j = S_i ^ e_m ^ e_k.
now you can substitute these expressions for e_m and e_k and repeat - taking advantage of the associativity and commutivity of xor and the fact that a ^ a = 0 and b ^ 0 = b, you will eventually reach an equation for each bit of e involving only bits of S.
the solution: [spoiler]e = (S ror 26) ^ (S ror 2) ^ (S ror 22) ^ (S ror 5) ^ (S ror 24) ^ (S ror 29) ^ (S ror 11) ^ (S ror 7) ^ (S ror 18) ^ (S ror 21) ^ (S ror 3) ^ (S ror 12) ^ (S ror 30) ^ (S ror 13) ^ (S ror 27) ^ (S ror 9) ^ (S ror 23)[/spoiler]
someone who knows something about abstract algebra can probably explain how you could generate this sequence directly from the definition of S - I used python.
[spoiler]If you feed in ‘S’ in place of ‘e’ repeatedly, it will wrap around to ‘e’. It will wrap around either at 15 or 31 times depending on the numbers. In this case 15 times[/spoiler]
@Bill - I see there are a couple of probably brilliant answers but I like brute force. Why don’t you make your computer work on it while you sleep and report back on how long it takes!
It has to be trivial compared to putting Python on a 6502.
I found this fascinating, in the same way that I find reading the results of a cricket match fascinating. That is, how can it be that I am able read the individual words, and yet have no idea what they mean as a group.