1 #ifndef OT_ITERATED_H__     2 #define OT_ITERATED_H__     8 template<
typename OTExtension>
    17         seed_ot = 
new OTExtension(io);
    18         ot = 
new OTExtension(io);
    36                 ot->setup_send(k0, sel);
    38             ot->send_rot(k0, 
k1, seed_ot->l);
    39             seed_ot->setup_recv(k0, 
k1);
    41             seed_ot->recv_rot(k0, sel, buffer_size);
    44                 ot->setup_recv(k0 ,
k1);
    46             ot->recv_rot(k0, sel, seed_ot->l);
    47             seed_ot->setup_send(k0, sel);
    48             seed_ot->send_rot(k0, 
k1, buffer_size);
    53         if(size + ot->l > buffer_size)
    55         ot->setup_send(k0+size, sel+size);
    56         ot->send(data0, data1, length);
    60         if(size + ot->l > buffer_size)
    62         ot->setup_recv(k0+size, 
k1+size);
    63         ot->recv(data, b, length);
    67         if(size + ot->l > buffer_size)
    70         ot->setup_send(k0+size, sel+size);
    71         ot->send_cot(data0, delta, length);
    75         if(size + ot->l > buffer_size)
    77         ot->setup_recv(k0+size, 
k1+size);
    78         ot->recv_cot(data, b, length);
    82         if(size + ot->l > buffer_size)
    84         ot->setup_send(k0+size, sel+size);
    85         ot->send_rot(data0, data1, length);
    89         if(size + ot->l > buffer_size)
    91         ot->setup_recv(k0+size, 
k1+size);
    92         ot->recv_rot(data, b, length);
    99 #endif// OT_ITERATED_H__ void recv_impl(block *data, const bool *b, int length)
Definition: iterated.h:59
 
void random_bool(bool *data, int length)
Definition: prg.h:57
 
block * k1
Definition: iterated.h:12
 
void fill()
Definition: iterated.h:33
 
__m128i block
Definition: block.h:8
 
OTIterated< MOTExtension > MOTIterated
Definition: iterated.h:97
 
void send_cot(block *data0, block delta, int length)
Definition: iterated.h:66
 
int buffer_size
Definition: iterated.h:14
 
Definition: net_io_channel.h:22
 
OTIterated(NetIO *io, bool is_sender, int buffer_size=1<< 10)
Definition: iterated.h:16
 
~OTIterated()
Definition: iterated.h:26
 
OTIterated< SHOTExtension > SHOTIterated
Definition: iterated.h:96
 
OTExtension * seed_ot
Definition: iterated.h:10
 
bool * sel
Definition: iterated.h:13
 
void recv_rot(block *data, const bool *b, int length)
Definition: iterated.h:88
 
void send_impl(const block *data0, const block *data1, int length)
Definition: iterated.h:52
 
NetIO * io
Definition: ot.h:9
 
PRG prg
Definition: iterated.h:15
 
bool is_sender
Definition: iterated.h:13
 
void send_rot(block *data0, block *data1, int length)
Definition: iterated.h:81
 
OTExtension * ot
Definition: iterated.h:11
 
block * k0
Definition: iterated.h:12
 
int size
Definition: iterated.h:14
 
void recv_cot(block *data, const bool *b, int length)
Definition: iterated.h:74