
diff -r 6f884231ca57 -r ab38ed748930 slides/slides09.tex
--- a/slides/slides09.tex	Tue Dec 03 03:20:42 2013 +0000
+++ b/slides/slides09.tex	Tue Dec 03 13:18:10 2013 +0000
@@ -67,6 +67,87 @@
 \end{frame}}
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Review: Proofs}
+
+Modify the formula
+\begin{center}
+\begin{tabular}{l}
+\bl{$P\;\textit{controls}\;\textit{Permitted}(O, \textit{write})$}\\
+\end{tabular}
+\end{center}
+using security levels so that it satisfies the {\it write rule} from the {\it
+Bell-LaPadula} access policy.\bigskip 
+
+Do the same again, but satisfy the {\it write rule}
+from the {\it Biba} access policy.
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Review: Proofs}
+
+Assume two security levels \bl{$\textit{S}$} and \bl{$\textit{TS}$}, 
+which are ordered so that \bl{$slev(\textit{S}) < slev(\textit{TS})$}. 
+Assume further the substitution rules
+\begin{center}
+\bl{\begin{tabular}{@{}c@{}}
+$\Gamma \vdash slev(P) = l_1$ \hspace{2mm} $\Gamma \vdash slev(Q) = l_2$
+\hspace{2mm} $\Gamma \vdash l_1 < l_2$\\\hline
+$\Gamma \vdash slev(P) < slev(Q)$
+\end{tabular}}
+\end{center}
+
+\begin{center}
+\bl{\begin{tabular}{c}
+$\Gamma \vdash slev(P) = l$ \hspace{4mm} $\Gamma \vdash slev(Q) = l$\\\hline
+$\Gamma \vdash slev(P) = slev(Q)$
+\end{tabular}}
+\end{center}
+
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Review: Proofs}\small
+
+Let \bl{$\Gamma$} be the set containing the following six formulas
+\begin{center}
+\bl{\begin{tabular}{@{}l@{}}
+$slev(\textit{S}) < slev(\textit{TS})$\smallskip\\
+$slev(\textit{Agent}) = slev(\textit{TS})$\smallskip\\
+$slev(\textit{File}_1) = slev(\textit{S})$\smallskip\\
+$slev(\textit{File}_2) = slev(\textit{TS})$\smallskip\\
+$\forall O.\;slev(O) < slev(\textit{Agent}) \Rightarrow$\\ 
+\hspace{30mm}$(\textit{Agent}\;\textit{controls}\;\textit{Permitted}(O, \textit{read}))$\smallskip\\
+$\forall O.\;slev(O) = slev(\textit{Agent}) \Rightarrow$\\ 
+\hspace{30mm}$(\textit{Agent}\;\textit{controls}\;\textit{Permitted}(O, \textit{read}))$\\
+\end{tabular}}
+\end{center}
+Using the inference rules of access-control logic and the substitution rules shown above,
+give proofs for the two judgements
+\begin{center}
+\bl{\begin{tabular}{@{}l@{}}
+$\Gamma \vdash
+(\textit{Agent}\;\textit{says}\;\textit{Permitted}(\textit{File}_1,
+\textit{read})) \Rightarrow$\\
+\hspace{50mm}$\textit{Permitted}(\textit{File}_1, \textit{read})$\\
+\end{tabular}}
+\end{center}
+
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
+
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \mode<presentation>{
@@ -100,7 +181,7 @@
 \end{itemize}\bigskip\bigskip
 
 \only<7->{
-hash functions...but Bob can only check once he has also the solution
+this is essentially a hash function...but Bob can only check once he has also found the solution
 }
 
 \end{frame}}
@@ -114,7 +195,7 @@
 Two remarkable properties:\bigskip
 
 \begin{itemize}
-\item Alice only reveals the fact that she knows a secret.\bigskip
+\item Alice only reveals the fact that she knows a secret, not the secret itself.\bigskip
 \item Having been convinced, Bob cannot use the evidence in order to convince Carol.
 \end{itemize}
 
