Each site has a list. Each site wants to intersect that list with all other sites but reveal only the intersection to those other sites. The sites agree on a set of hash functions H1, H2, ..., Hk. Site i with value v will send H1(v) + H2(v) + ... + Hk(v) to a third party who is honest but curious. Third party does intersection and sends back those elements that are in common. In the Privacy Preserving Query Processing using Third Parties Emekci et al ICDE06, the sites wanting an intersection generate a random vector of size k+1 and send something like H1(v) xi^(k) + H2(v) xi^(k-1) + ... + Hk(v) to each of k+1 sites. Each site sends back the intersection of good values. I don't think the security is guaranteed because the same xis are reused many times.