public interface OTSender
Oblivious Transfer is the situation where 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.
void transfer(Channel channel, OTSInput input) throws java.io.IOException, java.lang.ClassNotFoundException, CheatAttemptException, InvalidDlogGroupException
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 sender 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.
java.io.IOException- if there was a problem during the communication.
java.lang.ClassNotFoundException- if there was a problem in the serialization mechanism.
CheatAttemptException- if the sender suspects that the receiver is trying to cheat.
InvalidDlogGroupException- if the given DlogGRoup is not valid.