
Dimitris Tsapakidis writes:
Person A is interested to match person B, so he computes g^(AB)mod n. B is interested in X, where X may or may not be A, and calculates g^(BX)mod n. Now, they compare these two "common keys" either using some Zero Knowledge scheme that ensures fairness (at no point one party has significantly more information than the other) or through a Trusted Third Party. If they are the same, then this means X=A, so A and B have a match (e.g. a date). The common keys must remain secret (hence the ZK above): if g^(BX)mod n "escaped" to the public, then the real X would find out that B is interested in him.
Could you give us some background on the problem ? I'm not clear on what the protocol is trying to achieve in practical terms. -Lewis