slides/slides11.tex
changeset 435 4603e6bb80c8
parent 381 036a762b02cf
child 436 8bf6704fc991
equal deleted inserted replaced
434:73e6076b9225 435:4603e6bb80c8
    34 
    34 
    35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    36 \begin{frame}[c]
    36 \begin{frame}[c]
    37 
    37 
    38 \begin{itemize}
    38 \begin{itemize}
    39 \item you can still send me your homework\bigskip 
    39 \item Imagine you have an completely innocent email message,
    40 \item Unix AC question: use a terminal-based editor (vm, 
    40       like birthday wishes to your grandmother? Why should you
    41   vim)\bigskip 
    41       still encrypt this message and your grandmother take the
    42 \item exams: 2 out of 3 questions, 5 or so subquestions 
    42       effort to decrypt it?\bigskip 
    43   each, you can fill in your answers on the question sheet
    43 
       
    44       \small  
       
    45       (Hint: The answer has nothing to do with preserving the
       
    46       privacy of your grandmother and nothing to do with
       
    47       keeping her birthday wishes super-secret. Also nothing to
       
    48       do with you and grandmother testing the latest
       
    49       encryption technology, nor just for the sake of it.)
    44 \end{itemize}
    50 \end{itemize}
    45 
    51 
    46 \end{frame}
    52 \end{frame}
    47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
    53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
    48 
    54 
       
    55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    56 \begin{frame}[c]
       
    57 
       
    58 \begin{center}
       
    59 \includegraphics[scale=0.6]{../pics/escher.jpg}
       
    60 \end{center}
       
    61 
       
    62 \end{frame}
       
    63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
    49 
    64 
    50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    51 \begin{frame}[c]
    66 \begin{frame}[c]
    52 \frametitle{Interlock Protocol}
    67 \frametitle{Interlock Protocol}
    53 
    68 
    54 The interlock protocol (``best bet'' against MITM):
    69 Protocol between a car \bl{$C$} and a key transponder \bl{$T$}:\bigskip 
    55 
    70 
    56 \begin{center}
    71 \begin{enumerate}
    57 \begin{tabular}{ll@{\hspace{2mm}}l}
    72 \item \bl{$C$} generates a random number \bl{$N$}
    58 1. & \bl{$A \to B :$} & \bl{$K^{pub}_A$}\\
    73 \item \bl{$C$} calculates \bl{$(F,G) = \{N\}_K$}
    59 2. & \bl{$B \to A :$} & \bl{$K^{pub}_B$}\\
    74 \item \bl{$C \to T$}: \bl{$N, F$}\bigskip
    60 3. & & \bl{$\{A,m\}_{K^{pub}_B} \;\mapsto\; H_1,H_2$}\\
    75 \item \bl{$T$} calculates \bl{$(F',G') = \{N\}_K$}
    61    & & \bl{$\{B,m'\}_{K^{pub}_A} \;\mapsto\; M_1,M_2$}\\
    76 \item \bl{$T$} checks that \bl{$F = F'$}
    62 4. & \bl{$A \to B :$} & \bl{$H_1$}\\
    77 \item \bl{$T \to C$}: \bl{$N, G'$}
    63 5. & \bl{$B \to A :$} & \bl{$\{H_1, M_1\}_{K^{pub}_A}$}\\
    78 \item \bl{$C$} checks that \bl{$G = G'$}
    64 6. & \bl{$A \to B :$} & \bl{$\{H_2, M_1\}_{K^{pub}_B}$}\\
    79 \end{enumerate}
    65 7. & \bl{$B \to A :$} & \bl{$M_2$}
    80 
       
    81 \end{frame}
       
    82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
    83 
       
    84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    85 \begin{frame}[c]
       
    86 \frametitle{Zero-Knowledge Proofs}
       
    87 
       
    88 Essentially every NP-problem can be used for ZKPs\bigskip
       
    89 
       
    90 \begin{itemize}
       
    91 \item modular logarithms: Alice chooses public \bl{$A$},  \bl{$B$}, \bl{$p$}; and private \bl{$x$}
       
    92 
       
    93 \begin{center}
       
    94 \large\bl{$A^x \equiv B\; mod\; p$}
       
    95 \end{center} 
       
    96 \end{itemize}
       
    97 
       
    98 \end{frame}
       
    99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   100 
       
   101 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   102 \begin{frame}[c]
       
   103 \frametitle{Modular Arithmetic}
       
   104 
       
   105 It is easy to calculate
       
   106 
       
   107 \begin{center}
       
   108 \large\bl{$\alt<1>{?}{10} \equiv 46\; mod\; 12$}
       
   109 \end{center}\bigskip\pause 
       
   110 
       
   111 A: \bl{$10$}
       
   112 
       
   113 \end{frame}
       
   114 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   115 
       
   116 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   117 \begin{frame}[c]
       
   118 \frametitle{Modular Logarithm}
       
   119 
       
   120 Ordinary, non-modular logarithms: 
       
   121 
       
   122 \begin{center}\large
       
   123 \begin{tabular}{ll}
       
   124 & \bl{$10^? = 17$}\bigskip\\\pause
       
   125 $\Rightarrow$ & \bl{$log_{10} 17 = 1.2304489\ldots$}\\\pause
       
   126 $\Rightarrow$ & \bl{$10^{1.2304489} = 16.999999$}\\\pause
    66 \end{tabular}
   127 \end{tabular}
       
   128 \end{center}
       
   129 
       
   130 Conclusion: \bl{$1.2304489$} is very close to the \emph{true}
       
   131 solution
       
   132 
       
   133 \end{frame}
       
   134 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   135 
       
   136 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   137 \begin{frame}[c]
       
   138 \frametitle{Modular Logarithm}
       
   139 
       
   140 In contrast, modular logarithms behave much differently:
       
   141 
       
   142 \begin{center}\large
       
   143 \bl{$2^? \equiv 88319671\;\; mod\;\; 97330327$}\bigskip\\\pause
    67 \end{center}\pause
   144 \end{center}\pause
    68 
   145 
    69 \footnotesize
   146 Lets say I found \bl{$28305819$}\ldots I try
    70 \bl{$m$} = How is your grandmother? \bl{$m'$} = How is the
   147 
    71 weather today in London?
   148 \begin{center}\large
       
   149 \bl{$2^{28305819} \equiv 88032151\;\; mod\;\; 97330327$}\bigskip\\\pause
       
   150 \end{center}\pause
       
   151 
       
   152 I could be tempted to try \bl{$28305820$}\ldots\pause
       
   153 but the real\\
       
   154 \mbox{}\hfill answer is \bl{12314}.
       
   155 
       
   156 \end{frame}
       
   157 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   158 
       
   159 
       
   160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   161 \begin{frame}[c]
       
   162 \frametitle{Commitment Stage}
       
   163 
       
   164 \begin{enumerate}
       
   165 \item Alice generates \bl{$z$} random numbers \bl{$r_1$}, ..., \bl{$r_z$}, all less than \bl{$p - 1$}.
       
   166 \item Alice sends Bob for all \bl{$1..z$} 
       
   167 \begin{center}
       
   168 \bl{$h_i = A^{r_i} \;mod\; p$}
       
   169 \end{center}\bigskip
       
   170 \item Bob generates random bits   \bl{$b_1$}, ..., \bl{$b_z$} by flipping a coin
       
   171 \item For each bit \bl{$b_i$}, Alice sends Bob an \bl{$s_i$} where
       
   172 
       
   173 \begin{center}
       
   174 \begin{tabular}{ll}
       
   175 \bl{$b_i = 0$}: & \bl{$s_i = r_i$}\\
       
   176 \bl{$b_i = 1$}: & \bl{$s_i = (r_i - r_j) \;mod\; (p -1)$}\\
       
   177 \end{tabular}
       
   178 \end{center}
       
   179 where \bl{$r_j$} is the lowest \bl{$j$} with \bl{$b_j = 1$}
       
   180 \end{enumerate}
       
   181 
       
   182 \only<2>{
       
   183 \begin{textblock}{7}(7.9,3.9)
       
   184 \begin{bubble}[5cm]\small
       
   185 \begin{center}
       
   186   \begin{tabular}{lcccc}
       
   187   Alice \bl{$r_i$}:\; & \bl{4} & \bl{9} & \bl{1} & \bl{3}\\ 
       
   188   Bob \bl{$b_i$}:\; & \bl{0} & \bl{1} & \bl{0} & \bl{1}\\
       
   189   & & \bl{$\uparrow$} \\
       
   190   & & \bl{$j$}
       
   191   \end{tabular}             
       
   192   \end{center}    
       
   193 \end{bubble}
       
   194 \end{textblock}}
       
   195 
       
   196 \end{frame}
       
   197 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   198 
       
   199 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   200 \begin{frame}[c]
       
   201 \frametitle{Confirmation Stage}
       
   202 
       
   203 \begin{enumerate}
       
   204 \item For each \bl{$b_i$} Bob checks whether \bl{$s_i$} conforms to the protocol
       
   205 
       
   206 \begin{center}
       
   207 \begin{tabular}{ll}
       
   208 \bl{$b_i = 0$}: & \bl{$A^{s_i} \equiv h_i\;mod\;p$}\\
       
   209 \bl{$b_i = 1$}: & \bl{$A^{s_i}  \equiv h_i * h_j^{-1}  \;mod\; p$}\\
       
   210 \end{tabular}
       
   211 \end{center}\bigskip
       
   212 
       
   213 Bob was sent
       
   214 
       
   215 \begin{center}
       
   216 \begin{tabular}{l}
       
   217 \bl{$h_1, \ldots, h_z$},\\
       
   218 \bl{$r_1 - r_j$},  \bl{$r_2 - r_j$}, \ldots, \bl{$r_z - r_j \;\;mod \;p - 1$} 
       
   219 \end{tabular}
       
   220 \end{center}
       
   221 
       
   222 where the corresponding bits were 
       
   223 \bl{$1$}; Bob does not know \bl{$r_j$}, he does not know any \bl{$r_i$} where the bit was \bl{$1$}
       
   224 \end{enumerate}
       
   225 
       
   226 \only<2>{
       
   227 \begin{textblock}{7}(7.9,1)
       
   228 \begin{bubble}[5cm]\small
       
   229 \begin{center}
       
   230 \bl{\begin{tabular}{r@{\hspace{1mm}}c@{\hspace{1mm}}l}
       
   231 $A^{s_i}$ & $=$ & $A^{r_i - r_j}$\\ 
       
   232           & $=$ & $A^{r_i} * A^{-r_j}$\\
       
   233           & $=$ & $h_{r_i} * h_{r_j}^{-1}\;mod\;p$   
       
   234 \end{tabular}}
       
   235 \end{center}    
       
   236 \end{bubble}
       
   237 \end{textblock}}
       
   238 
       
   239 \end{frame}
       
   240 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   241 
       
   242 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   243 \begin{frame}[c]
       
   244 \frametitle{Proving Stage}
       
   245 
       
   246 \begin{enumerate}
       
   247 \item Alice proves she knows \bl{$x$}, the discrete log of \bl{$B$}\\
       
   248 she sends
       
   249 
       
   250 \begin{center}
       
   251 \bl{$s_{z+1} = (x - r_j)$}
       
   252 \end{center}
       
   253 
       
   254 \item Bob confirms
       
   255 
       
   256 \begin{center}
       
   257 \bl{$A^{s_{z+1}} \equiv B * h_j^{-1} \;mod \; p$}
       
   258 \end{center}
       
   259 \end{enumerate}\bigskip\pause
       
   260 
       
   261 In order to cheat, Alice has to guess all bits in advance. She
       
   262 has only \bl{$\frac{1}{2}^z$} chance of doing so.\bigskip\\
       
   263 
       
   264 \end{frame}
       
   265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
       
   266 
       
   267 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   268 \tikzset{alt/.code args={<#1>#2#3#4}{%
       
   269   \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
       
   270 }}
       
   271 
       
   272 \begin{frame}[t]
       
   273 \frametitle{Buffer Overflow Attacks}
       
   274 
       
   275 \begin{itemize}
       
   276 \item the problem arises from the way C/C++ organises its function calls\\[-8mm]\mbox{}
       
   277 \end{itemize}
       
   278 
       
   279 \begin{center}
       
   280 \begin{tikzpicture}[scale=1]
       
   281 %\draw[black!10,step=2mm] (0,0) grid (9,4);
       
   282 %\draw[black!10,thick,step=10mm] (0,0) grid (9,4);
       
   283 
       
   284 \node at (0.5,4.5) {\small\begin{tabular}{l}main\\[-2mm] prog.\end{tabular}};
       
   285 \draw[line width=0mm, white, alt=<2->{fill=red}{fill=blue}] (0,2.5) rectangle (1,3.8);
       
   286 \draw[line width=0mm, white, alt=<9->{fill=red}{fill=blue}] (0,0.2) rectangle (1,0.5);
       
   287 \draw[line width=1mm, alt=<3->{fill=yellow}{fill=blue}] (0,2.0) rectangle (1,2.5);
       
   288 \draw[line width=1mm, alt=<6->{fill=red}{fill=blue}] (0,1.0) rectangle (1,2.0);
       
   289 \draw[line width=1mm, alt=<7->{fill=yellow}{fill=blue}] (0,0.5) rectangle (1,1.0);
       
   290 \draw[line width=1mm] (0,0) -- (0,4);
       
   291 \draw[line width=1mm] (1,0) -- (1,4);
       
   292 
       
   293 \node at (3.5,3.5) {\small\begin{tabular}{l}fact(n)\end{tabular}};
       
   294 \draw[line width=1mm, alt=<{4-5,8}>{fill=red}{fill=blue}] (3,1.0) rectangle (4,3.0);
       
   295 
       
   296 \onslide<3-4>{\draw[->, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {n=4} (3,3);}
       
   297 \onslide<5>{\draw[<-, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {res=24} (3,1);}
       
   298 
       
   299 \onslide<7-8>{\draw[->, line width=1mm,red] (1,0.8) to node [above,sloped,midway] {n=3} (3,3);}
       
   300 \onslide<9>{\draw[<-, line width=1mm,red] (1,0.8) to node [above,sloped,midway] {res=6} (3,1);}
       
   301 
       
   302 
       
   303 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
       
   304 \draw[line width=1mm] (7,3.5) -- (7,0.5) -- (8.5,0.5) -- (8.5,3.5);
       
   305 
       
   306 \onslide<3,4,7,8>{
       
   307 \node at (7.75, 1.4) {ret};
       
   308 \draw[line width=1mm] (7,1.1) -- (8.5,1.1);
       
   309 \node at (7.75, 2.0) {sp};
       
   310 \draw[line width=1mm] (7,2.3) -- (8.5,2.3);
       
   311 }
       
   312 \onslide<3,4>{
       
   313 \node at (7.75, 0.8) {4};
       
   314 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
       
   315 }
       
   316 \onslide<7,8>{
       
   317 \node at (7.75, 0.8) {3};
       
   318 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
       
   319 }
       
   320 
       
   321 
       
   322 \end{tikzpicture}
       
   323 \end{center}
       
   324 
       
   325 \end{frame}
       
   326 
       
   327 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   328 \begin{frame}[t]
       
   329 
       
   330 \begin{center}
       
   331 \begin{tikzpicture}[scale=1]
       
   332 %\draw[black!10,step=2mm] (0,0) grid (9,4);
       
   333 %\draw[black!10,thick,step=10mm] (0,0) grid (9,4);
       
   334 
       
   335 \node at (0.5,4.5) {\small\begin{tabular}{l}main\\[-2mm] prog.\end{tabular}};
       
   336 \draw[line width=0mm, white, alt=<2->{fill=red}{fill=blue}] (0,2.5) rectangle (1,3.8);
       
   337 \draw[line width=1mm, white, fill=blue] (0,1.0) rectangle (1,2.0);
       
   338 \draw[line width=1mm, alt=<3->{fill=yellow}{fill=blue}] (0,2.0) rectangle (1,2.5);
       
   339 \draw[line width=1mm] (0,0) -- (0,4);
       
   340 \draw[line width=1mm] (1,0) -- (1,4);
       
   341 
       
   342 \node at (3.5,3.5) {\small\begin{tabular}{l}fact(n)\end{tabular}};
       
   343 \draw[line width=0mm, alt=<{4-}>{red, fill=red}{blue, fill=blue}] (3,2.8) rectangle (4,3.0);
       
   344 \draw[line width=0mm, alt=<{5-}>{red, fill=red}{blue, fill=blue}] (3,2.8) rectangle (4,2.0);
       
   345 \draw[line width=0mm, alt=<{7-}>{red, fill=red}{blue, fill=blue}] (3,2.0) rectangle (4,1.0);
       
   346 \draw[line width=1mm] (3,1.0) rectangle (4,3.0);
       
   347 
       
   348 \onslide<3->{\draw[->, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {n=4} (3,3);}
       
   349 \onslide<5->{\draw[<-, line width=2mm,red] (4,2) to node [above,sloped,midway] 
       
   350 {\begin{tabular}{l}user\\[-1mm] input\end{tabular}} (6,2);}
       
   351 \onslide<8->{\draw[<-, line width=1mm,red] (1,-2) to (3,1);}
       
   352 
       
   353 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
       
   354 \draw[line width=1mm] (7,3.5) -- (7,-0.1) -- (8.5,-0.1) -- (8.5,3.5);
       
   355 
       
   356 \onslide<3->{
       
   357 \node at (7.75, 0.2) {4};
       
   358 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,0.5) rectangle (8.5,1.1);
       
   359 \node at (7.75, 0.8) {\alt<6->{@a\#}{ret}};
       
   360 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,1.1) rectangle (8.5,1.7);
       
   361 \node at (7.75, 1.4) {\alt<6->{!?w;}sp};
       
   362 }
       
   363 
       
   364 \onslide<4->{
       
   365 \draw[line width=1mm,fill=red] (7,1.7) rectangle (8.5,3.0);
       
   366 \node[white] at (7.75, 2.4) {buffer};
       
   367 }
       
   368 
       
   369 \end{tikzpicture}
       
   370 \end{center}
       
   371 
       
   372 \end{frame}
       
   373 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   374 
       
   375 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   376 \begin{frame}[c]
       
   377 
       
   378 \begin{itemize}
       
   379 \item Imagine you have an completely innocent email message,
       
   380       like birthday wishes to your grandmother? Why should you
       
   381       still encrypt this message and your grandmother take the
       
   382       effort to decrypt it?\bigskip 
       
   383 
       
   384       \small  
       
   385       (Hint: The answer has nothing to do with preserving the
       
   386       privacy of your grandmother and nothing to do with
       
   387       keeping her birthday wishes super-secret. Also nothing to
       
   388       do with you and grandmother testing the latest
       
   389       encryption technology, nor just for the sake of it.)
       
   390 \end{itemize}
    72 
   391 
    73 \end{frame}
   392 \end{frame}
    74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   393 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
    75 
       
    76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    77 \begin{frame}[c]
       
    78 
       
    79 \begin{center}
       
    80 \begin{tabular}{l@{\hspace{9mm}}l}
       
    81 \begin{tabular}[t]{@{}l@{}}
       
    82 \bl{$A \to C : K^{pub}_A$}\\
       
    83 \bl{$C \to B : K^{pub}_C$}\\
       
    84 \bl{$B \to C : K^{pub}_B$}\\
       
    85 \bl{$C \to A : K^{pub}_C$}\medskip\\
       
    86 \bl{$\{A,m\}_{K^{pub}_C} \;\mapsto\; H_1,H_2$}\\
       
    87 \bl{$\{B,n\}_{K^{pub}_C} \;\mapsto\; M_1,M_2$}\bigskip\\
       
    88 \bl{$\{C,a\}_{K^{pub}_B} \;\mapsto\; C_1,C_2$}\\
       
    89 \bl{$\{C,b\}_{K^{pub}_A} \;\mapsto\; D_1,D_2$}
       
    90 \end{tabular} &
       
    91 \begin{tabular}[t]{@{}l@{}}
       
    92 \bl{$A \to C : H_1$}\\
       
    93 \bl{$C \to B : C_1$}\\
       
    94 \bl{$B \to C : \{C_1, M_1\}_{K^{pub}_C}$}\\
       
    95 \bl{$C \to A : \{H_1, D_1\}_{K^{pub}_A}$}\\
       
    96 \bl{$A \to C : \{H_2, D_1\}_{K^{pub}_C}$}\\
       
    97 \bl{$C \to B : \{C_2, M_1\}_{K^{pub}_B}$}\\
       
    98 \bl{$B \to C : M_2$}\\
       
    99 \bl{$C \to A : D_2$}
       
   100 \end{tabular}
       
   101 \end{tabular}
       
   102 \end{center}
       
   103 
       
   104 \end{frame}
       
   105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   106 
       
   107 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   108 \begin{frame}[c]
       
   109 
       
   110 \begin{itemize}
       
   111 \item you have to ask something that cannot imitated 
       
   112   (requires \bl{$A$} and \bl{$B$} know each other)
       
   113 \item what happens if \bl{$m$} and \bl{$n$} are voice
       
   114   messages?\bigskip  
       
   115 
       
   116 \item the moral: establishing a secure connection from ``zero'' is
       
   117 almost impossible---you need to rely on some established 
       
   118 trust\medskip
       
   119 
       
   120 \item that is why we rely on certificates, which however are
       
   121 badly, badly realised (just today a POODLE attack against SSL)
       
   122 
       
   123 \end{itemize}
       
   124 
       
   125 \end{frame}
       
   126 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   127 
       
   128 
       
   129 
   394 
   130 
   395 
   131 \end{document}
   396 \end{document}
   132 
   397 
   133 
   398