SPU (Secure Processing Unit) aims to be a provable, measurable secure computation device, which provides computation ability while keeping your private data protected.
In /libspu/mpc/cheetah/ot/ot_util.cc, the function NdArrayRef OpenShare(const NdArrayRef &shr, ReduceOp op, size_t nbits, std::shared_ptr<Communicator> conn) looks strange. The zip operation will harm the ring structure of $Z_m$. If we add after zip, the result may be unexpected.
xor is OK. I only doubt the correctness of add.
Issue Type
Usability
Modules Involved
MPC protocol
Have you reproduced the bug with SPU HEAD?
No
Have you searched existing issues?
Yes
SPU Version
spu 0.9.3.dev
OS Platform and Distribution
Ubuntu 22.04
Python Version
3.10
Compiler Version
gcc 13.2
Current Behavior?
In /libspu/mpc/cheetah/ot/ot_util.cc, the function
NdArrayRef OpenShare(const NdArrayRef &shr, ReduceOp op, size_t nbits, std::shared_ptr<Communicator> conn)
looks strange. Thezip
operation will harm the ring structure of $Z_m$. If we add afterzip
, the result may be unexpected. xor is OK. I only doubt the correctness of add.Standalone code to reproduce the issue
Relevant log output
No response