From a5eaa4838f81fe396b428708702bc392189e7484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 7 Mar 2021 21:15:31 +0100 Subject: Diffie-Hellmann --- vorlesungen/slides/4/Makefile.inc | 1 + vorlesungen/slides/4/chapter.tex | 1 + vorlesungen/slides/4/dh.tex | 62 +++++++++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 2 +- 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/slides/4/dh.tex diff --git a/vorlesungen/slides/4/Makefile.inc b/vorlesungen/slides/4/Makefile.inc index 91767a9..4eae5b0 100644 --- a/vorlesungen/slides/4/Makefile.inc +++ b/vorlesungen/slides/4/Makefile.inc @@ -12,5 +12,6 @@ chapter4 = \ ../slides/4/fp.tex \ ../slides/4/division.tex \ ../slides/4/gauss.tex \ + ../slides/4/dh.tex \ ../slides/4/chapter.tex diff --git a/vorlesungen/slides/4/chapter.tex b/vorlesungen/slides/4/chapter.tex index 27884a1..38e90eb 100644 --- a/vorlesungen/slides/4/chapter.tex +++ b/vorlesungen/slides/4/chapter.tex @@ -10,3 +10,4 @@ \folie{4/fp.tex} \folie{4/division.tex} \folie{4/gauss.tex} +\folie{4/dh.tex} diff --git a/vorlesungen/slides/4/dh.tex b/vorlesungen/slides/4/dh.tex new file mode 100644 index 0000000..b0a88e5 --- /dev/null +++ b/vorlesungen/slides/4/dh.tex @@ -0,0 +1,62 @@ +% +% dh.tex +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\begin{frame}[t] +\frametitle{Diffie-Hellmann Schlüsselaushandlung} + +\begin{center} +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\skala{0.95} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\def\l{2.5} +\fill[color=blue!20] (-7,-6.5) rectangle (7,0.5); +\fill[color=red!20] (-\l,-6.5) rectangle (\l,0.501); +\node[color=red] at (0,-1.5) {öffentliches Netzwerk}; +\node[color=blue] at (-7,0.2) [right] {privat}; +\node[color=blue] at (7,0.2) [left] {privat}; +\coordinate (A) at (-\l,-2.5); +\coordinate (C) at (\l,-5.0); +\coordinate (B) at (\l,-2.5); +\coordinate (D) at (-\l,-5.0); +\node at (0,0) {$p\in\mathbb{N},g\in\mathbb{F}_p$ aushandeln}; +\fill[color=white] (-\l,-0.7) circle[radius=0.3]; +\draw (-\l,-0.7) circle[radius=0.3]; +\fill[color=white] (\l,-0.7) circle[radius=0.3]; +\draw (\l,-0.7) circle[radius=0.3]; +\node at (-\l,-0.7) {$A$}; +\node at (\l,-0.7) {$B$}; +\uncover<2->{ + \node at (-\l,-1.5) [left] {$a$ auswählen\strut}; + \node at (-\l,-2.0) [left] {$x=g^a\in\mathbb{F}_p$\strut}; + \node at (\l,-1.5) [right] {$b$ auswählen\strut}; + \node at (\l,-2.0) [right] {$y=g^b\in\mathbb{F}_p$\strut}; +} +\draw[->] (-\l,-1) -- (-\l,-6); +\draw[->] (\l,-1) -- (\l,-6); +\uncover<3->{ + \draw[->] (A) -- (C); + \draw[->] (B) -- (D); + \fill (A) circle[radius=0.08]; + \fill (B) circle[radius=0.08]; + \node at ($0.8*(A)+0.2*(C)+(-0.4,0)$) [above right] {$x=g^a$}; + \node at ($0.8*(B)+0.2*(D)+(0.4,0)$) [above left] {$y=g^b$}; +} +\uncover<4->{ + \node at (-\l,-5.0) [left] {$s=g^{ab}=y^a\in\mathbb{F}_p$}; + \node at (-\l,-5.5) [left] {ausrechnen}; + \node at (\l,-5.0) [right] {$s=g^{ab}=x^b\in\mathbb{F}_p$}; + \node at (\l,-5.5) [right] {ausrechnen}; +} +\uncover<5->{ + \fill[rounded corners=0.3cm,color=darkgreen!20] + ({-\l-1.7},-7) rectangle ({\l+1.7},-6); + \draw[rounded corners=0.3cm] ({-\l-1.7},-7) rectangle ({\l+1.7},-6); + \node at (0,-6.5) {$A$ und $B$ haben den gemeinsamen Schlüssel $s$}; +} +\end{tikzpicture} + +\end{center} + +\end{frame} diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 07fb6a8..9d1f6ef 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -31,7 +31,7 @@ %\folie{4/fp.tex} %\folie{4/division.tex} %\folie{4/gauss.tex} -% XXX \folie{4/dh.tex} +\folie{4/dh.tex} % XXX ? \folie{4/polynomefp.tex} % XXX \folie{4/frobenius.tex} -- cgit v1.2.1