@@ -152,6 +233,38 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \mode<presentation>{
 \begin{frame}[c]
+\frametitle{Applications of ZKPs}
+
+\begin{itemize}
+\item authentication, where one party wants to prove its identity to a 
+second party via some secret information,  but doesn't want the second 
+party to learn anything about this secret\bigskip
+\item to enforce honest behaviour while maintaining privacy: the idea is to 
+force a user to prove, using a zero-knowledge proof, that its behaviour is 
+correct according to the protocol
+\end{itemize}
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Central Properties}
+
+Zero-knowledge proof protocols should satisfy:\bigskip
+
+\begin{itemize}
+\item \alert{\bf Completeness} If Alice knows the secret, Bob accepts Alice ``proof'' for sure.\bigskip
+\item \alert{\bf Soundness} If Alice does not know the secret, Bob accepts her ``proof'' with a very 
+small probability.
+\end{itemize}
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
 \frametitle{Graph Isomorphism}
 
 \begin{center}
@@ -169,7 +282,7 @@
 \begin{frame}[c]
 \frametitle{Graph Isomorphism Protocol}
 
-Alice starts with knowing an isomorphism between graphs \bl{$G_1$} and \bl{$G_2$}\medskip
+Alice starts with knowing an isomorphism \bl{$\sigma$} between graphs \bl{$G_1$} and \bl{$G_2$}\medskip
 
 \begin{enumerate}
 \item Alice generates an isomorphic graph \bl{$H$} which she sends to Bob 
@@ -179,8 +292,43 @@
 \end{enumerate}\pause
 
 these are called commitment algorithms
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
+   
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Graph Isomorphism Protocol (2)}
+
+If Alice knows the isomorphism, she can always calculate \bl{$\sigma$}.\bigskip
+
+ If she doesn't, she can only correctly respond if Bob's 
+ choice of index is the same as the one she used to form \bl{$H$}. The probability 
+ of this happening is \bl{$\frac{1}{2}$}, so after \bl{$n$} rounds the probability of her 
+ always responding correctly is only \bl{$\frac{1}{2}^n$}.
+
 \end{frame}}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Graph Isomorphism Protocol (3)}
+
+Why is the GI-protocol zero-knowledge?\bigskip\pause
+
+A: We can generate a fake transcript of a conversation, which 
+cannot be distinguished from a ``real'' conversation.\bigskip
+
+Anything Bob can compute using the information obtained from 
+the transcript can be computed using only a forged transcript and 
+therefore participation in such a communication does not increase 
+Bob's capability  to perform any computation.
+
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
+   
    
    
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -191,7 +339,25 @@
 
 \bigskip
 This is amazing: Alison can publish some data that contains no data about her secret,
-but can be used to convince anyone of the secret's existence.
+but this data can be used to convince anyone of the secret's existence.
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Non-Interactive ZKPs (2)}
+
+Alice starts with knowing an isomorphism \bl{$\sigma$} between graphs \bl{$G_1$} and \bl{$G_2$}\medskip
+
+\begin{enumerate}
+\item Alice generates \bl{$n$} isomorphic graphs \bl{$H_{1..n}$} which she makes public 
+\item she feeds the \bl{$H_{1..n}$} into a hashing function (she has no control over what
+	the output will be)
+\item Alice takes the first \bl{$n$} bits of the output: whenever output is \bl{$0$}, she shows 
+an isomorphism with \bl{$G_1$} ; for \bl{$1$} she shows an isomorphism with \bl{$G_2$}
+\end{enumerate}
+
 \end{frame}}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 
@@ -200,10 +366,23 @@
 \begin{frame}[c]
 \frametitle{Problems of ZKPs}
 
+\begin{itemize}
+\item ``grand chess master problem'' (person in the middle)
+\item 
+\end{itemize}
 
-\bigskip
-This is amazing: Alison can publish some data that contains no data about her secret,
-but can be used to convince anyone of the secret's existence.
+\end{frame}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\mode<presentation>{
+\begin{frame}[c]
+\frametitle{Other Methods for ZKPs}
+
+\begin{itemize}
+\item modular logarithms (you can 
+\end{itemize}
+
 \end{frame}}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 




