public interface OTReceiver
Oblivious Transfer is is a type of protocol in which a sender has n messages, and the receiver has an index i. The receiver wishes to receive the i-th among the sender's messages, without the sender learning i, while the sender wants to ensure that the receiver receive only one of the n messages.
OTROutput transfer(Channel channel, OTRInput input) throws CheatAttemptException, java.io.IOException, java.lang.ClassNotFoundException
The OT implementation support usage of many calls to transfer, with single preprocess execution.
This way, one can execute batch OT by creating the OT receiver once and call the transfer function for each input couple.
In order to enable the parallel calls, each transfer call should use a different channel to send and receive messages. This way the parallel executions of the function will not block each other.
channel- each call should get a different one.
input- The parameters given in the input must match the DlogGroup member of this class, which given in the constructor.
CheatAttemptException- if there was a cheat attempt during the execution of the protocol.
java.io.IOException- if the send or receive functions failed
java.lang.ClassNotFoundException- if there was a problem during the serialization mechanism