A method of authenticating a first device, the method comprising: measuring a first response bit string of a physical unclonable function of the first device with respect to a challenge bit string, the physical unclonable function being provided by a component of the first device; deriving, with a processor of the first device, a shared secret bit string from a uniformly distributed random vector; encoding, with the processor of the first device, the uniformly random vector by multiplying a uniformly distributed random matrix with the uniformly distributed random vector and adding the first response bit string to a result of the multiplication to generate a helper bit string using an encode function of a function of a reverse computation fuzzy extractor; transmitting, with a transceiver of the first device, the helper bit string to a second device that is remote from the first device; receiving, with a transceiver of the second device, the helper bit string from the first device; reading, with a processor of the second device, a previously measured second response bit string of the physical unclonable function of the first device with respect to the challenge bit string from a memory storage of the second device, the second response bit string being measured and stored at a time of manufacture of the first device; subtracting, with the processor of the second device, the second response bit string from the helper bit string; decoding, with the processor of the second device, a result of the subtraction using the uniformly distributed random matrix, the shared secret bit string being provided from the decoding if the first response bit string is within a threshold level of similarity to the second response bit string, the decoding outputting an error value otherwise; and transmitting, with the transceiver of the second device, one of (i) a confirmation message indicating that authentication was successful and (ii) a rejection message indicating that authentication was unsuccessful to the first device, the confirmation message being transmitted only if shared secret bit string was provided from the decoding, the rejection message being transmitted otherwise, characterized in that: the uniformly distributed random matrix is installed on a memory of said first device at a time of manufacture and is reused during different authentications. measuring a first response bit string of a physical unclonable function of the first device with respect to a challenge bit string, the physical unclonable function being provided by a component of the first device; deriving, with a processor of the first device, a shared secret bit string from a uniformly distributed random vector; encoding, with the processor of the first device, the uniformly random vector by multiplying a uniformly distributed random matrix with the uniformly distributed random vector and adding the first response bit string to a result of the multiplication to generate a helper bit string using an encode function of a function of a reverse computation fuzzy extractor; transmitting, with a transceiver of the first device, the helper bit string to a second device that is remote from the first device; receiving, with a transceiver of the second device, the helper bit string from the first device; reading, with a processor of the second device, a previously measured second response bit string of the physical unclonable function of the first device with respect to the challenge bit string from a memory storage of the second device, the second response bit string being measured and stored at a time of manufacture of the first device; subtracting, with the processor of the second device, the second response bit string from the helper bit string; decoding, with the processor of the second device, a result of the subtraction using the uniformly distributed random matrix, the shared secret bit string being provided from the decoding if the first response bit string is within a threshold level of similarity to the second response bit string, the decoding outputting an error value otherwise; and transmitting, with the transceiver of the second device, one of (i) a confirmation message indicating that authentication was successful and (ii) a rejection message indicating that authentication was unsuccessful to the first device, the confirmation message being transmitted only if shared secret bit string was provided from the decoding, the rejection message being transmitted otherwise, characterized in that: the uniformly distributed random matrix is installed on a memory of said first device at a time of manufacture and is reused during different authentications.