That's the whole thing, don't get me wrong... What are reasonable client questions here? The client has to guess the file. So it may ask for something like a hash (as in sha1). Then the server answers yes/no, or gives some hint. So it probably involves some hashing algorithm. I'm not sure...