I would like to know a protocol which computes the following functionality:
- Alice chooses a bit b.
- For i = 1 to n, Bob chooses $x^i_0$ and $x^i_1$.
- For i = 1 to n, Alice and Bob run $F_{OT}$ with Alice, acting as a receiver, inputting b and Bob, acting as a sender, inputting $x^i_0$ and $x^i_1$, resulting in Alice receiving $x^1_b, x^2_b, ..., x^n_b$.
- (optional functionality) For any i in 1 to n, Bob can decide to reveal $x^i_0$ and $x^i_1$ at a later point.
It is important that Alice cannot change the chosen bit b between $F_{OT}$ interactions. Is that possible? Do Commited Oblivious Transfer help? If so, why?