Is it possible to transfer large files using only the checksum system and then restore the original file using calculations?
Say you pass the MD5 checksum of the file and the file size. Having made a “virtual file” and calculated its checksum, having tried each bit combination, you should eventually “reach” the source file. But along the way, you will also get a lot of “collisions”, where the checksum will also match.
So, we change the first byte of the source file to some given value, again calculate the checksum and send it too. If we do the same lookup in a virtual file, we can check each “collision” to make sure it still matches. That should narrow it down a bit, and we can do it a few times.
Of course, the computing power for this would be enormous. But theoretically this is possible, and how many checksums would you need to transmit something (say 1mb)? Or maybe the amount of data needed to transfer checksums, the size of a file, which makes it pointless?
source share