-
Notifications
You must be signed in to change notification settings - Fork 2
/
4elemproofAarhus2019.tex
384 lines (269 loc) · 10.2 KB
/
4elemproofAarhus2019.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
\documentclass[shadesubsections,trans,14pt,mathserif]{beamer}
\usepackage[danish]{babel}
%\usepackage[T1]{fontenc}
%\usepackage{fourier}
% Dokumentets sprog
%\usepackage{mathtools}
%\usepackage{pxfonts}
\usepackage{eulervm}
% Class options include: notes, notesonly, handout, trans,
% hidesubsections, shadesubsections,
% inrow, blue, red, grey, brown
% Theme for beamer presentation.
%\usepackage{beamertheme}
% Other themes include: beamerthemebars, beamerthemelined,
% beamerthemetree, beamerthemetreebars
\newcommand{\adv}{\ensuremath{\mathcal A}}
\newcommand{\F}{\ensuremath{\mathbb F}}
\newcommand{\set}[1]{\ensuremath{\left\{#1\right\}}}
\title{\LARGE{On knowledge assumptions in recent zk-SNARK constructions}} % Enter your title between curly braces
\author{\Large{Ariel Gabizon}} % Enter your name between curly braces
\institute{\normalsize{Protocol Labs}} % Enter your institute name between curly braces
\date{} % Enter the date or \today between curly braces
%\usefonttheme{professionalfonts}
%\usefonttheme[onlymath]{serif}
\begin{document}
\boldmath
% Creates title page of slide show using above information
\begin{frame}
\titlepage
\end{frame}
\note{Talk for 30 minutes} % Add notes to yourself that will be displayed when
% typeset with the notes or notesonly class options
%\section[Outline]{}
% Creates table of contents slide incorporating
% all \section and \subsection commands
%\begin{frame}
%\tableofcontents
%\end{frame}
\begin{frame}
\frametitle{Knowledge assumptions:} % Insert frame title between curly braces
\textbf{Standard crypto assumption} - you can't do $X$\\
\vspace{0.4in}
\textbf{Knowledge assumption} - if you did $X$, you must have did it in way $Y$.
\vspace{0.4in}
\end{frame}
\begin{frame}
\frametitle{Basic Knowledge of Exponent Assumption (Damg{\aa}rd 91)} % Insert frame title between curly braces
$\adv$ is given $(g,g^\alpha)$ for uniform $\alpha \in \F$.\\
\vspace{0.4in}
Challenged to make a new pair of ``ratio $\alpha$'' $(g^c,g^{\alpha c})$.
\vspace{0.4in}
\textbf{KEA:} If $\adv$ succeeds then he ``knows'' $c$.
\end{frame}
\begin{frame}
Suppose $\adv$ is given $(g,g^x,g^\alpha,g^{\alpha \cdot x})$.\\
\vspace{0.4in}
Can output $(g^c,g^{\alpha\cdot c})$ for $c=c_1 + c_2\cdot x$.
\end{frame}
\begin{frame}
\frametitle{$d$-power KEA (Groth,10)} % Insert frame title between curly braces
Given $(g,g^x,\ldots, g^{x^d},g^\alpha,g^{\alpha\cdot x},\ldots,g^{\alpha\cdot x^d})$ for uniform $\alpha,x \in \F$.\\
\vspace{0.3in}
If $\adv$ produces $(g^c,g^{\alpha c})$,
then he ``knows'' polynomial $A$ of degree $\leq d$ with
$c=A(x)$.
\end{frame}
\begin{frame}
\frametitle{$d$-power KEA (Groth,10)} % Insert frame title between curly braces
Given $(g,g^x,\ldots, g^{x^d},g^\alpha,g^{\alpha\cdot x},\ldots,g^{\alpha\cdot x^d})$ for uniform $\alpha,x \in \F$.\\
\vspace{0.3in}
If $\adv$ produces $(g^c,g^{\alpha c})$,
then he ``knows'' polynomial $A$ of degree $\leq d$ with
$c=A(x)$.\\
\vspace{0.4in}
\emph{Enables ``blind verifiable polynomial evaluation'' in SNARKs}
\end{frame}
\begin{frame}
\frametitle{Abstracting and Generalizing KEA}
\begin{itemize}
\item $[x]:=g^x$ - \textbf{encoding} of $x$.
\vspace{0.3in}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Abstracting and Generalizing KEA}
\begin{itemize}
\item $[x]:=g^x$ - \textbf{encoding} of $x$.
\vspace{0.3in}
\item Challenge Equation: $Y_2=\alpha\cdot Y_1$.
\vspace{0.3in}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Abstracting and Generalizing KEA}
\begin{itemize}
\item $[x]:=g^x$ - \textbf{encoding} of $x$.
\vspace{0.3in}
\item Challenge Equation: $Y_2=\alpha\cdot Y_1$.
\vspace{0.3in}
\item Base set: $\set{1,x,\ldots,x^d,\alpha,\alpha\cdot x,\ldots,\alpha\cdot x^d}$
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Abstracting and Generalizing KEA}
\begin{itemize}
\item $[x]:=g^x$ - \textbf{encoding} of $x$.
\vspace{0.2in}
\item Challenge Equation: $Y_2=\alpha\cdot Y_1$.
\vspace{0.2in}
\item Base set: $\set{1,x,\ldots,x^d,\alpha,\alpha\cdot x,\ldots,\alpha\cdot x^d}$
\end{itemize}
\vspace{0.3in}
\textbf{Generic Assumption:} \emph{Given encoded challenge set, if $\adv$ outputs encodings of $c,c'$ satisfying challenge equation;\\
Then he knows to write $c,c'$ as linear combination of base set s.t. equation holds as pol. identity in $\alpha$.}
\end{frame}
\begin{frame}
\frametitle{Keep the equation, change the challenge set}
\[\alpha_1 \cdot Y_1 = Y_{2}\]
\vspace{0.3in}
\[\set{u_i(x),\alpha\cdot u_i(x)},\]
for specific polys $u_i(X)$\\
\end{frame}
\begin{frame}
\frametitle{Keep the equation, change the challenge set}
\[\alpha_1 \cdot Y_1 = Y_{2}\]
\vspace{0.3in}
Base set:
\[\set{u_i(x),\alpha\cdot u_i(x)},\]
for specific polys $u_i(X)$\\
\vspace{0.3in}
\emph{Intuition: allows to check $c$ is combination of these specific polynomials evaluted at $x$}
%
% \begin{lemma}
% Doesn't lead to stronger assumption than two-variable version
% \end{lemma}
\end{frame}
% \begin{frame}
% \frametitle{Mutli-variate challenge equations}
%
% \[\alpha_1 \cdot Y_1 + \ldots + \alpha_t \cdot Y_t = Y_{t+1}\]
% \vspace{0.3in}
%
% \begin{lemma}
% Doesn't lead to stronger assumption than two-variable version
% \end{lemma}
%
%
% \emph{Intuition: allows to batch-verify many blind evaluations}
%
% \end{frame}
%
\begin{frame}
\frametitle{Quadratic equation assumptions [Implicit in Groth, 2016]}
\[Y_1\cdot Y_2= \alpha\beta + \delta \cdot Y_{3}\]
\vspace{0.3in}
%[Groth,2016] zk-SNARK in GG model (implicitly) based on assumption from this equation.
Base set: $\set{\beta\cdot u_i(X),\alpha\cdot v_i(X), w_i(X),
\frac{\beta \cdot u_i+\alpha\cdot v_i+w_i}{\delta}}$
\vspace{0.3in}
\end{frame}
\begin{frame}
\frametitle{Quadratic equation assumptions [Implicit in Groth, 2016]}
\[Y_1\cdot Y_2= \alpha\beta + \delta \cdot Y_{3}\]
\vspace{0.3in}
%[Groth,2016] zk-SNARK in GG model (implicitly) based on assumption from this equation.
Base set: $\set{\beta\cdot u_i(X),\alpha\cdot v_i(X), w_i(X),
\frac{\beta \cdot u_i+\alpha\cdot v_i+w_i}{\delta}}$
\vspace{0.3in}
\emph{Intuition: allows to check at once three proof elements are the same combination of three sets of polynomials }
\end{frame}
\begin{frame}
\textbf{Generic Group Model:}
$\adv$ can only generate new elements via natural group operations.\\
\vspace{0.3in}
% \textbf{Algebraic Group Model [Fuchsbauer, Kiltz, Loss]:}
% $\adv$ can generate arbitrary new elements, but must then
\begin{definition}
A ``low-degree world'' is one where all information seen by $\adv$ is encodings of uniform inputs evaluated at low-degree polynomials.
\end{definition}
\end{frame}
\begin{frame}
\vspace{0.3in}
\begin{lemma}[implicit - Groth, 2016]
In a low-degree world, generic assumption holds for any polynomial-degree challenge equation and challenge set.
\end{lemma}
\end{frame}
\begin{frame}
\frametitle{``Asymmetric'' assumptions [Groth-Maller, 2017]:}
Use trivial equation
\[Y_1=Y_2,\]
but require encoding in distinct groups with no homomorphism.
\end{frame}
\begin{frame}
\frametitle{``Asymmetric'' assumptions [Groth-Maller, 2017]:}
\textbf{[GM]:}Using circuits with squaring instead of mult. gives simulation-extractable zk-SNARKs as small as [Groth,2016] - 3 group elements.
\vspace{0.3in}
\emph{However, prover computations significantly larger than [Groth,2016] cause of move to squarings}
\end{frame}
\begin{frame}
\textbf{New result:}
Assuming only $d-PKE$.
zk-SNARK with $4$-group element proofs; prover run time close to [Groth,2016]\\
Same num. of $G_2$ operations. $n$ more $G_1$ operations.\\
$n$= num. of mult gates.
\end{frame}
\begin{frame}
\frametitle{Result based on multivariate challenge equation:}
\[\alpha_1 \cdot Y_1 + \ldots + \alpha_t \cdot Y_t = Y_{t+1}\]
\vspace{0.3in}
\emph{Intuition: can allow to verify many blind evaluations with one extra element}
\end{frame}
% \begin{frame}
% \frametitle{Result based on:}
% \begin{lemma}
% Assumption from multivariate
% \[\alpha_1 \cdot Y_1 + \ldots + \alpha_t \cdot Y_t = Y_{t+1}\]
% not stronger than bi-variate version.
% \end{lemma}
%
%
% \end{frame}
%
%
\begin{frame}
\begin{lemma}
Assumption from multivariate
\[\alpha_1 \cdot Y_1 + \ldots + \alpha_t \cdot Y_t = Y_{t+1}\]
not stronger than bi-variate version.
\end{lemma}
\end{frame}
%
% \begin{lemma}
% Doesn't lead to stronger assumption than two-variable version
% \end{lemma}
%
% \subsection{Simple slide with three points shown in succession}
%
% \begin{frame}
% \frametitle{Simple slide with three points shown in succession} % Insert frame title between curly braces
%
% \begin{itemize}
% \item<1-> Point 1 (Click ``Next Page'' to see Point 2) % Use Next Page to go to Point 2
% \item<2-> Point 2 % Use Next Page to go to Point 3
% \item<3-> Point 3
% \end{itemize}
% \end{frame}
% \note{Speak clearly} % Add notes to yourself that will be displayed when
% % typeset with the notes or notesonly class options
%
%
% \section{Slide with two columns: items and a graphic}
%
% \begin{frame}
% \frametitle{Slide with two columns: items and a graphic} % Insert frame title between curly braces
% \begin{columns}[c]
% \column{2in} % slides are 3in high by 5in wide
% \begin{itemize}
% \item<1-> First item
% \item<2-> Second item
% \item<3-> ...
% \end{itemize}
% \column{2in}
% \framebox{Insert graphic here % e.g. \includegraphics[height=2.65in]{graphic}
% }
% \end{columns}
% \end{frame}
% \note{The end} % Add notes to yourself that will be displayed when
% % typeset with the notes or notesonly class options
\end{document}