relative postioning in tikzpictures

This commit is contained in:
Marei (peiTeX)
2023-03-17 16:57:58 +01:00
parent 6212153c48
commit 80697e6189
2 changed files with 65 additions and 35 deletions

View File

@@ -91,53 +91,72 @@ $\texttt{shk} = \texttt{KEM.Decaps}(\texttt{sk}, \texttt{ct})$
\end{frame} \end{frame}
\begin{frame}{Minimal key exchange using KEMs} \begin{frame}{Minimal key exchange using KEMs}
\begin{tikzpicture} \begin{tikzpicture}[shorten > = 1pt,shorten < = 1pt]
\draw (-3,0) -- (-3,-5) (3,0) -- (3,-5); \draw (-3,0) node[above](initiator){Initiator\strut} -- coordinate[pos=.2](pk-y) coordinate[pos=.6](ct-y)coordinate[pos=.8](ack-y)+(0,-5);
\node at (-3,.3) {Initiator}; \draw (3,0) node[above](responder){Responder}-- +(0,-5);
\node at (3,.3) {Responder};
\draw[<-] (-3,-1) -- node[midway,above] {pk} (3,-1); \draw[<-](pk-y-|initiator) -- node[above]{pk} (pk-y-|responder);
\draw[->] (-3,-3) -- node[midway,above] {ct} (3,-3); \draw[->](ct-y-|initiator) -- node[above] {ct} (ct-y-|responder);
\draw[<-] (-3,-4) -- node[midway,above] {(ack)} (3,-4); \draw[<-](ack-y-|initiator) -- node[above] {(ack)} (ack-y-|responder);
\end{tikzpicture} \end{tikzpicture}
\end{frame} \end{frame}
\begin{frame}{Three encapsulations: Achieving mutual authentication \& forward secrecy} \begin{frame}{Three encapsulations: Achieving mutual authentication \& forward secrecy}
\tikzset{shorten > = 1pt,shorten < = 1pt}
\begin{columns} \begin{columns}
\begin{column}{.30\textwidth} \begin{column}{.30\textwidth}
\begin{tikzpicture} \begin{tikzpicture}
\draw (-1,0) -- (-1,-5) (1,0) -- (1,-5); \draw (-1,0) node[above](initiator){Initiator\strut} --
\node at (-1,.1) {Initiator}; coordinate[pos=.2](spkr-y)
\node at (1,.1) {Responder}; coordinate[pos=.6](sctr-y)
\draw[<-] (-1,-1) -- node[midway,above] {spkr} (1,-1); coordinate[pos=.76](ack-y)+(0,-5);
\draw[->] (-1,-3) -- node[midway,above] {sctr} (1,-3); \draw (1,0) node[above](responder){Responder}-- +(0,-5);
\draw[<-] (-1,-3.8) -- node[midway,above] {(ack)} (1,-3.8);
\draw[<-](spkr-y-|initiator) -- node[above]{spkr} (spkr-y-|responder);
\draw[->](sctr-y-|initiator) -- node[above] {sctr} (sctr-y-|responder);
\draw[<-](ack-y-|initiator) -- node[above] {(ack)} (ack-y-|responder);
\end{tikzpicture} \end{tikzpicture}
Responder Auth Responder Auth
\end{column} \end{column}
\begin{column}{.30\textwidth} \begin{column}{.30\textwidth}
\begin{tikzpicture} \begin{tikzpicture}
\draw (-1,0) -- (-1,-5) (1,0) -- (1,-5); \draw (-1,0) node[above](initiator){Initiator\strut} --
\node at (-1,.1) {Initiator}; coordinate[pos=.2](spki-y)
\node at (1,.1) {Responder}; coordinate[pos=.6](Hspki-y)
\draw[->] (-1,-1) -- node[midway,above] {spki} (1,-1); coordinate[pos=.76] (scti-y)
\draw[->] (-1,-3) -- node[midway,above] {H(spki)} (1,-3); coordinate[pos=.92](ack-y)+(0,-5);
\draw[<-] (-1,-3.8) -- node[midway,above] {scti} (1,-3.8); \draw (1,0) node[above](responder){Responder}-- +(0,-5);
\draw[->] (-1,-4.6) -- node[midway,above] {(ack)} (1,-4.6);
\draw[->](spki-y-|initiator) -- node[above]{spki} (spki-y-|responder);
\draw[->](Hspki-y-|initiator) -- node[above] {H(spki)} (Hspki-y-|responder);
\draw[<-](scti-y-|initiator) -- node[above]{scti} (scti-y-|responder);
\draw[->](ack-y-|initiator) -- node[above] {(ack)} (ack-y-|responder);
\end{tikzpicture} \end{tikzpicture}
Initiator Auth Initiator Auth
\end{column} \end{column}
\begin{column}{.30\textwidth} \begin{column}{.30\textwidth}
\begin{tikzpicture} \begin{tikzpicture}
\draw (-1,0) -- (-1,-5) (1,0) -- (1,-5); \draw (-1,0) node[above](initiator){Initiator\strut} --
\node at (-1,.1) {Initiator}; coordinate[pos=.6](epki-y)
\node at (1,.1) {Responder}; coordinate[pos=.76] (ecti-y)
\draw[->] (-1,-3) -- node[midway,above] {epki} (1,-3); coordinate[pos=.92](ack-y)+(0,-5);
\draw[<-] (-1,-3.8) -- node[midway,above] {ecti} (1,-3.8); \draw (1,0) node[above](responder){Responder}-- +(0,-5);
\draw[->] (-1,-4.6) -- node[midway,above] {(ack)} (1,-4.6);
\draw[->](epki-y-|initiator) -- node[above]{epki} (epki-y-|responder);
\draw[<-](ecti-y-|initiator) -- node[above]{ecti} (ecti-y-|responder);
\draw[->](ack-y-|initiator) -- node[above] {(ack)} (ack-y-|responder);
\end{tikzpicture} \end{tikzpicture}
Forward secrecy Forward secrecy
\end{column} \end{column}
@@ -147,16 +166,20 @@ Forward secrecy
\begin{frame}{Combining the three encapsulations in one protocol} \begin{frame}{Combining the three encapsulations in one protocol}
\begin{tikzpicture} \begin{tikzpicture}[shorten > = 1pt,shorten < = 1pt]
\draw (-3,0) -- (-3,-5) (3,0) -- (3,-5); \draw (-3,0) node[above](initiator){Initiator\strut} -- coordinate[pos=.2](spki-y)
\node at (-3,.1) {Initiator}; coordinate[pos=.35](spkr-y)
\node at (3,.1) {Responder}; coordinate[pos=.6](epki-y)
\draw[->] (-3,-1) -- node[midway,above] {spki} (3,-1); coordinate[pos=.75](scti-y)
\draw[<-] (-3,-1.8) -- node[midway,above] {spkr} (3,-1.8); coordinate[pos=.9](ack-y)+(0,-5);
\draw (3,0) node[above](responder){Responder}-- +(0,-5);
\draw[->](spki-y-|initiator) -- node[above] {spki} (spki-y-|responder);
\draw[<-](spkr-y-|initiator) -- node[above] {spkr} (spkr-y-|responder);
\draw[->](epki-y-|initiator) -- node[above] {epki, sctr, H(spki)} (epki-y-|responder);
\draw[<-](scti-y-|initiator) -- node[above] {scti,ecti} (scti-y-|responder);
\draw[->](ack-y-|initiator) -- node[above] {(ack)} (ack-y-|responder);
\draw[->] (-3,-3) -- node[midway,above] {epki, sctr, H(spki)} (3,-3);
\draw[<-] (-3,-3.8) -- node[midway,above] {scti,ecti} (3,-3.8);
\draw[->] (-3,-4.6) -- node[midway,above] {(ack)} (3,-4.6);
\end{tikzpicture} \end{tikzpicture}
Note that the initiator is not authenticated until they send `(ack)`. Note that the initiator is not authenticated until they send `(ack)`.

View File

@@ -33,6 +33,13 @@
\renewcommand<>{\hl}[1]{\only#2{\beameroriginal{\hl}}{#1}} \renewcommand<>{\hl}[1]{\only#2{\beameroriginal{\hl}}{#1}}
\usepackage[beamer]{hf-tikz} \usepackage[beamer]{hf-tikz}
\usetikzlibrary{arrows.meta}
\tikzset{
>=Latex[round]
}
\urlstyle{same}
% https://tex.stackexchange.com/questions/41683/why-is-it-that-coloring-in-soul-in-beamer-is-not-visible % https://tex.stackexchange.com/questions/41683/why-is-it-that-coloring-in-soul-in-beamer-is-not-visible
\makeatletter \makeatletter
\newcommand\SoulColor{% \newcommand\SoulColor{%