如何在 LaTeX 中制定安全协议?

如何在 LaTeX 中制定安全协议?

我在 Google 上搜索了如何用 LaTeX 制作一个安全协议,如下所述:请问有人能帮我做一下吗:

enter image description here

答案1

我建议您研究设计一个三列array环境。

我承认我对这种符号完全不熟悉。特别是,我不确定如何解释/排版中间一列的内容:箭头和它们上方的内容是否紧密相关,还是应该排版在不同的行上?请指教。

enter image description here

\documentclass{article} 
\usepackage[a4paper,margin=2.5cm]{geometry} % choose page parameter suitably
\usepackage{amsmath,booktabs}
\newcommand\vn[1]{\textsc{\MakeLowercase{#1}}} % "variable name" macro
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\newcommand\ID{\mathit{ID}}
\begin{document} 
\begin{figure}
\[ % start math mode, center the contents
\begin{array}{lcl}
\mc{\text{AHE}} & & \mc{\text{Meter}} \\
\cmidrule{1-1} \cmidrule{3-3}
X_{\vn{AHE}}=a^{x_{\vn{AHE}}} & & 
  X_{\vn{M}}=a^{x_{\vn{M}}}\\
h_{\vn{AHE}}=H(\ID_{\vn{AHE}} \Vert X_{\vn{AHE}}) & &
  h_{\vn{M}}=H(\ID_{\vn{M}}\Vert X_{\vn{M}})\\
m_{\vn{AHE}}=h_{\vn{AHE}}\Vert \ID_{\vn{AHE}}\Vert X_{\vn{AHE}} &
  \overset{m_{\vn{AHE}\vphantom{y}}}{\longrightarrow} &
  \text{verifies $h_{\vn{AHE}}$}\\
  \text{verifies $h_{\vn{M}}$} &
  \overset{m_{\vn{M}}}{\longleftarrow} &
\text{computes: }m_{\vn{M}}=h_{\vn{M}}\Vert \ID_{\vn{M}} \Vert X_{\vn{M}} \\
\text{computes session key:}\\
  k_{\vn{AHE}}^{\vn{M}}=\dots\\
  c_{\vn{AHE}}=\dots\\
\mathrm{mess}_{\vn{AHE}}=\dots &
  \overset{\mathrm{mess}_{\vn{AHE}\vphantom{y}}}{\longrightarrow} &
  k_{\vn{M}}^{\vn{AHE}}=X_{\vn{AHE}}^{x_{\vn{M}}}\\
&& c_{\vn{AHE}}=\dots\\
\text{check if}&& c_{\vn{M}} = \dots\\
c_{\vn{M}}=\dots &
  \overset{\mathrm{mess}_{\vn{M}\vphantom{y}}}{\longleftarrow} &
  \mathrm{mess}_{\vn{M}}=\dots\\
\end{array}
\]
\caption{Kamto \dots}
\end{figure}
\end{document}

相关内容