Supplemental Material for CRYPTEN: Secure Multi-Party Computation Meets Machine Learning
–Neural Information Processing Systems
A.1 Secret Sharing CRYPTEN uses two different types of secret sharing: (1) arithmetic secret sharing [9] and (2) binary secret sharing [11]. Below, we describe the secret sharing methods for single values xbut they can trivially be extended to real-valued vectors x. A.1.1 Arithmetic Secret Sharing CRYPTEN uses arithmetic secret sharing to perform most MPC computations. In arithmetic secret sharing, a scalar value x Z/QZ (where Z/QZ denotes a ring with Qelements) is shared across |P| parties in such a way that the sum of the shares reconstructs the original value x. We denote the sharing of x by [x] = {[x]p}p P, where [x]p Z/QZ indicates party p's share of x. The representation has the property that P p P[x]p mod Q=x. We use a fixed-point encoding to obtain xfrom a floating-point value xR. To do so, we multiply xR with a large scaling factor B and round to the nearest integer: x = bBxRe, where B = 2L for some precision parameter, L. To decode a value, x, we compute xR x/B. Encoding real-valued numbers this way incurs a precision loss that is inversely proportional to L. Since we scale by a factor B to encode numbers, we must scale down by a factor B after every multiplication.
Neural Information Processing Systems
Apr-25-2026, 04:39:43 GMT