CPC G06F 16/24558 (2019.01) [G06F 16/2246 (2019.01); G06F 21/602 (2013.01)] | 20 Claims |
1. A method of computing a private set intersection, the method comprising, by a first computer system:
defining a first set (A) that is private to the first computer system, wherein the first set A includes a first residual subset Aold of elements that are not in an intersection (A∩B) with a second set (B) that is private to a second computer system, wherein the second set B includes a second residual subset (Bold) of elements that are not in the intersection A∩B;
updating the first set A by adding a first new subset (Ad) of one or more new elements;
determining, based on a first communication process with the second computer system, a first partial intersection (IA,old=Aold∩Bd) of the first residual subset Aold with a second new subset Bd of one or more new elements that have been added to the second set B, wherein the first computer system learns only the elements of the second new subset Bd that are in the first partial intersection IA,old;
receiving, from the second computer system, a first encrypted set (B′d) that includes encrypted elements representing the second new subset Bd and at least some elements of the second residual subset Bold;
determining, based on a second communication process with the second computer system, a second partial intersection (IA,new=Ad∩B′d) of the first new subset Ad and the first encrypted set B′d, wherein the first computer system learns only the elements of the first encrypted set B′d that are in the second partial intersection IA,new;
updating the intersection A∩B based on the first partial intersection IA,old and the second partial intersection IA,new; and
updating the first residual subset Aold based on the updated intersection.
|