TikZ 或 cryptocode 包用于加密协议图

TikZ 或 cryptocode 包用于加密协议图

我正在使用 cryptocode 包来制定 4 个玩家的协议。

\fbox{
\procedure{name}{%
 \textbf{Alice}  \< \textbf{Verisign}  \< \textbf{Eve}  \< \textbf{Bob} \\
\sendmessageright{top=\text{hello}} \<\\
\<\sendmessageright{top=\text{hello}} \<\\
\<\<\sendmessageright{top=\text{hello}} \<\\
 }
 }

我认为这是一个非常复杂的软件包,没有明确的文档。我写信是想向专家询问,对于这样的图表,是坚持使用密码还是使用 TikZ 更好。如果有人能用 TikZ 帮我完成这个例子,我将不胜感激 :-) 谢谢 在此处输入图片描述

答案1

你知道吗msc包裹? 它被开发为包含消息序列图。(注意:您应该使用 XeLaTeX 进行编译)您的示例如下所示:

在此处输入图片描述

\documentclass{article}
\usepackage{msc}

\begin{document}

\drawframe{no}
\begin{msc}{name}
    \declinst{A}{}{Alice}
    \declinst{B}{}{Verisign}
    \declinst{C}{}{Eve}
    \declinst{D}{}{Bob}
    \mess{hello}{A}{B}
    \nextlevel
    \mess{hello}{B}{C}
    \nextlevel
    \mess{hello}{C}{D}
\end{msc}

\end{document}

或者,您可以使用TikZtikzpeople您可以为所有这些严肃的协议引入一些乐趣。

在此处输入图片描述

\documentclass[tikz, border=2mm]{standalone}

\usepackage{lmodern, tikzpeople}
\usetikzlibrary{positioning, shapes.multipart}

\begin{document}

\begin{tikzpicture}[people/.style={minimum width=1.5cm}]
\node[people, alice] (alice) {Alice};
\node[people, priest, right=of alice] (vs) {Verisign};
\node[people, nun, right=of vs] (eve) {Eve};
\node[people, bob, right=of eve] (bob) {Bob};

\draw[->] ([yshift=-1cm]alice.south) coordinate (l1)--(l1-|vs) node[midway, above]{Hello};
\draw[->] ([yshift=-1.5cm]vs.south) coordinate (l2)--(l2-|eve) node[midway, above]{Hello};
\draw[->] ([yshift=-2cm]eve.south) coordinate (l3)--(l3-|bob) node[midway, above]{Hello};
\end{tikzpicture}

\end{document}

相关内容