Patent ID: 7916868

Claim:
A computer-implemented method for use in secure electronic communication, the method comprising the steps, performed by one or more processors, of: sending a key exchange request including a first value to an intended key exchange entity; receiving a key exchange reply from the intended key exchange entity, the reply comprising a permutation of a first quadratic residue with respect to the first value; computing a value of the first quadratic residue from the key exchange reply, the computing comprising: identifying an inverse function associated with the received permutation; and applying the inverse function to the received permutation a plurality of times; calculating a second quadratic residue with respect to the first value based on the key exchange reply, the calculating comprising: calculating a hash value based on at least the first value; determining that the calculated hash value and the first value are relatively prime; and calculating the second quadratic residue based on at least the computed value of the first quadratic residue, the calculated hash value, and the first value; and determining a value to be shared with the key exchange entity based on the first quadratic residue and the second quadratic residue, wherein the determining comprises: determining that a value of the second quadratic residue corresponds to the computed value of the first quadratic residue; and assigning the value of the second quadratic residue to the shared value.