Use asymmetric local truncation for semi2k/aby3 TruncA (#1435)
Replace symmetric truncation (x0>>k, x1>>k) with asymmetric truncation (x0>>k, -((-x1)>>k)) so the two shares round in opposite directions. This removes the per-share rounding-toward-(-inf) bias of the original truncation, giving an expected error closer to 0.
- semi2k 2PC TruncA: rank 1 now computes -arshift(-x).
- aby3 3PC TruncA: party 1 (which holds b+c) uses -arshift(-(b+c)) while parties 0/2 keep arshift(a) so the two replicated halves remain consistent.
Pull Request
What problem does this PR solve?
Issue Number: Fixed #1998 in SecretFlow
Signed-off-by: GuopengLin linguopeng1998@gmail.com
SPU: Secure Processing Unit
SPU (Secure Processing Unit) aims to be a
provable,measurablesecure computation device, which provides computation ability while keeping your private data protected.SPU could be treated as a programmable device, it’s not designed to be used directly. Normally we use SecretFlow framework, which use SPU as the underline secure computing device.
Currently, we mainly focus on
provablesecurity. It contains a secure runtime that evaluates XLA-like tensor operations, which use MPC as the underline evaluation engine to protect privacy information.SPU python package also contains a simple distributed module to demo SPU usage, but it’s NOT designed for production due to system security and performance concerns, please DO NOT use it directly in production.
Contribution Guidelines
If you would like to contribute to SPU, please check Contribution guidelines.
If you would like to use SPU for research purposes, please check research development guidelines from @fionser.
This documentation also contains instructions for build and testing.
Installation Guidelines
Supported platforms
Instructions
Please follow Installation Guidelines to install SPU.
Hardware Requirements
Citing SPU
If you think SPU is helpful for your research or development, please consider citing our papers:
USENIX ATC’23
ICML’24
Acknowledgement
We thank the significant contributions made by Alibaba Gemini Lab and security advisories made by VUL337@NISL@THU.