1. A method for operating a device to verify the authenticity of a communicating party, the method comprising: receiving a data string from the communicating party, wherein the data string is generated by the communicating party by: (a) submitting a challenge to a physical unclonable function to obtain a response string, (b) selecting a substring of predetermined length from the response string, (c) injecting the selected substring onto a continuous range of bit positions within the data string, wherein a start position of the selected substring within the data string is determined by a variable number that is not communicated to said device, and (d) injecting random bits into bit positions of the data string not assigned to the selected substring, wherein said generating the data string also includes randomly selecting the variable number; generating an estimated response string by evaluating a computational model of the physical unclonable function based on the challenge; performing a search process to identify the selected substring within the data string using the estimated response string; determining whether the communicating party is authentic based on a measure of similarity between the identified selected substring and a corresponding substring of the estimated response string, wherein said generating, said performing and said determining are performed by digital circuitry.