From d541a6af30acc1d5313f2cb602f0c36c1e24cb46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E5=9B=BD=E9=B9=8F?= <17302010022@fudan.edu.cn> Date: Tue, 25 Feb 2025 15:49:09 +0800 Subject: [PATCH 1/3] add warning for truncpr --- crypten/mpc/primitives/arithmetic.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypten/mpc/primitives/arithmetic.py b/crypten/mpc/primitives/arithmetic.py index f3f4dabb..415e3eb2 100644 --- a/crypten/mpc/primitives/arithmetic.py +++ b/crypten/mpc/primitives/arithmetic.py @@ -435,6 +435,7 @@ def mul_(self, y): return self._arithmetic_function_(y, "mul") def div(self, y): + print("WARNING: Probabilistic truncation leaks some information, see https://eprint.iacr.org/2024/1127 for discussion. ") """Divide by a given tensor""" result = self.clone() if isinstance(y, CrypTensor): @@ -444,6 +445,7 @@ def div(self, y): return result.div_(y) def div_(self, y): + print("WARNING: Probabilistic truncation leaks some information, see https://eprint.iacr.org/2024/1127 for discussion. ") """Divide two tensors element-wise""" # TODO: Add test coverage for this code path (next 4 lines) if isinstance(y, float) and int(y) == y: From 0b31e454ebb6704e45a0611089cb00c11581a42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E5=9B=BD=E9=B9=8F?= <17302010022@fudan.edu.cn> Date: Tue, 25 Feb 2025 15:53:05 +0800 Subject: [PATCH 2/3] add warning for truncpr --- crypten/mpc/primitives/replicated.py | 1 + 1 file changed, 1 insertion(+) diff --git a/crypten/mpc/primitives/replicated.py b/crypten/mpc/primitives/replicated.py index 4f245b82..e3a76c70 100644 --- a/crypten/mpc/primitives/replicated.py +++ b/crypten/mpc/primitives/replicated.py @@ -103,6 +103,7 @@ def square(x): def truncate(x, y): + print("WARNING: Probabilistic truncation leaks some information, see https://eprint.iacr.org/2024/1127 for discussion. ") """Protocol to divide an ArithmeticSharedTensor `x` by a constant integer `y` using RSS (see ABY3 Figure 2: https://eprint.iacr.org/2018/403.pdf). From 15ed04e13812b6c02e0223343ba1dfb9a65773fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E5=9B=BD=E9=B9=8F?= <17302010022@fudan.edu.cn> Date: Tue, 25 Feb 2025 15:54:46 +0800 Subject: [PATCH 3/3] add warning for truncpr --- crypten/mpc/primitives/replicated.py | 1 + 1 file changed, 1 insertion(+) diff --git a/crypten/mpc/primitives/replicated.py b/crypten/mpc/primitives/replicated.py index e3a76c70..e06e781c 100644 --- a/crypten/mpc/primitives/replicated.py +++ b/crypten/mpc/primitives/replicated.py @@ -104,6 +104,7 @@ def square(x): def truncate(x, y): print("WARNING: Probabilistic truncation leaks some information, see https://eprint.iacr.org/2024/1127 for discussion. ") + """Protocol to divide an ArithmeticSharedTensor `x` by a constant integer `y` using RSS (see ABY3 Figure 2: https://eprint.iacr.org/2018/403.pdf).