Encryption mode diagrams.
authormdw <mdw>
Wed, 30 Jan 2002 09:57:35 +0000 (09:57 +0000)
committermdw <mdw>
Wed, 30 Jan 2002 09:57:35 +0000 (09:57 +0000)
enc-symm.tex

index 18a05c6..6434b4f 100644 (file)
 \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