Skip to content

Commit 0b3e108

Browse files
committed
Adapts slides for SWITS presentation
1 parent 073a3f9 commit 0b3e108

File tree

2 files changed

+101
-63
lines changed

2 files changed

+101
-63
lines changed

slides/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FIGS+= tposet.tikz
1+
FIGS+= trump.jpg
22
FIGS+= proofshare.tikz
33
FIGS+= Jacobs-method.jpg
44

@@ -24,7 +24,7 @@ DEPENDS+= ecurrency.bib
2424
.PHONY: all
2525
all: slides-short.pdf
2626

27-
slides-short.pdf: slides-short.tex preamble.tex ${DEPENDS} ${FIGS}
27+
slides-short.pdf: slides-short.tex preamble.tex revision.tex ${DEPENDS} ${FIGS}
2828
slides-short.pdf: idea.tex
2929

3030
preamble.tex: ../paper/preamble.tex
@@ -46,7 +46,7 @@ clean:
4646
print: slides-short.pdf
4747

4848

49-
tposet.tikz: ../fig/tposet.tikz
49+
trump.jpg: ../fig/trump.jpg
5050
proofshare.tikz: ../fig/proofshare.tikz
5151
Jacobs-method.jpg: ../fig/Jacobs-method.jpg
5252

slides/idea.tex

Lines changed: 98 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
\mode*
22

