Skip to content

Commit 33c852c

Browse files
committed
replace ^ with hat
1 parent 307792e commit 33c852c

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

Malicious-Security-Authenticated-Garbling-zh-TW.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -45,47 +45,47 @@ Sender 如果想造假, 等於要能猜中一個 k-bit binary string. 難度很
4545
當 mask bit = 0 時, label 和平常一樣.<br>
4646
當 mask bit = 1 時, label 會反過來.
4747

48-
計算 masked bit $\^x = x \oplus \lambda_\alpha$. 因為 $\lambda_\alpha$ 是 random 的, 把 $x$ 遮蓋掉了, 所以公開 $\^x$ 也不會洩漏 $x$. 也因為 $\^x$ 是 random, 可以當 point-and-permute 的 pointer bit 來 attach 在 label 上.
48+
計算 masked bit $\hat{x} = x \oplus \lambda_\alpha$. 因為 $\lambda_\alpha$ 是 random 的, 把 $x$ 遮蓋掉了, 所以公開 $\hat{x}$ 也不會洩漏 $x$. 也因為 $\hat{x}$ 是 random, 可以當 point-and-permute 的 pointer bit 來 attach 在 label 上.
4949

5050
我們希望:
5151

5252
如果 $\lambda_\alpha = 0$:<br>
53-
如果 $x = 0$, 則 $\^x = 0$. Evaluator 會拿到 $L_{\alpha,0}$ 和 pointer bit 0.<br>
54-
如果 $x = 1$, 則 $\^x = 1$. Evaluator 會拿到 $L_{\alpha,1}$ 和 pointer bit 1.
53+
如果 $x = 0$, 則 $\hat{x} = 0$. Evaluator 會拿到 $L_{\alpha,0}$ 和 pointer bit 0.<br>
54+
如果 $x = 1$, 則 $\hat{x} = 1$. Evaluator 會拿到 $L_{\alpha,1}$ 和 pointer bit 1.
5555

5656
如果 $\lambda_\alpha = 1$:<br>
57-
如果 $x = 0$, 則 $\^x = 1$. Evaluator 會拿到 $L_{\alpha,1}$ 和 pointer bit 1.<br>
58-
如果 $x = 1$, 則 $\^x = 0$. Evaluator 會拿到 $L_{\alpha,0}$ 和 pointer bit 0.
57+
如果 $x = 0$, 則 $\hat{x} = 1$. Evaluator 會拿到 $L_{\alpha,1}$ 和 pointer bit 1.<br>
58+
如果 $x = 1$, 則 $\hat{x} = 0$. Evaluator 會拿到 $L_{\alpha,0}$ 和 pointer bit 0.
5959

60-
Evaluator 拿到 label 時可以看到 public pointer bit $\^x$, 也知道手上拿的是 $L_{\alpha,\^x}$. 但只要不知道 mask bit $\lambda_\alpha$, 就仍然無法知道 $x$.
60+
Evaluator 拿到 label 時可以看到 public pointer bit $\hat{x}$, 也知道手上拿的是 $L_{\alpha,\hat{x}}$. 但只要不知道 mask bit $\lambda_\alpha$, 就仍然無法知道 $x$.
6161

6262
<img src="images/Authenticated-Garbling-Mask-Bit.png" width="500">
6363

6464
## Garbled Table
6565

6666
再來我們製作 garbled table.
6767

68-
因為 $\^x = x \oplus \lambda_\alpha$, 所以 $x = \^x \oplus \lambda_\alpha$.<br>
69-
因為 $\^y = y \oplus \lambda_\alpha$, 所以 $y = \^y \oplus \lambda_\alpha$.
68+
因為 $\hat{x} = x \oplus \lambda_\alpha$, 所以 $x = \hat{x} \oplus \lambda_\alpha$.<br>
69+
因為 $\hat{y} = y \oplus \lambda_\alpha$, 所以 $y = \hat{y} \oplus \lambda_\alpha$.
7070

7171
以 AND gate $x \land y = z$ 為例子.
7272

73-
Rows 直接用 pointer bits $\^x$ 和 $\^y$ 的順序來看.
73+
Rows 直接用 pointer bits $\hat{x}$ 和 $\hat{y}$ 的順序來看.
7474

