When using Bristol circuits, Alice's input actually corresponds to the 2nd party while Bob the first. This flip of order is really confusing. If it's intended, it better be clearly stated in the README.
E.g., Here
|
if(party == ALICE) { |
|
for(int i = cf->n1; i < cf->n1+cf->n2; ++i) { |
|
mask_input[i] = logic_xor(input[i - cf->n1], value[i]); |
|
mask_input[i] = logic_xor(mask_input[i], mask[i]); |
|
} |
, Alice reads
n2 bits from the input. The tests didn't catch this because they use the same input from both parties.
When using Bristol circuits, Alice's input actually corresponds to the 2nd party while Bob the first. This flip of order is really confusing. If it's intended, it better be clearly stated in the README.
E.g., Here
emp-ag2pc/emp-ag2pc/2pc.h
Lines 320 to 324 in 163985c
n2bits from the input. The tests didn't catch this because they use the same input from both parties.