please tell me this isn't true: if we model a hash function in a reversible computer, and know data, digest and garbage bits, then mutate the garbage bits and reverse the computer, can't we easily create colliding data for any hash algorithm?
so far, i have yet to be reassured i am wrong. don't do this to me, people.
ok. i think i got it. as reversible computing is proven and turing complete, you can implement any algorithm on it. you would, in addition to an output, also receive garbage bits in an extra channel, which you can use, together with the output, to produce the desired input. but!
garbage bits also go *in* the machine, typically a "default" set of constant bits that is always the same. so when you reverse the output garbage bits, the input garbage bits will change too. you would have to find output garbage bits that produce the default constant bits.
in layman's terms, when you reverse the computer with different garbage, you drive into a different past, where not only the data is different, but also the configuration of the algorithm.
however, if you recorded, going forward, the possible states for each output garbage bit, you would be able to constrain the final set of garbage bits enough to know which bits could be changed and which couldn't. so - if you can do that, you can create a collision.
but intuitively i would guess even going backwards you need a considerable amount of bruteforcing to compose bits into a valid composition.
You can follow @paniq.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: