Michael Rogers wrote: > the data must be > accompanied by a string whose hash shares a b-bit prefix with the hash > of the public part of the key.
Sorry for replying to myself but I just spotted a problem: you could build up a dictionary of strings for all b-bit prefixes and reuse them. So instead of hash(string) matching hash(public_part) in the first b bits, hash(xor(string,public_part)) should match hash(public_part) in the first b bits. Cheers, Michael