slides/slides11.tex
author cu
Sat, 30 Sep 2017 05:28:58 +0100
changeset 540 441a1e662f28
parent 518 e1fcfba63a31
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t]{beamer}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
\usepackage{../slides}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
\usepackage{../langs}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
\usepackage{../graphics}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
\usepackage{../data}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
\usepackage{../grammar}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     7
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
% beamer stuff 
381
036a762b02cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 352
diff changeset
     9
\renewcommand{\slidecaption}{SEN 11, King's College London}
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    10
\newcommand{\bl}[1]{\textcolor{blue}{#1}}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    11
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    12
\begin{document}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    13
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    14
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    15
\begin{frame}[t]
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
\frametitle{%
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
  \begin{tabular}{@ {}c@ {}}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
  \\
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    19
  \LARGE Security Engineering 
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
  \end{tabular}}\bigskip\bigskip\bigskip
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
  \normalsize
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
  \begin{center}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
  \begin{tabular}{ll}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
  Email:  & christian.urban at kcl.ac.uk\\
518
e1fcfba63a31 updated
Christian Urban <urbanc@in.tum.de>
parents: 438
diff changeset
    26
  Office: & N7.07 (North Wing, Bush House)\\
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
  Slides: & KEATS (also homework is there)\\
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    28
  \end{tabular}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    29
  \end{center}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
\end{frame}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
\begin{frame}[c]
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    37
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    38
Imagine you have a completely innocent email message, like
437
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
    39
birthday wishes to your grandmother. Why should you still
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    40
encrypt this message and your grandmother take the effort to
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    41
decrypt it?
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    42
\end{bubble}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    43
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    44
\begin{itemize}
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    45
\item \small  
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    46
      (Hint: The answer has nothing to do with preserving the
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    47
      privacy of your grandmother and nothing to do with
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    48
      keeping her birthday wishes super-secret. Also nothing to
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    49
      do with you and grandmother testing the latest
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    50
      encryption technology, nor just for the sake of it.)
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    51
\end{itemize}
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    52
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    53
\end{frame}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    54
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    55
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    56
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    57
\begin{frame}[c]
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    58
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    59
\begin{center}
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    60
\includegraphics[scale=0.6]{../pics/escher.jpg}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    61
\footnotesize\mbox{M.C.Escher, Amazing World (from Gödel, Escher, Bach by D.Hofstadter)} 
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
\end{center}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    63
437
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
    64
\hfill\includegraphics[scale=0.3]{../pics/hofstadter.jpg}
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    65
\end{frame}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    66
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    67
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    68
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    69
\begin{frame}[c]
437
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
    70
\frametitle{Interlock Protocols}
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    71
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    72
\mbox{A Protocol between a car \bl{$C$} and a key transponder \bl{$T$}:}\bigskip 
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    73
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    74
\begin{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    75
\item \bl{$C$} generates a random number \bl{$N$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    76
\item \bl{$C$} calculates \bl{$(F,G) = \{N\}_K$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    77
\item \bl{$C \to T$}: \bl{$N, F$}\bigskip
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    78
\item \bl{$T$} calculates \bl{$(F',G') = \{N\}_K$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    79
\item \bl{$T$} checks that \bl{$F = F'$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    80
\item \bl{$T \to C$}: \bl{$N, G'$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    81
\item \bl{$C$} checks that \bl{$G = G'$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    82
\end{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    83
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    84
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    85
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    86
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    87
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    88
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    89
\frametitle{Zero-Knowledge Proofs}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    90
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    91
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
    92
\item Essentially every NP-problem can be used for ZKPs\bigskip
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    93
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    94
\item modular logarithms: Alice chooses public \bl{$A$},  \bl{$B$}, \bl{$p$}; and private \bl{$x$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    95
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    96
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    97
\large\bl{$A^x \equiv B\; mod\; p$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    98
\end{center} 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
    99
\end{itemize}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   100
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   101
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   102
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   103
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   104
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   105
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   106
\frametitle{Modular Arithmetic}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   107
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   108
It is easy to calculate
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   109
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   110
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   111
\large\bl{$\alt<1>{?}{10} \equiv 46\; mod\; 12$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   112
\end{center}\bigskip\pause 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   113
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   114
A: \bl{$10$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   115
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   116
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   117
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   118
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   119
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   120
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   121
\frametitle{Modular Logarithm}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   122
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   123
Ordinary, \emph{non}-modular logarithms: 
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   124
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   125
\begin{center}\large
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   126
\begin{tabular}{ll}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   127
& \bl{$10^? = 17$}\bigskip\\\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   128
$\Rightarrow$ & \bl{$log_{10} 17 = 1.2304489\ldots$}\\\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   129
$\Rightarrow$ & \bl{$10^{1.2304489} = 16.999999$}\\\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   130
\end{tabular}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   131
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   132
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   133
Conclusion: \bl{$1.2304489$} is very close to the \emph{true}
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   134
solution, slightly low
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   135
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   136
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   137
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   138
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   139
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   140
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   141
\frametitle{Modular Logarithm}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   142
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   143
In contrast, modular logarithms behave much differently:
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   144
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   145
\begin{center}\large
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   146
\bl{$2^? \equiv 88319671\;\; mod\;\; 97330327$}\bigskip
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   147
\end{center}\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   148
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   149
Lets say I `found' \bl{$28305819$} and I try
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   150
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   151
\begin{center}\large
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   152
\bl{$2^{28305819} \equiv 88032151\;\; mod\;\; 97330327$}\bigskip
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   153
\end{center}\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   154
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   155
Slightly lower. I might be tempted to try \bl{$28305820$}\ldots\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   156
but the real answer is \bl{12314}.
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   157
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   158
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   159
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   160
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   161
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   162
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   163
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   164
\frametitle{Commitment Stage}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   165
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   166
\begin{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   167
\item Alice generates \bl{$z$} random numbers \bl{$r_1$}, ..., \bl{$r_z$}, all less than \bl{$p - 1$}.
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   168
\item Alice sends Bob for all \bl{$1..z$} 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   169
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   170
\bl{$h_i = A^{r_i} \;mod\; p$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   171
\end{center}\bigskip
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   172
\item Bob generates random bits   \bl{$b_1$}, ..., \bl{$b_z$} by flipping a coin
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   173
\item For each bit \bl{$b_i$}, Alice sends Bob an \bl{$s_i$} where
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   174
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   175
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   176
\begin{tabular}{ll}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   177
\bl{$b_i = 0$}: & \bl{$s_i = r_i$}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   178
\bl{$b_i = 1$}: & \bl{$s_i = (r_i - r_j) \;mod\; (p -1)$}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   179
\end{tabular}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   180
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   181
where \bl{$r_j$} is the lowest \bl{$j$} with \bl{$b_j = 1$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   182
\end{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   183
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   184
\only<2>{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   185
\begin{textblock}{7}(7.9,3.9)
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   186
\begin{bubble}[5cm]\small
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   187
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   188
  \begin{tabular}{lcccc}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   189
  Alice \bl{$r_i$}:\; & \bl{4} & \bl{9} & \bl{1} & \bl{3}\\ 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   190
  Bob \bl{$b_i$}:\; & \bl{0} & \bl{1} & \bl{0} & \bl{1}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   191
  & & \bl{$\uparrow$} \\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   192
  & & \bl{$j$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   193
  \end{tabular}             
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   194
  \end{center}    
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   195
\end{bubble}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   196
\end{textblock}}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   197
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   198
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   199
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   200
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   201
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   202
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   203
\frametitle{Confirmation Stage}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   204
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   205
\begin{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   206
\item For each \bl{$b_i$} Bob checks whether \bl{$s_i$} conforms to the protocol
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   207
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   208
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   209
\begin{tabular}{ll}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   210
\bl{$b_i = 0$}: & \bl{$A^{s_i} \equiv h_i\;mod\;p$}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   211
\bl{$b_i = 1$}: & \bl{$A^{s_i}  \equiv h_i * h_j^{-1}  \;mod\; p$}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   212
\end{tabular}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   213
\end{center}\bigskip
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   214
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   215
Bob was sent
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   216
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   217
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   218
\begin{tabular}{l}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   219
\bl{$h_1, \ldots, h_z$},\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   220
\bl{$r_1 - r_j$},  \bl{$r_2 - r_j$}, \ldots, \bl{$r_z - r_j \;\;mod \;p - 1$} 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   221
\end{tabular}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   222
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   223
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   224
where the corresponding bits were 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   225
\bl{$1$}; Bob does not know \bl{$r_j$}, he does not know any \bl{$r_i$} where the bit was \bl{$1$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   226
\end{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   227
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   228
\only<2>{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   229
\begin{textblock}{7}(7.9,1)
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   230
\begin{bubble}[5cm]\small
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   231
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   232
\bl{\begin{tabular}{r@{\hspace{1mm}}c@{\hspace{1mm}}l}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   233
$A^{s_i}$ & $=$ & $A^{r_i - r_j}$\\ 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   234
          & $=$ & $A^{r_i} * A^{-r_j}$\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   235
          & $=$ & $h_{r_i} * h_{r_j}^{-1}\;mod\;p$   
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   236
\end{tabular}}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   237
\end{center}    
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   238
\end{bubble}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   239
\end{textblock}}
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   240
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   241
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   242
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   243
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   244
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   245
\begin{frame}[c]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   246
\frametitle{Proving Stage}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   247
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   248
\begin{enumerate}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   249
\item Alice proves she knows \bl{$x$}, the discrete log of \bl{$B$}\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   250
she sends
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   251
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   252
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   253
\bl{$s_{z+1} = (x - r_j)$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   254
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   255
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   256
\item Bob confirms
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   257
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   258
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   259
\bl{$A^{s_{z+1}} \equiv B * h_j^{-1} \;mod \; p$}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   260
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   261
\end{enumerate}\bigskip\pause
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   262
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   263
In order to cheat, Alice has to guess all bits in advance. She
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   264
has only \bl{$\frac{1}{2}^z$} chance of doing so.\bigskip\\
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   265
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   266
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   267
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   268
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   269
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   270
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   271
\frametitle{How can Alice cheat?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   272
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   273
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   274
\item Alice needs to coordinate what she sends as \bl{$h_i$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   275
      (in step 2), \bl{$s_i$} (in step 4) and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   276
      \bl{$s_{z+1}$} (in step 6).\pause\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   277
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   278
\item for \bl{$s_{z+1}$} she solves the easy
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   279
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   280
\bl{$A^{s_{z+1}} \equiv B * y \;mod\;p$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   281
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   282
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   283
for \bl{$y$}.\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   284
\item if she can guess \bl{$j$} (first \bl{$1$}) then 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   285
  she sends \bl{$y$} as \bl{$h_j$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   286
and \bl{$0$} as \bl{$s_j$}.\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   287
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   288
\item however she does not know \bl{$r_j$} because she would 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   289
need to solve
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   290
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   291
\bl{$A^{r_j} \equiv y \;mod\;p$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   292
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   293
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   294
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   295
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   296
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   297
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   298
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   299
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   300
\frametitle{How can Alice cheat?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   301
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   302
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   303
\item Alice still needs to decide on the other \bl{$h_i$} and 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   304
\bl{$s_i$}. They have to satisfy the test:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   305
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   306
\[\bl{A^{\alert{s_i}} \stackrel{?}{\equiv} \alert{h_i} * h_j^{-1}  \;mod\; p}\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   307
\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   308
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   309
\item Lets say she choses the \bl{$s_i$} at random, then she 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   310
needs to solve
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   311
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   312
\[\bl{A^{s_i} \equiv z * h_j^{-1}  \;mod\; p}\] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   313
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   314
for \bl{$z$}.\pause{} It still does not allow us to find out
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   315
the \bl{$r_i$}. Let us call an \bl{$h_i$} calculated in this 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   316
way as \alert{bogus}.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   317
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   318
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   319
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   320
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   321
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   322
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   323
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   324
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   325
\frametitle{How can Alice cheat?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   326
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   327
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   328
\item Alice has to produce bogus \bl{$h_i$} for all bits that 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   329
are going to be \bl{$1$} in advance.\bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   330
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   331
\item Lets say \bl{$b_i = 1$} where Alice guessed \bl{$0$}: 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   332
She already has sent \bl{$h_i$} and \bl{$h_j$} and now must find a
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   333
correct \bl{$s_i$} (which she chose at random at first)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   334
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   335
\[\bl{A^{s_i} \equiv h_i * h_j^{-1}  \;mod\; p}\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   336
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   337
If she knew \bl{$r_i$} and \bl{$r_j$}, then easy: 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   338
\bl{$s_i = r_i - r_j$}. But she does not. So she will be found 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   339
out.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   340
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   341
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   342
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   343
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   344
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   345
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   346
\begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   347
\frametitle{How can Alice cheat?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   348
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   349
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   350
\item Alice has to produce bogus \bl{$h_i$} for all bits that 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   351
are going to be \bl{$1$} in advance.\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   352
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   353
\item Lets say \bl{$b_i = 0$} where Alice guessed \bl{$1$}: 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   354
She has to send an \bl{$s_i$} so that 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   355
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   356
\[\bl{A^{s_i} \equiv h_i\;mod\;p}\]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   357
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   358
She does not know \bl{$r_i$}. So this is too hard and 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   359
she will be found out.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   360
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   361
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   362
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   363
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   364
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   365
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   366
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   367
\tikzset{alt/.code args={<#1>#2#3#4}{%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   368
  \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   369
}}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   370
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   371
\begin{frame}[t]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   372
\frametitle{Buffer Overflow Attacks}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   373
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   374
\begin{itemize}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   375
\item the problem arises from the way C/C++ organises its function calls\\[-8mm]\mbox{}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   376
\end{itemize}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   377
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   378
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   379
\begin{tikzpicture}[scale=1]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   380
%\draw[black!10,step=2mm] (0,0) grid (9,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   381
%\draw[black!10,thick,step=10mm] (0,0) grid (9,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   382
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   383
\node at (0.5,4.5) {\small\begin{tabular}{l}main\\[-2mm] prog.\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   384
\draw[line width=0mm, white, alt=<2->{fill=red}{fill=blue}] (0,2.5) rectangle (1,3.8);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   385
\draw[line width=0mm, white, alt=<9->{fill=red}{fill=blue}] (0,0.2) rectangle (1,0.5);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   386
\draw[line width=1mm, alt=<3->{fill=yellow}{fill=blue}] (0,2.0) rectangle (1,2.5);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   387
\draw[line width=1mm, alt=<6->{fill=red}{fill=blue}] (0,1.0) rectangle (1,2.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   388
\draw[line width=1mm, alt=<7->{fill=yellow}{fill=blue}] (0,0.5) rectangle (1,1.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   389
\draw[line width=1mm] (0,0) -- (0,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   390
\draw[line width=1mm] (1,0) -- (1,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   391
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   392
\node at (3.5,3.5) {\small\begin{tabular}{l}fact(n)\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   393
\draw[line width=1mm, alt=<{4-5,8}>{fill=red}{fill=blue}] (3,1.0) rectangle (4,3.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   394
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   395
\onslide<3-4>{\draw[->, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {n=4} (3,3);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   396
\onslide<5>{\draw[<-, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {res=24} (3,1);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   397
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   398
\onslide<7-8>{\draw[->, line width=1mm,red] (1,0.8) to node [above,sloped,midway] {n=3} (3,3);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   399
\onslide<9>{\draw[<-, line width=1mm,red] (1,0.8) to node [above,sloped,midway] {res=6} (3,1);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   400
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   401
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   402
\node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   403
\draw[line width=1mm] (7,3.5) -- (7,0.5) -- (8.5,0.5) -- (8.5,3.5);
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   404
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   405
\onslide<3,4,7,8>{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   406
\node at (7.75, 1.4) {ret};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   407
\draw[line width=1mm] (7,1.1) -- (8.5,1.1);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   408
\node at (7.75, 2.0) {sp};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   409
\draw[line width=1mm] (7,2.3) -- (8.5,2.3);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   410
}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   411
\onslide<3,4>{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   412
\node at (7.75, 0.8) {4};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   413
\draw[line width=1mm] (7,1.7) -- (8.5,1.7);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   414
}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   415
\onslide<7,8>{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   416
\node at (7.75, 0.8) {3};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   417
\draw[line width=1mm] (7,1.7) -- (8.5,1.7);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   418
}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   419
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   420
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   421
\end{tikzpicture}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   422
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   423
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   424
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   425
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   426
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   427
\begin{frame}[t]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   428
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   429
\begin{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   430
\begin{tikzpicture}[scale=1]
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   431
%\draw[black!10,step=2mm] (0,0) grid (9,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   432
%\draw[black!10,thick,step=10mm] (0,0) grid (9,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   433
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   434
\node at (0.5,4.5) {\small\begin{tabular}{l}main\\[-2mm] prog.\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   435
\draw[line width=0mm, white, alt=<2->{fill=red}{fill=blue}] (0,2.5) rectangle (1,3.8);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   436
\draw[line width=1mm, white, fill=blue] (0,1.0) rectangle (1,2.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   437
\draw[line width=1mm, alt=<3->{fill=yellow}{fill=blue}] (0,2.0) rectangle (1,2.5);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   438
\draw[line width=1mm] (0,0) -- (0,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   439
\draw[line width=1mm] (1,0) -- (1,4);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   440
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   441
\node at (3.5,3.5) {\small\begin{tabular}{l}fact(n)\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   442
\draw[line width=0mm, alt=<{4-}>{red, fill=red}{blue, fill=blue}] (3,2.8) rectangle (4,3.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   443
\draw[line width=0mm, alt=<{5-}>{red, fill=red}{blue, fill=blue}] (3,2.8) rectangle (4,2.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   444
\draw[line width=0mm, alt=<{7-}>{red, fill=red}{blue, fill=blue}] (3,2.0) rectangle (4,1.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   445
\draw[line width=1mm] (3,1.0) rectangle (4,3.0);
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   446
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   447
\onslide<3->{\draw[->, line width=1mm,red] (1,2.3) to node [above,sloped,midway] {n=4} (3,3);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   448
\onslide<5->{\draw[<-, line width=2mm,red] (4,2) to node [above,sloped,midway] 
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   449
{\begin{tabular}{l}user\\[-1mm] input\end{tabular}} (6,2);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   450
\onslide<8->{\draw[<-, line width=1mm,red] (1,-2) to (3,1);}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   451
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   452
\node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   453
\draw[line width=1mm] (7,3.5) -- (7,-0.1) -- (8.5,-0.1) -- (8.5,3.5);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   454
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   455
\onslide<3->{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   456
\node at (7.75, 0.2) {4};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   457
\draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,0.5) rectangle (8.5,1.1);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   458
\node at (7.75, 0.8) {\alt<6->{@a\#}{ret}};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   459
\draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,1.1) rectangle (8.5,1.7);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   460
\node at (7.75, 1.4) {\alt<6->{!?w;}sp};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   461
}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   462
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   463
\onslide<4->{
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   464
\draw[line width=1mm,fill=red] (7,1.7) rectangle (8.5,3.0);
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   465
\node[white] at (7.75, 2.4) {buffer};
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   466
}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   467
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   468
\end{tikzpicture}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   469
\end{center}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   470
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   471
\end{frame}
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   472
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   473
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   474
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   475
\begin{frame}[c]
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   476
\frametitle{Coming Back To\ldots}
435
4603e6bb80c8 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 381
diff changeset
   477
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   478
\begin{bubble}[10cm]
437
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
   479
Imagine you have a completely innocent email message, like
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
   480
birthday wishes to your grandmother. Why should you still
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   481
encrypt this message and your grandmother take the effort to
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   482
decrypt it?
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   483
\end{bubble}\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   484
      
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   485
\begin{itemize}      
437
08906f4325bb updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 436
diff changeset
   486
\item \small Any wild guesses?\pause
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   487
\item \small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   488
      Bruce Schneier\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   489
      NSA Surveillance and What To Do About It\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   490
      \url{https://www.youtube.com/watch?v=QXtS6UcdOMs}
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   491
\end{itemize}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   492
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   493
\end{frame}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   494
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   495
436
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   496
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   497
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   498
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   499
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   500
Terrorists use encrypted mobile-messaging apps. The spy
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   501
agencies argue that although they can follow the conversations
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   502
on Twitter, they ``go dark'' on the encrypted message apps. To
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   503
counter this ``going-dark problem'', the spy agencies push for
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   504
the implementation of back-doors in iMessage and Facebook and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   505
Skype and everything else UK or US-made, which they can use
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   506
eavesdrop on conversations without the conversants' knowledge
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   507
or consent.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   508
\end{bubble}      
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   509
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   510
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   511
\item What is the fallacy in the spy agencies going-dark
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   512
      argument?
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   513
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   514
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   515
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 435
diff changeset
   516
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   517
438
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   518
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   519
\begin{frame}[c]
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   520
\small
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   521
\begin{bubble}[10cm]
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   522
Even good passwords consisting of 8 characters, can be broken
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   523
in around 50 days (obviously this time varies a lot and also
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   524
gets shorter and shorter over time). Do you think it is good
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   525
policy to require users to change their password every 3
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   526
months (as King's did until recently)?\medskip
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   527
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   528
Under which
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   529
circumstance should users be required to change their
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   530
password?
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   531
\end{bubble}      
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   532
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   533
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   534
\end{frame}
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   535
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   536
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   537
85a25932811f updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 437
diff changeset
   538
352
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   539
\end{document}
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   540
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   541
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   542
%%% Local Variables:  
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   543
%%% mode: latex
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   544
%%% TeX-master: t
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   545
%%% End: 
da5713bcdbb0 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   546