CPC H04L 9/302 (2013.01) [H04L 9/0643 (2013.01); H04L 2209/046 (2013.01); H04L 2209/46 (2013.01)] | 13 Claims |
1. A cryptographic method of securely comparing two secret integer data x and y, possessed by a first computing device and by a second computing device, respectively, said method comprising:
generating, by the first computing device, a Rivest Shamir Adleman (RSA) module denoted N;
computing, by the first computing device, a number C equal to gbaxh1 where g is an element of a sub-group G of N of order bd, h1 is an element of a sub-group H of N of order f, and a, b, d, and f denote integers such that b and f are mutually prime, and the data x and y are less than d/a;
sending, by the first computing device, the number C to the second computing device;
computing, by the second computing device, at least:
a number D equal to Cu·bd−ay(gh3)vh2 where u and v denote two random integers, and h2 and h3 elements of the sub-group H; and
a first fingerprint of (gh3)v computed using a hash function;
sending, by the second computing device to the first computing device, the number D and the first fingerprint;
computing, by the first computing device, the number (Df)f′ where f′ is the inverse of f modulo bd;
obtaining, by the first computing device, on the basis of the number (Df)f′ computed, a second fingerprint using the hash function; and
determining, by the first computing device, that the data x is greater than or equal to the data y or that the data x is less than the data y as a function of the result of a comparison between the first fingerprint and the second fingerprint and without revealing the data x to the second computing device and the data y to the first computing device.
|