initial
[doc/deny] / iso.tex
1 \documentclass{article}
2
3 \usepackage{tikz}
4 \usetikzlibrary{%
5 shapes.symbols,shapes.callouts,%
6 decorations.pathreplacing,positioning,calc}
7 \tikzset{
8 mugshot/.style = {draw, fill = white, inner sep = 0, outer sep = \jot},
9 thought/.style = {
10 shape = cloud callout, cloud ignores aspect, draw, fill = white,
11 cloud puffs = 20, cloud puff arc = 110,
12 callout absolute pointer = (#1)
13 },
14 box/.style = {draw, minimum size = 16pt, fill = #1},
15 op/.style = {box = #1, shape = circle},
16 rounded/.style = {rounded corners = 2mm},
17 offset/.style = {transform canvas = {shift = {#1}}},
18 > = stealth
19 }
20
21 \begin{document}
22
23 \begin{tikzpicture}[node distance = 5mm]
24 \node[box = yellow!20, minimum width = 30mm] (m) {$m$};
25 \node[op = red!20, below = of m] (enc) {$E$}
26 edge[<-] (m);
27 \coordinate[below = of enc] (p);
28 \node[box = red!20, minimum width = 30mm + 15pt, below = of enc]
29 (c) {$c$}
30 edge[<-] (enc);
31 \node[box = green!20, right = -0.6pt of c] (sig) {$\sigma$};
32 \node[box = blue!20, left = -0.6pt of c] (u) {$u$};
33 \node[op = green!20, above = 10mm] at (sig |- m) (s) {$S$}
34 edge[->] (sig);
35 \node[above = of s] {$a'$} edge[->] (s);
36 \draw[->] (s |- enc) -- (enc);
37 \node[box = green!20, left = 25mm of s, below] (t2) {$\tau$};
38 \node[box = blue!20, above = -0.6pt of t2] (b2) {$B$};
39 \draw[decorate, decoration = brace]
40 (b2.north east) -- (t2.south east)
41 coordinate[pos = 0.5, right = 2.5pt] (sm) edge[->] (s);
42 \node[box = green!20, left = of t2] (tag) {$\tau$} edge[->] (t2);
43 \node[box = red!20, left = -0.6pt of tag] (k) {$K$};
44 \draw[rounded, ->] (k) |- (enc);
45 \draw[decorate, decoration = brace]
46 (k.north west) -- (tag.north east)
47 coordinate[pos = 0.5, above = 2.5pt] (z);
48 \node[op = blue!20, above = 8mm of z] (kem) {$\mathcal{E}$}
49 edge[->] (z);
50 \draw[rounded, ->] (kem) -| +(-10mm, -8mm) |- (u);
51 \node at (kem -| b2) {$B$} edge[->] (kem) edge[->] (b2);
52 \end{tikzpicture}
53
54 \end{document}