1-out-of- Oblivious Transfer
Suppose has a list , has .
We want a SFE protocol where , that is,
-
learns and nothing else
-
learns nothing about
Theorem: [Kilian'87] 1-out-of-2 OT is universal for 2-party SFE
In other words, given a 1-out-of-2 OT protocol, one can do any 2-party SFE. (Yao's construction requires a block cipher in addition to a 1-out-of-2 OT protocol.)
Note that oblivious transfer implies 2-party SFE, which implies key exchange, and hence 1-out-of-2 OT cannot be built from a blackbox one-way function. Instead, we build one using the DDH assumption [Bellare-Micali'92].
Bellare-Micali Construction
Let be a group of prime order , and let be a generator, and be a hash function.
Suppose has , and has .
-
publishes a random , picks , sets and sends to . checks .
-
encrypts with El Gamal using , i.e. sets , encrypts using , and sends to .
-
decrypts using , i.e. if , computes .
Security: cannot learn anything about (information theoretic result).
If is honest-but-curious, then assuming DDH, can only decrypt one of or .
If is malicious, then assuming DDH is not enough: conceivably could generate in such a way that knows partial information about their corresponding private keys, and perhaps can then learn partial information about both and . However, if is a random oracle, then the protocol is secure under CDH.
Naor-Pinkas Construction
[Naor, Pinkas '00] Let be a group of prime order and let be a generator. Suppose has and has .
-
sends the tuple to , where , and .
-
verifies that and applies a partial DDH random self-reduction: becomes , and becomes .
-
encrypts using and using , that is, sends to the ciphertexts .
-
decrypts .
This protocol is information theoretically secure against , and DDH secure against . The random self-reduction destroys any partial information in the message sends to . Note that this construction also generalizes to a 1-out-of- protocol.
DDH Random Self-Reduction
Suppose we have a tuple . Then to perform a random self-reduction, pick random , and output .
Note that this transformation takes DH-tuples to DH-tuples, and non-DH-tuples to non-DH-tuples. Furthermore, the new exponents are independent of the originals. This is easy to see if we start with a DH tuple. On the other hand, if the tuple is not DH, then given any , there exists a unique such that (we can solve to get and can be easily determined from ). As expected, these solutions are not well defined if , i.e. the original tuple is DH.
1-out-of-n From 1-out-of-2
We show how to construct a 1-out-of- OT protocol from any 1-out-of-2 OT protocol.
Suppose has and has . Assume for some .
-
prepares keys .
-
Let be a PRF. sends to the tuple : view the message index as a bit string , and encrypt using
Note sends bits to .
-
Let . Then 1-out-of-2 OT's are performed where during the th OT, has and has .
-
now has and can decrypt to get .
Thus with 1-out-of-2 OT's, a single 1-out-of- OT can be constructed, that has communication complexity.