📕 subnode [[@s5bug/non local box]]
in 📚 node [[non-local-box]]
Non-Local Box
- [[quantum-computing]]
- $
\begin{bmatrix} \frac{1}{2} & \frac{1}{2} & \frac{1}{2} & 0 \\ 0 & 0 & 0 & \frac{1}{2} \\ 0 & 0 & 0 & \frac{1}{2} \\ \frac{1}{2} & \frac{1}{2} & \frac{1}{2} & 0 \end{bmatrix}$ - the above matrix is an NLB s.t. $
a \oplus b$ = $x \wedge y$ -
if Alice holds A and X and Bob holds B and Y, then for each user the probability of each output is $
\frac{1}{2}$- from both players' PoV, their output (A and B respectively) is purely random, regardless of X and Y
- we assume that no communication was involved, i.e. Alice learns nothing about Y or B and Bob learns nothing about X or A
-
[[cryptography]]
- NLBs can be used to solve the [[socialist-millionaires-problem]]
- $
f : \left\{0,1\right\}^n \times \left\{0,1\right\}^n \to \left\{0,1\right\}$ -
we have the polynomials on bits
- $
\mathsf{And} = x \cdot y$ - $
\mathsf{Or} = x + y + x \cdot y$ - $
\mathsf{Not} = 1 + x$
- $
-
any function on bits can be decomposed into a sum of monomials $
f\left(x,y\right) = \sum_{i=1}^{2^n} P_i\left(x\right) \cdot Q_i\left(y\right)$- $
2^n$ because each possible combination of $x$ has only one monomial in $y$ - this is the [[fourier-tranform]] somehow? it's related to [[fourier-spectra]]?
- $
-
notably, Alice can compute all $
P_i$ to get a bitstring $\alpha$ and Bob can compute all $Q_i$ to get a bitstring $\beta$- these bitstrings are exponentially long ($
2^n$ bits instead of $n$ bits)
- these bitstrings are exponentially long ($
- this makes $
f = \sum\alpha_i \cdot \beta_i = \vec{\alpha} \cdot \vec{\beta}$ - now we apply the NLB: we want to turn the dot product of our single bit into a parity
-
if we have $
\left(a_1,b_1\right) = \operatorname{NLB}_{\mathsf{And}}\left(\alpha_1,\beta_1\right)$ and $\left(a_2,b_2\right) = \operatorname{NLB}_{\mathsf{And}}\left(\alpha_2,\beta_2\right)$, then the dot product $\alpha \cdot \beta$ can be rewritten- $
\alpha_1 \beta_1 + \alpha_2 \beta_2$ - $
a_1 \oplus b_1 + a_2 \oplus b_2$ - $
a_1 + b_1 + a_2 + b+2$ - $
\left(a_1 \oplus a_2\right) + \left(b_1 \oplus b_2\right)$
- $
-
we can do the NLB exponentially-many times to get $
\vec{a}$ and $\vec{b}$- this prevents either party from learning anything about the original $
\vec{\alpha}$ or $\vec{\beta}$
- this prevents either party from learning anything about the original $
-
we then do local computation following the rewrite rule for dot products
- $
r = \bigoplus \vec{a}$ - $
s = \bigoplus \vec{b}$
- $
- and we just need Bob to send $
s$ to Alice, and she computes $r \oplus s$, and now she knows $f\left(x,y\right)$ without learning $y$
-
three party case (real implementation)
- promise that $
x + y + z \equiv 0 \mod 2$ - for an input $
000$, the output is $000$ or $011$ or $101$ or $110$ - for the other three inputs, the output is $
001$ or $010$ or $100$ or $111$ -
for each party,
- if they start with a 0, apply [[hadamard-gate]] and measure
- if they start with a 1, phase by $
i$ and measure
- the parity of the output result reveals the And
- promise that $
📖 stoas
- public document at doc.anagora.org/non-local-box
- video call at meet.jit.si/non-local-box