Patent ID: 8204224

Claim:
A computer-implemented method for generating a shared secret key at two or more physical computing devices in a wireless network, comprising: (a) encoding one or more frames comprising data at a first physical computing device with random string values and dense parity check codes; (i) where the dense parity check codes are selected such that a second physical computing device that receives the one or more frames is able to detect errors in the data; and (ii) where the dense parity check codes are further selected such that the second physical computing device is unable to correct the detected errors in the data in the received one or more frames and is thereby unable to recover the data; (b) transmitting the one or more frames from the first physical computing device to the second physical computing device; (c) receiving the transmitted one or more frames at the second physical computing device; (d) examining the dense parity check codes in the received one or more frames at the second physical computing device to detect errors in the data in the received one or more frames; (e) in response to detecting an absence of an acknowledgement from the second physical computing device within a predetermined time period when the second physical computing device detects an error in the data in the received one or more frames, (i) retransmitting the one or more frames from the first physical computing device to the second physical computing device and (ii) refraining from storing a random string value from at least one of the one or more retransmitted frames in a first memory location at the first physical computing device; (f) in response to receiving an acknowledgement from the second physical computing device when the second physical computing device detects an absence of errors in the data in the received one or more frames, storing at least one random string value from at least one of the one or more transmitted frames in a first memory location at the first physical computing device; (g) storing the same at least one random string value from the same at least one of the one or more transmitted frames that were not retransmitted in step (f) in a second memory location at the second physical computing device; (h) applying a hashing algorithm to the random string values stored in the first memory location to generate a first secret key at the first physical computing device; and (i) applying the same hashing algorithm used in step (h) to the random string values stored in the second memory location to generate a second secret key at the second physical computing device, such that the first secret key and the second secret key are the same.