1 #ifndef PRIVACY_FREE_EVA_H__ 2 #define PRIVACY_FREE_EVA_H__ 39 *((
char *) &constant[0]) &= 0xfe;
40 *((
char *) &constant[1]) |= 0x01;
49 block out[2], table[1];
50 io->recv_block(table, 1);
62 for(
int i = 0; i < length; ++i) {
65 new_block[i] =
xorBlocks(h[0], prp.
H(old_block[i], i));
67 new_block[i] =
xorBlocks(h[1], prp.
H(old_block[i], i));
93 #endif// PRIVACY_FREE_EVA_H__ block public_label_impl(bool b)
Definition: privacy_free_eva.h:45
Definition: privacy_free_eva.h:28
__m128i block
Definition: block.h:8
block and_gate(const block &a, const block &b)
Definition: privacy_free_eva.h:48
block privacy_free_eva_xor(GarbleCircuit *gc, const block &a, const block &b)
Definition: privacy_free_eva.h:85
uint64_t gid
Definition: garble_circuit.h:8
block xorBlocks(block x, block y)
Definition: block.h:35
block privacy_free_eva_not(GarbleCircuit *gc, const block &a)
Definition: privacy_free_eva.h:90
block(* gc_and_ptr)(GarbleCircuit *gc, const block &a, const block &b)
Definition: garble_circuit.h:11
block not_gate(const block &a)
Definition: privacy_free_eva.h:57
block(* public_label_ptr)(GarbleCircuit *gc, bool b)
Definition: garble_circuit.h:10
void random_block(block *data, int nblocks=1)
Definition: prg.h:75
const char fix_key[]
Definition: block.h:130
block privacy_free_eva_and(GarbleCircuit *gc, const block &a, const block &b)
Definition: privacy_free_eva.h:81
bool is_public_impl(const block &b, int party)
Definition: privacy_free_eva.h:42
block H(block in, uint64_t id)
Definition: prp.h:48
AES_KEY * aes
Definition: prp.h:12
block(* gc_not_ptr)(GarbleCircuit *gc, const block &a)
Definition: garble_circuit.h:13
block(* gc_xor_ptr)(GarbleCircuit *gc, const block &a, const block &b)
Definition: garble_circuit.h:12
PrivacyFreeEva(T *io)
Definition: privacy_free_eva.h:32
bool privacy_free_eva_is_public(GarbleCircuit *gc, const block &b, int party)
Definition: privacy_free_eva.h:73
PRP prp
Definition: privacy_free_eva.h:29
T * io
Definition: privacy_free_eva.h:30
Definition: garble_circuit.h:7
block xor_gate(const block &a, const block &b)
Definition: privacy_free_eva.h:54
bool(* is_public_ptr)(GarbleCircuit *gc, const block &b, int party)
Definition: garble_circuit.h:9
block privacy_free_eva_public_label(GarbleCircuit *gc, bool b)
Definition: privacy_free_eva.h:77
block constant[2]
Definition: privacy_free_eva.h:31
void privacy_free_to_xor(block *new_block, const block *old_block, const bool *b, int length)
Definition: privacy_free_eva.h:60