1 \documentclass{article
}
5 shapes.symbols,shapes.callouts,
%
6 decorations.pathreplacing,positioning,calc
}
8 mugshot/.style =
{draw, fill = white, inner sep =
0, outer sep =
\jot},
10 shape = cloud callout, cloud ignores aspect, draw, fill = white,
11 cloud puffs =
20, cloud puff arc =
110,
12 callout absolute pointer = (
#1)
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}}},
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$
}
27 \coordinate[below = of enc
] (p);
28 \node[box = red!
20, minimum width =
30mm +
15pt, below = of 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$
}
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
}$
}
50 \draw[rounded, ->
] (kem) -| +(-
10mm, -
8mm) |- (u);
51 \node at (kem -| b2)
{$B$
} edge
[->
] (kem) edge
[->
] (b2);