75-
當 $\^x = 0, \^y = 0$, 則
75+
當 $\hat{x} = 0, \hat{y} = 0$, 則
7676
$$
7777
\begin{split}
78-
\^z_{00} &= z \oplus \lambda_\gamma \\
78+
\hat{z_{00}} &= z \oplus \lambda_\gamma \\
7979
&= (x \land y) \oplus \lambda_\gamma \\
80-
&= ((\^x \oplus \lambda_\alpha) \land (\^y \oplus \lambda_\beta)) \oplus \lambda_\gamma \\
80+
&= ((\hat{x} \oplus \lambda_\alpha) \land (\hat{y} \oplus \lambda_\beta)) \oplus \lambda_\gamma \\
8181
&= ((0 \oplus \lambda_\alpha) \land (0 \oplus \lambda_\beta)) \oplus \lambda_\gamma \\
8282
&= (\lambda_\alpha \land \lambda_\beta) \oplus \lambda_\gamma
8383
\end{split}
8484
$$
85-
Evaluator 到這邊會持有 $L_{\alpha,\^x}$ 也就是 $L_{\alpha,0}$.<br>
86-
也會持有 $L_{\beta,\^y}$ 也就是 $L_{\beta,0}$.<br>
87-
我們希望 evaluator 可以 decrypt 出 $L_{\gamma,\^z}$ 和 pointer bit $\^z$.<br>
88-
所以用 $L_{\alpha,0}$ 和 $L_{\beta,0}$ 來 encrypt $L_{\gamma,\^z}$ 和 $\^z$. (把 Hash($L_{\alpha,0}$, $L_{\beta,0}$) XOR 上去)
85+
Evaluator 到這邊會持有 $L_{\alpha,\hat{x}}$ 也就是 $L_{\alpha,0}$.<br>
86+
也會持有 $L_{\beta,\hat{y}}$ 也就是 $L_{\beta,0}$.<br>
87+
我們希望 evaluator 可以 decrypt 出 $L_{\gamma,\hat{z}}$ 和 pointer bit $\hat{z}$.<br>
88+
所以用 $L_{\alpha,0}$ 和 $L_{\beta,0}$ 來 encrypt $L_{\gamma,\hat{z}}$ 和 $\hat{z}$. (把 Hash($L_{\alpha,0}$, $L_{\beta,0}$) XOR 上去)
8989

9090
剩下三個 row 類似. 我們可以得到原 paper page 5 中的 table:<br>
9191
<img src="images/Authenticated-Garbling-Truth-Table.png" width="500">
@@ -94,7 +94,7 @@ Evaluator 到這邊會持有 $L_{\alpha,\^x}$ 也就是 $L_{\alpha,0}$.<br>
9494

9595
在前面的章節中, 我們看過 selective-failure attack: generator 破壞一部分的 circuit, 讓 evaluator 在特定的 input 會發生問題. 如果 evaluator 發生並回報了問題, 則洩漏了 evaluator 的 input.
9696

97-
在上面的例子中, 如果 generator 破壞了第一個 row, 且 evaluator 回報了問題的話, 則 generator 會知道 $\^x = 0$ 且 $\^y = 0$.
97+
在上面的例子中, 如果 generator 破壞了第一個 row, 且 evaluator 回報了問題的話, 則 generator 會知道 $\hat{x} = 0$ 且 $\hat{y} = 0$.
9898

9999
因為 generator 也知道 mask bits $\lambda_\alpha$ 和 $\lambda_\beta$, 所以可以推導出這兩個 wire 真正的 x 和 y 的 value. 因此洩漏了 evaluator 的 input.
100100

@@ -110,18 +110,18 @@ Evaluator 到這邊會持有 $L_{\alpha,\^x}$ 也就是 $L_{\alpha,0}$.<br>
110110

111111
## Efficient Realization
112112

113-
前面提到, 當使用者看到 pointer bit $\^x$ 時會拿到 $L_{\alpha,\^x}$.<br>
114-
如果搭配上 FreeXOR, 則 $\^x = 0$ 時就是拿到 $L_{\alpha,0}$, 而 $\^x = 1$ 時要加上 FreeXOR 的 global $\Delta$.
113+
前面提到, 當使用者看到 pointer bit $\hat{x}$ 時會拿到 $L_{\alpha,\hat{x}}$.<br>
114+
如果搭配上 FreeXOR, 則 $\hat{x} = 0$ 時就是拿到 $L_{\alpha,0}$, 而 $\hat{x} = 1$ 時要加上 FreeXOR 的 global $\Delta$.
115115

116116
同理, 如果繼續看 $x \land y = z$ 的第一個 row, 則
117117

118-
$$L_{\gamma,\^z_{00}} = L_{\gamma,0} \oplus \^z_{00} \Delta$$
118+
$$L_{\gamma,\hat{z}_{00}} = L_{\gamma,0} \oplus \hat{z}_{00} \Delta$$
119119

120120
接著這邊用了一個技巧: Let FreeXOR global $\Delta = \Delta_A$, 此處 $\Delta_A$ 是 generator $P_A$ 的 global authentication key.
121121

122-
$$= L_{\gamma,0} \oplus \^z_{00} \Delta_A$$
122+
$$= L_{\gamma,0} \oplus \hat{z}_{00} \Delta_A$$
123123

124-
為了不讓 generator 知道 $\^z$, 把它拆開成 $\^z = r + s$.
124+
為了不讓 generator 知道 $\hat{z}$, 把它拆開成 $\hat{z} = r + s$.
125125

126126
$$
127127
\begin{split}
@@ -140,7 +140,7 @@ $$
140140
\end{split}
141141
$$
142142
左邊給 generator, 右邊給 evaluator.<br>
143-
當 generator 把左邊送給 evaluator 時, evaluator 就可以還原出 $L_{\gamma,\^z_{00}}$.
143+
當 generator 把左邊送給 evaluator 時, evaluator 就可以還原出 $L_{\gamma,\hat{z}_{00}}$.
144144

145145
在 offline protocol (functionality $F_{Pre}$) 的幫助下, parties 可以得到這些 shares / keys / MACs, 進而算出 "authenticated" garbled table.
146146

0 commit comments

Comments
 (0)