我怎样才能使用 Tikz 生成这个图形

我怎样才能使用 Tikz 生成这个图形

我想生成下图(第 6 页https://eprint.iacr.org/2021/150.pdf)。

在此处输入图片描述

我认为这个图是使用 Tikz 或 Table 生成的。

但是,我不知道如何生成它。

有人知道如何获得它吗?

谢谢。

答案1

在此处输入图片描述

以下是如何将其tabular放置在环境内部来进行此操作figure

\documentclass{article}
\usepackage{mathtools}  % For \coloneqq :=
\renewcommand{\arraystretch}{1.4}  % Increase spacing between rows by 1.4
\newcommand{\lineNumber}[1]{{\scriptsize \textit{#1}}}  % For consistently typesetting the line numbers
\begin{document}
    \begin{figure}
        \centering
        \fbox{
        \begin{tabular}{p{5.5cm}ll}
             \(\mathsf{aWitExt}_{\mathcal{A},\mathsf{aSIG_{R,SIG}}}(n)\) & \(\mathcal{O}_{\mathrm{S}}(m)\) & \(\mathcal{O}_{\mathrm{pS}}(m, Y)\)\\\hline
             \lineNumber{1} : \(\mathcal{Q} \coloneqq \emptyset, (sk, pk) \leftarrow \mathsf{Gen}(1^n)\) & \lineNumber{1} : \(\sigma \leftarrow \mathsf{Sign}_{sk}(m)\) & \lineNumber{1} : \(\tilde{\sigma} \leftarrow \mathsf{pSign}_{sk}(m, Y)\)\\
             \lineNumber{2} : \((m^*, Y^*) \leftarrow \mathcal{A}^{\mathcal{O}_{\mathrm{S}}, \mathcal{O}_{\mathrm{pS}}}(pk)\) & \lineNumber{2} : \(\mathcal{Q} \coloneqq \mathcal{Q} \cup \{m\}\) & \lineNumber{2} : \(\mathcal{Q} \coloneqq \mathcal{Q} \cup \{m\}\)\\
             \lineNumber{3} : \(\tilde{\sigma} \leftarrow \mathsf{pSign}_{sk}(m^*, Y^*)\) & \lineNumber{3} : \textbf{return} \(\sigma\) & \lineNumber{3} : \textbf{return} \(\tilde{\sigma}\)\\
             \lineNumber{4} : \(\sigma^* \leftarrow \mathcal{A}^{\mathcal{O}_S, \mathcal{O}_{pS}}(\tilde{\sigma})\) & & \\
             \lineNumber{5} : \(y \coloneqq \mathsf{Ext}_{pk}(\sigma^*, \tilde{\sigma}, Y^*)\) & & \\
             \multicolumn{2}{l}{\lineNumber{6} : \textbf{return} \((m^* \notin \mathcal{Q} \wedge (Y^*, y) \notin \mathsf{R} \wedge \mathsf{Vrfy}_{pk}(m^*; \sigma^*))\)} &
        \end{tabular}
        }
        \caption{Caption}
    \end{figure}
\end{document}

相关内容