1 #ifndef PRIVACY_FREE_GEN_H__ 2 #define PRIVACY_FREE_GEN_H__ 48 __m128i neq = _mm_xor_si128(b, delta);
49 return _mm_testz_si128(neq, neq);
54 *((
char *) &constant[0]) &= 0xfe;
55 *((
char *) &constant[1]) |= 0x01;
56 constant[1] =
xorBlocks(constant[1], delta);
62 block out[2], table[2];
64 &out[0], &out[1], delta, table,
gid++, prp.
aes);
65 io->send_block(table, 1);
76 for(
int i = 0; i < length; ++i) {
77 h[0] = prp.
H(b0[i], i);
78 h[1] = prp.
H(b1[i], i);
107 #endif// PRIVACY_FREE_GEN_H__ block privacy_free_gen_and(GarbleCircuit *gc, const block &a, const block &b)
Definition: privacy_free_gen.h:95
block gen_xor(const block &a, const block &b)
Definition: privacy_free_gen.h:68
block public_label_impl(bool b)
Definition: privacy_free_gen.h:58
static block make_delta(const block &a)
Definition: garble_circuit.h:30
bool privacy_free_gen_is_public(GarbleCircuit *gc, const block &b, int party)
Definition: privacy_free_gen.h:87
block gen_not(const block &a)
Definition: privacy_free_gen.h:71
__m128i block
Definition: block.h:8
uint64_t gid
Definition: garble_circuit.h:8
block xorBlocks(block x, block y)
Definition: block.h:35
Definition: privacy_free_gen.h:28
bool isDelta(const block &b)
Definition: privacy_free_gen.h:47
block(* gc_and_ptr)(GarbleCircuit *gc, const block &a, const block &b)
Definition: garble_circuit.h:11
block constant[2]
Definition: privacy_free_gen.h:32
PrivacyFreeGen(T *io)
Definition: privacy_free_gen.h:33
block(* public_label_ptr)(GarbleCircuit *gc, bool b)
Definition: garble_circuit.h:10
bool is_public_impl(const block &b, int party)
Definition: privacy_free_gen.h:44
block gen_and(const block &a, const block &b)
Definition: privacy_free_gen.h:61
void random_block(block *data, int nblocks=1)
Definition: prg.h:75
const char fix_key[]
Definition: block.h:130
block H(block in, uint64_t id)
Definition: prp.h:48
T * io
Definition: privacy_free_gen.h:31
AES_KEY * aes
Definition: prp.h:12
block(* gc_not_ptr)(GarbleCircuit *gc, const block &a)
Definition: garble_circuit.h:13
block privacy_free_gen_xor(GarbleCircuit *gc, const block &a, const block &b)
Definition: privacy_free_gen.h:99
block(* gc_xor_ptr)(GarbleCircuit *gc, const block &a, const block &b)
Definition: garble_circuit.h:12
block privacy_free_gen_not(GarbleCircuit *gc, const block &a)
Definition: privacy_free_gen.h:104
Definition: garble_circuit.h:7
void privacy_free_to_xor(const block *new_b0, const block *b0, const block *b1, int length)
Definition: privacy_free_gen.h:74
bool(* is_public_ptr)(GarbleCircuit *gc, const block &b, int party)
Definition: garble_circuit.h:9
PRP prp
Definition: privacy_free_gen.h:30
block privacy_free_gen_public_label(GarbleCircuit *gc, bool b)
Definition: privacy_free_gen.h:91
void set_delta(const block &_delta)
Definition: privacy_free_gen.h:51
block delta
Definition: privacy_free_gen.h:29