author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Fri, 07 Nov 2014 09:01:30 +0000 | |
changeset 290 | 045e6ea00132 |
parent 289 | 71f52ad510c2 |
child 294 | 5e8ffb58bdaa |
permissions | -rw-r--r-- |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
1 |
\documentclass{article} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
2 |
\usepackage{../style} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
3 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
4 |
\begin{document} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
5 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
6 |
\section*{Handout 6 (Zero-Knowledge Proofs)} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
7 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
8 |
Zero-knowledge proofs (short ZKP) solve a paradoxical puzzle: |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
9 |
How to convince somebody else that one knows a secret, without |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
10 |
revealing what the secret actually is? This sounds like a |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
11 |
problem the Mad Hatter from Alice in Wonderland would occupy |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
12 |
himself with, but actually there some serious and not so |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
13 |
serious applications of it. For example, if you solve |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
14 |
crosswords with your friend, say Bob, you might want to |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
15 |
convince him that you found a solution for one question, but |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
16 |
of course you do not want to reveal the solution, as this |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
17 |
might give Bob an advantage somewhere else in the crossword. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
18 |
So how to convince Bob that you know the answer (or a secret)? |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
19 |
One way would be to come up with the following protocol: |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
20 |
Suppose the answer is \textit{folio}. Then look up the |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
21 |
definition of \textit{folio} in a dictionary. Say you find: |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
22 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
23 |
\begin{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
24 |
``an \textit{individual} leaf of paper or parchment, either |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
25 |
loose as one of a series or forming part of a bound volume, |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
26 |
which is numbered on the recto or front side only.'' |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
27 |
\end{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
28 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
29 |
\noindent |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
30 |
Take the first non-article word in this definition, |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
31 |
in this case \textit{individual}, and look up the definition |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
32 |
of this word, say |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
33 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
34 |
\begin{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
35 |
``a single \textit{human} being as distinct from a group'' |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
36 |
\end{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
37 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
38 |
\noindent |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
39 |
In this definition take the second non-article word, that |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
40 |
is \textit{human}, and again look up the definition of this |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
41 |
word. This will yield |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
42 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
43 |
\begin{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
44 |
``relating to \textit{or} characteristic of humankind'' |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
45 |
\end{quote} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
46 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
47 |
\noindent |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
48 |
You could go on to look up the definition of the third |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
49 |
non-article in this definition and so on. But let us assume |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
50 |
you agreed with Bob to stop after three iterations with the |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
51 |
third non-article word in the last definition, that is |
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
52 |
\textit{or}. Now, instead of sending to Bob the solution |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
53 |
\textit{folio}, you send to him \textit{or}. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
54 |
|
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
55 |
How can Bob verify that you know the solution? Well, once he |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
56 |
solved it himself, he can use the dictionary and follow the |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
57 |
same ``trail'' as you did. If the final word agrees with what |
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
58 |
you had sent him, he must infer you knew the solution earlier than |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
59 |
him. This protocol works like a one-way hash function because |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
60 |
\textit{or} does not give any hint as to what was the first |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
61 |
word was. I leave you to think why this protocol avoids |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
62 |
article words. |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
63 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
64 |
After Bob found his solution and verified that according to |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
65 |
the protocol it ``maps'' also to \textit{or}, can he be |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
66 |
entirely sure no cheating is going on? Not with 100\% |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
67 |
certainty. It could have been entirely possible that he was |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
68 |
given \textit{or} as the word, but it derived from an entirely |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
69 |
different word. This might seem very unlikely, but at |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
70 |
least theoretical is a possibility. Protocols based on |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
71 |
zero-knowledge proofs will produce a similar result---they |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
72 |
give an answer that might be erroneous in a very small number |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
73 |
of cases. The point is to iterate them long enough so that |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
74 |
the theoretical possibility of cheating is negligibly small. |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
75 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
76 |
By the way, the authors of the paper ``Dismantling Megamos |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
77 |
Crypto: Wirelessly Lockpicking a Vehicle Immobilizer'' who |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
78 |
were barred from publishing their results used also a hash to |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
79 |
prove they did the work and (presumably) managed to get into |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
80 |
cars without a key; see Figure~\ref{paper}. This is very |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
81 |
similar to the method about crosswords: They like to prove |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
82 |
that they did the work, but not giving out the ``solution''. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
83 |
But this also shows what the problem with such a method is: |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
84 |
yes, we can hide the secret temporarily, but if somebody else |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
85 |
wants to verify it, then the secret has to be made public. Bob |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
86 |
needs to know that \textit{folio} is the solution before he |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
87 |
can verify the claim that somebody else had the solution |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
88 |
first. Similarly with the paper: we need to wait until the |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
89 |
authors are finally allowed to publish their findings in order |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
90 |
to verify the hash. This might happen at some point, but |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
91 |
equally it might never happen (what for example happens if the |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
92 |
authors lose their copy of the paper because of a disk |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
93 |
failure?). Zero-knowledge proofs, in contrast, can be |
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
94 |
immediately checked, even if the secret is not public yet |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
95 |
and never will be. |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
96 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
97 |
\begin{figure} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
98 |
\begin{center} |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
99 |
\addtolength{\fboxsep}{4mm} |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
100 |
\fbox{\includegraphics[scale=0.4]{../pics/Dismantling_Megamos_Crypto.png}} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
101 |
\end{center} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
102 |
\caption{The authors of this paper used a hash in order to prove |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
103 |
later that they have managed to break into cars.\label{paper}} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
104 |
\end{figure} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
105 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
106 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
107 |
\subsubsection*{ZKP: An Illustrative Example} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
108 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
109 |
The idea behind zero-knowledge proofs is not very obvious and |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
110 |
will surely take some time for you to digest. Therefore let us |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
111 |
start with a simple illustrative example. The example will not |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
112 |
be perfect, but hopefully explain the gist of the idea. The |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
113 |
example is called Alibaba's cave, which graphically looks as |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
114 |
follows: |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
115 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
116 |
\begin{center} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
117 |
\begin{tabular}{c@{\hspace{8mm}}c@{\hspace{8mm}}c} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
118 |
\includegraphics[scale=0.1]{../pics/alibaba1.png} & |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
119 |
\includegraphics[scale=0.1]{../pics/alibaba2.png} & |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
120 |
\includegraphics[scale=0.1]{../pics/alibaba3.png} \\ |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
121 |
Step 1 & Step 2 & Step 3 |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
122 |
\end{tabular} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
123 |
\end{center} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
124 |
|
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
125 |
\noindent Let us take a closer look at the picture in Step 1: |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
126 |
The cave has a tunnel which forks at some point. Both forks |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
127 |
are connected in a loop. At the deep end of the loop is a |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
128 |
magic wand. The point of the magic wand is that Alice knows |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
129 |
the secret word for how to open it. She wants to keep the word |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
130 |
secret, but wants to convince Bob that she knows it. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
131 |
|
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
132 |
One way of course would be to let Bob follow her, but then he |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
133 |
would also find out the secret. This does not work. So let us |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
134 |
first fix the rules: At the beginning Alice and Bob are |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
135 |
outside the cave. Alice goes in alone and takes either tunnel |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
136 |
labelled $A$ in the picture, or the other one labelled $B$. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
137 |
She waits at the magic wand for the instructions from Bob, who |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
138 |
also goes into the gave and observes what happens at the fork. |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
139 |
He has no knowledge which tunnel Alice took and calls out |
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
140 |
(Step 2) that she should emerge from tunnel $A$, for example. |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
141 |
If she knows the secret for opening the wand, this will not be |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
142 |
a problem for Alice. If she was already in the A-segment of |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
143 |
the tunnel, then she just comes back. If she was in the |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
144 |
B-segment of the tunnel she will say the magic work and goes |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
145 |
through the wand to emerge from $A$ as requested by Bob. |
288
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
146 |
|
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
147 |
Let us have a look at the case where Alice cheats, that is not |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
148 |
knows the secret. She would still go into the cave and use, |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
149 |
for example the $B$-segment of the tunnel. If now Bob says she |
fd4bf1a2d38d
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
283
diff
changeset
|
150 |
should emerge from $B$, she was lucky. But if he says she |
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
151 |
should emerge from $A$ then Alice is in trouble: Bob will find |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
152 |
out she does not know the secret. So in order to fool Bob she |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
153 |
needs to anticipate his call, and already go into this tunnel. |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
154 |
This of course also does not work. |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
155 |
|
289
71f52ad510c2
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
288
diff
changeset
|
156 |
\subsubsection*{Using an Graph-Isomorphism Problem for ZKPs} |
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
157 |
|
290
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
158 |
\subsubsection*{Using Modular Arithmetic for ZKP} |
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
159 |
|
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
160 |
|
045e6ea00132
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
289
diff
changeset
|
161 |
|
283
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
162 |
\end{document} |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
163 |
|
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
164 |
%%% Local Variables: |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
165 |
%%% mode: latex |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
166 |
%%% TeX-master: t |
40511897fcc4
updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff
changeset
|
167 |
%%% End: |