\end{slide}
\begin{slide}
+ \head{Electronic Code Book (ECB), \seq: diagram}
+
+ \vfil
+ \[ \begin{graph}
+ []!{0; <1cm, 0cm>: <0cm, 1.5cm>::}
+ *+=(1, 0)+[F]{\mathstrut x_0}="x" :[dd] *+[F]{E}="e"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_0}
+ "e" [l] {K} :"e" "x" [rrr]
+ *+=(1, 0)+[F]{\mathstrut x_1}="x" :[dd] *+[F]{E}="e"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_1}
+ "e" [l] {K} :"e" "x" [rrr]
+ *+=(1, 0)+[F--]{\mathstrut x_i}="x" :@{-->}[dd] *+[F]{E}="e"
+ :@{-->}[dd] *+=(1, 0)+[F--]{\mathstrut y_i}
+ "e" [l] {K} :@{-->}"e" "x" [rrr]
+ *+=(1, 0)+[F]{\mathstrut x_n}="x" :[dd] *+[F]{E}="e"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_n}
+ "e" [l] {K} :"e" "x" [rrr]
+ \end{graph} \]
+ \vfil
+\end{slide}
+
+\begin{slide}
\head{Electronic Code Book (ECB), \seq: analysis}
ECB fails to disguise equality of message blocks. Hence, it is insecure in
\end{slide}
\begin{slide}
+ \head{Counter (CTR), \seq: diagram}
+
+ \vfil
+ \[ \begin{graph}
+ []!{0; <1cm, 0cm>: <0cm, 1.5cm>::}
+ *+=(1, 0)+[F]{\mathstrut x_0}="x" :[dd] *{\xor}="xor"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_0}
+ "xor" [l] *+[F]{E}="e" [u] {c} :"e" [d] {K} :"e" :"xor" "x" [rrr]
+ *+=(1, 0)+[F]{\mathstrut x_1}="x" :[dd] *{\xor}="xor"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_1}
+ "xor" [l] *+[F]{E}="e" [u] {c+1} :"e" [d] {K} :"e" :"xor" "x" [rrr]
+ *+=(1, 0)+[F--]{\mathstrut x_i}="x" :@{-->}[dd] *{\xor}="xor"
+ :@{-->}[dd] *+=(1, 0)+[F--]{\mathstrut y_i}
+ "xor" [l] *+[F]{E}="e" [u] {c+i} :@{-->}"e" [d] {K} :@{-->}"e"
+ :@{-->}"xor" "x" [rrr]
+ *+=(1, 0)+[F]{\mathstrut x_n}="x" :[dd] *{\xor}="xor"
+ :[dd] *+=(1, 0)+[F]{\mathstrut y_n}
+ "xor" [l] *+[F]{E}="e" [u] {c+n} :"e" [d] {K} :"e" :"xor" "x" [rrr]
+ \end{graph} \]
+ \vfil
+\end{slide}
+
+\begin{slide}
\head{Counter (CTR), \seq: analysis of the stateful version}
We write $q' = q\mu/l$ for the total number of blocks queried by the
\end{slide}
\begin{slide}
+ \head{Ciphertext Block Chaining (CBC), \seq: diagram}
+
+ \vfil
+ \[ \begin{graph}
+ []!{0; <1cm, 0cm>: <0cm, 1.5cm>::}
+ *+=(1, 0)+[F]{\mathstrut x_0}="x"
+ :[d] *{\xor}="xor"
+ [ll] *+=(1, 0)+[F]{I} :"xor"
+ :[d] *+[F]{E}="e" :[dd] *+=(1, 0)+[F]{\mathstrut y_0}="i"
+ "e" [l] {K} :"e" "i"
+ [rrruuuu] *+=(1, 0)+[F]{\mathstrut x_1}="x"
+ :[d] *{\xor}="xor"
+ "i" :`r [ru] `u "xor" "xor"
+ :[d] *+[F]{E}="e" :[dd] *+=(1, 0)+[F]{\mathstrut y_1}="i"
+ "e" [l] {K} :"e" "i"
+ [rrruuuu] *+=(1, 0)+[F--]{\mathstrut x_i}="x"
+ :@{-->}[d] *{\xor}="xor"
+ "i" :@{-->}`r [ru] `u "xor" "xor"
+ :@{-->}[d] *+[F]{E}="e" :@{-->}[dd] *+=(1, 0)+[F--]{\mathstrut y_i}="i"
+ "e" [l] {K} :@{-->}"e" "i"
+ [rrruuuu] *+=(1, 0)+[F]{\mathstrut x_n}="x"
+ :[d] *{\xor}="xor"
+ "i" :@{-->}`r [ru] `u "xor" "xor"
+ :[d] *+[F]{E}="e" :[dd] *+=(1, 0)+[F]{\mathstrut y_n}="i"
+ "e" [l] {K} :"e" "i"
+ \end{graph} \]
+ \vfil
+\end{slide}
+
+\begin{slide}
\head{Ciphertext Block Chaining (CBC), \seq: analysis}
As before, we set $q' = q\mu/l$ as the number of blocks queried by an