US 12,192,354 B2
Cryptographic method of secure comparison of two secret data x and y
Florian Bourse, Chatillon (FR); Olivier Sanders, Chatillon (FR); and Jacques Traore, Chatillon (FR)
Assigned to ORANGE, Issy-les-Moulineaux (FR)
Appl. No. 17/278,861
Filed by ORANGE, Issy-les-Moulineaux (FR)
PCT Filed Sep. 20, 2019, PCT No. PCT/FR2019/052213
§ 371(c)(1), (2) Date Mar. 23, 2021,
PCT Pub. No. WO2020/065185, PCT Pub. Date Apr. 2, 2020.
Claims priority of application No. 1858677 (FR), filed on Sep. 24, 2018.
Prior Publication US 2022/0038277 A1, Feb. 3, 2022
Int. Cl. H04L 29/06 (2006.01); H04L 9/06 (2006.01); H04L 9/30 (2006.01)
CPC H04L 9/302 (2013.01) [H04L 9/0643 (2013.01); H04L 2209/046 (2013.01); H04L 2209/46 (2013.01)] 13 Claims
OG exemplary drawing
 
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 custom characterN of order bd, h1 is an element of a sub-group H of custom characterN 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.