There are several problems with the euqality implementation.
[x] 1. The intended functionality is that equal([x], [y]) should return [1] if x==y, and [0] otherwise. However, the implementation appears to be incorrect, and it returns [0] if x!=y. If x==y, it returns an arbitrary nonzero number, not necessarily [1].
[ ] 2. There is no documentation for the equality function indicating what the intended behavior should be.
There are several problems with the euqality implementation.
equal([x], [y])
should return[1]
if x==y, and[0]
otherwise. However, the implementation appears to be incorrect, and it returns[0]
if x!=y. If x==y, it returns an arbitrary nonzero number, not necessarily[1]
.[0]
or[1]
, instead only checks the python "truth" value, hence the test passes even if the return value is any non-zero value. https://github.com/initc3/HoneyBadgerMPC/blob/dev/tests/progs/mixins/test_share_comparison.py#L65