3+
\section{What's the problem?}
4+
5+
\begin{frame}
6+
\centering
7+
\includegraphics[height=\textheight]{trump.jpg}
8+
\end{frame}
9+
10+
311
\section[Participating]{Participating in a protest}
412

513
\subsection{Joining a protest}
@@ -9,13 +17,6 @@ \subsection{Joining a protest}
917
\includegraphics[height=0.5\textheight]{ProtestVerif-join.png}
1018
\end{frame}
1119

12-
\begin{frame}
13-
\begin{align*}
14-
cid &\gets H(\text{\enquote{WE MUST STAND UP \dots}}) \\
15-
pid &\gets PRF_{k_P}(cid)
16-
\end{align*}
17-
\end{frame}
18-
1920
\subsection{During in a protest}
2021

2122
\begin{frame}
@@ -28,60 +29,13 @@ \subsection{During in a protest}
2829
\includegraphics{proofshare.tikz}
2930
\end{frame}
3031

31-
\begin{frame}
32-
\begin{minipage}{\linewidth}
33-
\begin{align*}
34-
P\to W\colon & pid \\
35-
W\leftrightarrow P\colon & \text{perform distance bounding} \\
36-
W\colon & wid\gets PRF_{k_W}(pid), \\
37-
& wsig\gets PRF_{k_W}(wid, t_s, l) \\
38-
W\to P\colon & (wid, t_s, l, wsig) \\
39-
\end{align*}
40-
\end{minipage}
41-
\end{frame}
42-
43-
\begin{frame}
44-
% XXX Describe distance bounding
45-
\centering
46-
\procedure{Distance-bounding Schnorr}{%
47-
\textbf{Prover}\colon g, q = |\langle g\rangle|, x\in \ZZ_q
48-
\> \>
49-
\textbf{Verifier}\colon g, q, X = g^x \\
50-
\beta_i \sample \bin, y \sample \ZZ_q
51-
\> \> \alpha_i \sample \bin \\
52-
g^y, commit(\beta_1, \dotsc, \beta_n) \> \sendmessageright*{} \> \\
53-
\> \text{Rapid phase} \> \\
54-
\> \sendmessageleft*{\alpha_i} \> \\
55-
\> \sendmessageright*{\beta_i} \> \\
56-
\> \text{Verification phase} \> \\
57-
c\gets \alpha_1|\beta_2|\dotsb|\alpha_n|\beta_n \\
58-
r\gets y + cx \> \sendmessageright*{} \> g^r =^? X^cY\\
59-
}
60-
\end{frame}
61-
6232
\subsection{After the protest}
6333

6434
\begin{frame}
6535
\centering
6636
\includegraphics[height=0.5\textheight]{ProtestVerif-endprotest.png}
6737
\end{frame}
6838

69-
\begin{frame}
70-
\begin{align*}
71-
\{W, P\}\rightsquigarrow S\colon & H(pid, wid, t_s, l, wsig)
72-
\end{align*}
73-
\end{frame}
74-
75-
\begin{frame}
76-
\begin{align*}
77-
W\rightsquigarrow S\colon & (pid, wid, t_s, l, wsig),\\
78-
& NIZK(wid = PRF_{k_W}(pid), wsig = PRF_{k_W}(wid, t_s, l),\\
79-
& \exists sign(k_W)) \\
80-
P\rightsquigarrow S\colon & (pid, wid, t_s, l, wsig),\\
81-
& NIZK(pid = PRF_{k_P}(cid), \exists sign(k_P))
82-
\end{align*}
83-
\end{frame}
84-
8539

8640
\section[Verifying]{Verifying a protest}
8741

@@ -94,7 +48,7 @@ \subsection{Verifying proof shares}
9448

9549
\begin{frame}
9650
\begin{columns}
97-
\begin{column}{0.5\linewidth}
51+
\begin{column}{0.6\linewidth}
9852
\tiny
9953
\includegraphics[width=\linewidth]{proofshare.tikz}
10054
\end{column}
@@ -113,11 +67,20 @@ \subsection{Verifying proof shares}
11367
\subsection{Counting proofs}
11468

11569
\begin{frame}
116-
\begin{itemize}
117-
\item Each \(pid\) with more than \(t\) valid proof shares is counted.
118-
\item \(t\) is a threshold set to be higher than expected size of collusion
119-
clusters.
120-
\end{itemize}
70+
\begin{example}[No trusted witnesses]
71+
\begin{itemize}
72+
\item Each \(pid\) with more than \(t\) valid proof shares is counted.
73+
\item \(t\) is a threshold set to be higher than expected size of collusion
74+
clusters.
75+
\end{itemize}
76+
\end{example}
77+
78+
\begin{example}[Trusted witnesses]
79+
\begin{itemize}
80+
\item Alternatively, each \(\pid\) with a proof share issued by a trusted
81+
witness is counted.
82+
\end{itemize}
83+
\end{example}
12184
\end{frame}
12285

12386
\begin{frame}
@@ -127,13 +90,88 @@ \subsection{Counting proofs}
12790
\end{frame}
12891

12992

93+
\begin{figure}
94+
\centering
95+
%\footnotesize
96+
\begin{minipage}{\linewidth}
97+
\begin{align*}
98+
O\to \text{all}\colon & \text{manifesto} \\
99+
P\colon & t_s\gets \TSget \\
100+
& \cid\gets \Hash[\text{manifesto}], \\
101+
& \pid\gets \ACprf[_{\sk_P}][\cid] \\
102+
W\colon & t_s'\gets \TSget
103+
\\[-1em]
104+
\noalign{\hfill Join}
105+
\midrule
106+
\noalign{\hfill Participation}
107+
\\[-3em]
108+
P\to W\colon & \pid \\
109+
P\leftrightarrow W\colon &
110+
\PPK\mleft\{ (\sk_P) : \mright. \\
111+
& \qquad \pid = \ACprf[_{\sk_P}][\cid], \\
112+
& \qquad \mleft. \sigma_P' = \ACblind[\ACsign[_{\ssk}][\sk_P]] \mright\}
113+
\\
114+
W\colon & \wid\gets \ACprf[_{\sk_W}][\pid] \\
115+
W\to P\colon & (\wid, t_s', l)
116+
\\[-1em]
117+
\noalign{\hfill Participation}
118+
\midrule
119+
\noalign{\hfill Submission}
120+
\\[-2em]
121+
P\colon & t_e\gets \TSstamp[\Hash[\pid, \wid, t_s, t_s', l]] \\
122+
W\colon & t_e'\gets \TSstamp[\Hash[\pid, \wid, t_s, t_s', l]] \\
123+
W\to S\colon & (\pid, \wid, t_s, t_s', t_e, l, \pi_{\wid}),\quad
124+
\text{where} \\
125+
& \pi_{\wid} = \SPK\mleft\{ (\sk_W) : \mright. \\
126+
& \qquad \wid = \ACprf[_{\sk_W}][\pid], \\
127+
& \qquad \mleft. \sigma_W' = \ACblind[\ACsign[_{\ssk}][\sk_W]]\mright\}
128+
\\
129+
& \qquad\qquad (\pid, \wid, t_s, t_s', l) \\
130+
P\to S\colon & (\cid, \pid, \wid, t_s, t_s', t_e, l, \pi_{\pid}),\quad
131+
\text{where}\\
132+
& \pi_{\pid} = \SPK\mleft\{ (\sk_P) : \mright. \\
133+
& \qquad \pid = \ACprf[_{\sk_P}][\cid], \\
134+
& \qquad \mleft. \sigma_P' = \ACblind[\ACsign[_{\ssk}][\sk_P]] \mright\}
135+
\\
136+
& \qquad\qquad (\cid, \pid, \wid, t_s, t_s', l)
137+
\end{align*}
138+
\end{minipage}
139+
\caption{%
140+
An overview of the Join, Participation and Submission phases of \PRIVO.\@
141+
The organizer \(O\) broadcasts the manifesto.
142+
The protester \(P\), witness \(W\) and their computations are as in \cref{fig:ProofFig}.
143+
Finally, both \(P\) and \(W\) submits the proof shares to a permanent storage \(S\).
144+
}%
145+
\label{fig:ProtocolOverview}
146+
\end{figure}
147+
130148
\section{Conclusions}
131149

132150
\begin{frame}
151+
\begin{block}{Contributions}
152+
\begin{itemize}
153+
\item Distance-bounding Schnorr protocol
154+
\item \Ie distance-bounding \acs{ZKP} and anonymous credentials
155+
\item Solves crowd counting in adversarial setting.
156+
\end{itemize}
157+
\end{block}
158+
\end{frame}
159+
160+
\begin{frame}
161+
\begin{greenblock}{Possibilities}
162+
\begin{itemize}
163+
\item We can implement this by extending BankID.
164+
\item There are blockchains (ledgers) with reasonable transaction
165+
throughput, \eg OmniLedger.
166+
\end{itemize}
167+
\end{greenblock}
168+
133169
\begin{alertblock}{Limits}
134170
\begin{itemize}
135171
\item Cannot trust results that are pro-government if government issues
136172
credentials (Sybil).
173+
174+
\item Requires a chip in smartphones for distance bounding.
137175
\end{itemize}
138176
\end{alertblock}
139177
\end{frame}

0 commit comments

Comments
 (0)