Skip to content

Commit bf26023

Browse files
committed
Merge branch 'update-slides'
2 parents e943e05 + 6062d85 commit bf26023

File tree

5 files changed

+124
-127
lines changed

5 files changed

+124
-127
lines changed

slides/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ ProtestVerif-participating.png
2020
ProtestVerif-verified.png
2121
ProtestVerif-verifying.png
2222

23+
preamble.tex
24+
revision.tex

slides/Makefile

+14-3
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

@@ -8,6 +8,7 @@ FIGS+= ProtestVerif-endprotest.png
88
FIGS+= ProtestVerif-verifying.png
99
FIGS+= ProtestVerif-verified.png
1010
FIGS+= ProtestVerif-UN.png
11+
FIGS+= map-with-dots.png
1112

1213
DEPENDS+= bibsp.sty
1314
DEPENDS+= crypto.bib
@@ -24,22 +25,29 @@ DEPENDS+= ecurrency.bib
2425
.PHONY: all
2526
all: slides-short.pdf
2627

27-
slides-short.pdf: slides-short.tex ${DEPENDS} ${FIGS}
28+
slides-short.pdf: slides-short.tex preamble.tex revision.tex ${DEPENDS} ${FIGS}
2829
slides-short.pdf: idea.tex
2930

31+
preamble.tex: ../paper/preamble.tex
32+
revision.tex: ../paper/revision.tex
33+
34+
preamble.tex revision.tex:
35+
${LN} $< $@
36+
3037

3138
.PHONY: clean
3239
clean:
3340
${MAKE} -C ../art clean
3441
${RM} slides-full.pdf slides-short.pdf
3542
${RM} ${FIGS}
43+
${RM} preamble.tex revision.tex
3644

3745

3846
.PHONY: print
3947
print: slides-short.pdf
4048

4149

42-
tposet.tikz: ../fig/tposet.tikz
50+
trump.jpg: ../fig/trump.jpg
4351
proofshare.tikz: ../fig/proofshare.tikz
4452
Jacobs-method.jpg: ../fig/Jacobs-method.jpg
4553

@@ -50,6 +58,9 @@ ProtestVerif-verified.png: ../art/ProtestVerif-verified.png
5058
ProtestVerif-verifying.png: ../art/ProtestVerif-verifying.png
5159
ProtestVerif-UN.png: ../art/ProtestVerif-UN.png
5260

61+
map-with-dots.png:
62+
curl -o $@ https://i.amz.mshcdn.com/IXXVklwgW0nwbCXSJb1tWHLx2H4=/fit-in/1200x9600/http%3A%2F%2Fmashable.com%2Fwp-content%2Fuploads%2F2014%2F05%2FScreen-Shot-2014-05-01-at-3.56.31-PM.png
63+
5364
${FIGS}:
5465
${LN} $< $@
5566

slides/idea.tex

+103-71
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

@@ -93,31 +47,41 @@ \subsection{After the protest}
9347
\subsection{Verifying proof shares}
9448

9549
\begin{frame}
50+
\vspace{-2em}
51+
\begin{center}
52+
\((\cid, \pid, \wid, t_s, t_s', l, \pi_P, \pi_W)\) on blockchain.
53+
\end{center}
54+
55+
\pause
56+
9657
\begin{columns}
97-
\begin{column}{0.5\linewidth}
58+
\begin{column}{0.6\linewidth}
9859
\tiny
9960
\includegraphics[width=\linewidth]{proofshare.tikz}
10061
\end{column}
10162

10263
\begin{column}{0.5\linewidth}
103-
\begin{itemize}
64+
\begin{enumerate}
10465
\item Check that \(cid\) is what you're interested in.
66+
67+
\pause
68+
10569
\item Verify the \ac{NIZK} proofs.
106-
\item Each \(PRF\) is computed correctly.
70+
71+
\pause
72+
73+
\item Each \(\ACprf\) is computed correctly.
10774
\item The owner knows a signature on the key used.
108-
\end{itemize}
75+
\end{enumerate}
10976
\end{column}
11077
\end{columns}
11178
\end{frame}
11279

11380
\subsection{Counting proofs}
11481

11582
\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}
83+
\centering
84+
\includegraphics[width=\linewidth]{map-with-dots.png}
12185
\end{frame}
12286

12387
\begin{frame}
@@ -127,22 +91,90 @@ \subsection{Counting proofs}
12791
\end{frame}
12892

12993

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

132151
\begin{frame}
133-
\begin{alertblock}{Limits}
152+
\begin{block}{Contributions}
134153
\begin{itemize}
135-
\item Cannot trust results that are pro-government if government issues
136-
identities (Sybil).
154+
\item Distance-bounding Schnorr protocol
155+
\item \Ie distance-bounding \acs{ZKP} and anonymous credentials
156+
\item Solves crowd counting in adversarial setting.
157+
\end{itemize}
158+
\end{block}
159+
\end{frame}
137160

138-
\pause{}
161+
\begin{frame}
162+
\begin{greenblock}{Possibilities}
163+
\begin{itemize}
164+
\item We can implement this by extending BankID.
165+
\item There are blockchains (ledgers) with reasonable transaction
166+
throughput, \eg OmniLedger.
167+
\end{itemize}
168+
\end{greenblock}
139169

140-
\item If \emph{everyone} colludes we cannot verify the location.
170+
\pause
141171

142-
\pause{}
172+
\begin{alertblock}{Limits}
173+
\begin{itemize}
174+
\item Cannot trust results that are pro-government if government issues
175+
credentials (Sybil).
143176

144-
\item No terrorist-fraud resistance: some people can still stay at home,
145-
and relay responses to distance-bounding challenges.
177+
\item Requires a chip in smartphones for distance bounding.
146178
\end{itemize}
147179
\end{alertblock}
148180
\end{frame}

slides/preamble.tex

-39
This file was deleted.

slides/slides-short.tex

+5-14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
%\documentclass[handout,ignorenonframetext]{beamer}
33
%\usepackage{pgfpages}
44
%\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm]
5+
\usepackage[utf8]{inputenc}
56

67
\usetheme{Berlin}
78
\setbeamercovered{transparent}
@@ -37,20 +38,9 @@
3738
\input{preamble.tex}
3839
\input{preamble-slides.tex}
3940

40-
\title[PRIVO\@: securely and PRIVately Verificable PROtests]{%
41-
PR$^{^{\text{I}}\text{V}^{\text{ately}}_\text{erifiable}}_{\text{Otests}}$%
42-
%PRIVO\@:
43-
%SPRIVO\@:
44-
%Securely and Privately Verifying Protests
45-
%securely and PRIvately Verifiable PROtests
46-
%Verifying Protests
47-
%Verifying Demonstrations
48-
%Verifying Real-World Protests
49-
%Verifying Physical Protests
50-
\thanks{%
51-
An initial discussion of this work appeared in
52-
\citetitle{FutureProtests}~\cite{FutureProtests}.
53-
}
41+
\title[\PRIVO]{%
42+
From grassroots to \PRIVO: privacy-preserving CROwd Counting Using
43+
Smartphones and distance-bounding anonymous credentials
5444
}
5545

5646
\author[D.~Bosk et al. <[email protected]>]{%
@@ -68,6 +58,7 @@
6858
\inst{2} Université de Quebec à Montreal\\
6959
7060
}
61+
\date{SWITS 2018}
7162

7263
\begin{document}
7364
\begin{frame}

0 commit comments

Comments
 (0)