diff options
-rw-r--r-- | vorlesungen/07_msecrypto/crypto-handout.tex (renamed from vorlesungen/07_msecrypto/msecrypto-handout.tex) | 0 | ||||
-rw-r--r-- | vorlesungen/07_msecrypto/slides.tex | 14 | ||||
-rw-r--r-- | vorlesungen/slides/a/Makefile.inc | 6 | ||||
-rw-r--r-- | vorlesungen/slides/a/chapter.tex | 3 | ||||
-rw-r--r-- | vorlesungen/slides/a/ecc/gruppendh.tex | 51 | ||||
-rw-r--r-- | vorlesungen/slides/a/ecc/inverse.tex | 48 | ||||
-rw-r--r-- | vorlesungen/slides/a/ecc/kurve.tex | 56 | ||||
-rw-r--r-- | vorlesungen/slides/test.tex | 9 |
8 files changed, 176 insertions, 11 deletions
diff --git a/vorlesungen/07_msecrypto/msecrypto-handout.tex b/vorlesungen/07_msecrypto/crypto-handout.tex index d42a260..d42a260 100644 --- a/vorlesungen/07_msecrypto/msecrypto-handout.tex +++ b/vorlesungen/07_msecrypto/crypto-handout.tex diff --git a/vorlesungen/07_msecrypto/slides.tex b/vorlesungen/07_msecrypto/slides.tex index e95d534..bdd4087 100644 --- a/vorlesungen/07_msecrypto/slides.tex +++ b/vorlesungen/07_msecrypto/slides.tex @@ -7,18 +7,20 @@ \folie{4/dh.tex} \section{Divide and Conquer} -% XXX Potenzieren -%\folie{a/dc/prinzip.tex} -% XXX effiziente Durchführung -%\folie{a/dc/effizient.tex} -% XXX Beispieldurchführung -%\folie{a/dc/beispiel.tex} +% Potenzieren +\folie{a/dc/prinzip.tex} +% effiziente Durchführung +\folie{a/dc/effizient.tex} +% Beispieldurchführung +\folie{a/dc/beispiel.tex} \section{Elliptische Kurven} % XXX Idee %\folie{a/ecc/gruppendh.tex} % XXX Was ist eine elliptische Kurve (char 0 Bild) %\folie{a/ecc/kurve.tex} +% XXX Involution/Inverse +%\folie{a/ecc/inverse.tex} % XXX Verknüpfung %\follie{a/ecc/operation.tex} % XXX Quadrieren diff --git a/vorlesungen/slides/a/Makefile.inc b/vorlesungen/slides/a/Makefile.inc index 9b88c8f..45e22fc 100644 --- a/vorlesungen/slides/a/Makefile.inc +++ b/vorlesungen/slides/a/Makefile.inc @@ -1,4 +1,3 @@ - # # Makefile.inc -- additional depencencies # @@ -8,5 +7,10 @@ chaptera = \ ../slides/a/dc/prinzip.tex \ ../slides/a/dc/effizient.tex \ ../slides/a/dc/beispiel.tex \ + \ + ../slides/a/ecc/gruppendh.tex \ + ../slides/a/ecc/kurve.tex \ + ../slides/a/ecc/inverse.tex \ + \ ../slides/a/chapter.tex diff --git a/vorlesungen/slides/a/chapter.tex b/vorlesungen/slides/a/chapter.tex index f03ca19..270aa0d 100644 --- a/vorlesungen/slides/a/chapter.tex +++ b/vorlesungen/slides/a/chapter.tex @@ -8,4 +8,7 @@ \folie{a/dc/effizient.tex} \folie{a/dc/beispiel.tex} +\folie{a/ecc/gruppendh.tex} +\folie{a/ecc/kurve.tex} +\folie{a/ecc/inverse.tex} diff --git a/vorlesungen/slides/a/ecc/gruppendh.tex b/vorlesungen/slides/a/ecc/gruppendh.tex new file mode 100644 index 0000000..13d85c8 --- /dev/null +++ b/vorlesungen/slides/a/ecc/gruppendh.tex @@ -0,0 +1,51 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Diffie-Hellmann verallgemeinern} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Diffie-Hellman in $\mathbb{F}_p$\strut} +\begin{enumerate} +\item<2-> Parteien einigen sich auf $g\in \mathbb{F}_p$, $g\ne 0$, $g\ne 1$ +\item<3-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<4-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<5-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block} +\uncover<11->{% +{\usebeamercolor[fg]{title}Spezialfall:} $G=\mathbb{F}_p^*$ +} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Diffie-Hellmann in $G$\strut} +\begin{enumerate} +\item<7-> Parteien einigen sich auf $g\in G$, $g\ne e$ +\item<8-> $A$ und $B$ wählen Exponenten $a,b\in \mathbb{N}$ +\item<9-> Parteien tauschen $u=g^a$ und $v=g^b$ aus +\item<10-> Parteien berechnen $v^a$ und $u^b$ +\[ +v^a = (g^b)^a = g^{ab} =(g^a)^b = u^b +\] +gemeinsamer privater Schlüssel +\end{enumerate} +\end{block}} +\uncover<12->{% +{\usebeamercolor[fg]{title}Idee:} Wähle effizient zu berechnende, ``grosse'' +Gruppen, mit ``komplizierter'' Multiplikation +} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/inverse.tex b/vorlesungen/slides/a/ecc/inverse.tex new file mode 100644 index 0000000..f66101d --- /dev/null +++ b/vorlesungen/slides/a/ecc/inverse.tex @@ -0,0 +1,48 @@ +% +% inverse.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Involution/Inverse} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{In speziellen Koordinaten} +\vspace{-12pt} +\[ +v^2 = u^3+Au+B +\] +\uncover<2->{invariant unter $v\mapsto -v$}% +\\ +\uncover<3->{{\color{red}geht nicht in $\mathbb{F}_2$}} +\end{block} +\uncover<4->{% +\begin{block}{Allgemein} +\vspace{-12pt} +\begin{align*} +Y^2+XY &= X^3 + aX+b +\\ +\uncover<5->{% +Y(Y+X) &= X^3 + aX + b} +\end{align*} +\uncover<6->{invariant unter} +\begin{align*} +\uncover<7->{X&\mapsto X,& Y&\mapsto -X-Y} +\\ +\uncover<8->{&&\Rightarrow X+Y&\mapsto -Y} +\end{align*} +Spezialfall $\mathbb{F}_2$: $Y\leftrightarrow X+Y$ +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/a/ecc/kurve.tex b/vorlesungen/slides/a/ecc/kurve.tex new file mode 100644 index 0000000..9cf1aa2 --- /dev/null +++ b/vorlesungen/slides/a/ecc/kurve.tex @@ -0,0 +1,56 @@ +% +% kurve.tex -- elliptische Kurven +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Kubische Kurven} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\uncover<5->{% +\includegraphics[width=\textwidth]{../../buch/chapters/90-crypto/images/elliptic.pdf} +} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Allgemein} +mit $a,b\in\Bbbk$ +\[ +Y^2 + XY = X^3 + aX + b +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Spezielle Parametrisierung} +\vspace{-10pt} +\begin{align*} +Y^2 + XY + \frac14X^2 +&= +X^3 + \frac14X^2 + aX + b +\\ +\uncover<3->{ +(Y+\frac12X)^2 +&= +X^3 + \frac14X^2 + aX + b +}\\ +\uncover<4->{ +v^2 +&= +u^3+Au+B} +\end{align*} +\uncover<4->{mit +\[ +v=Y+{\textstyle\frac12}X, +\qquad +u=X+\frac1{12} +\]} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index ffd492c..8a7c0a7 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -4,12 +4,13 @@ % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{a/dc/prinzip.tex} -\folie{a/dc/effizient.tex} -\folie{a/dc/beispiel.tex} +%\folie{a/dc/prinzip.tex} +%\folie{a/dc/effizient.tex} +%\folie{a/dc/beispiel.tex} %\folie{a/ecc/gruppendh.tex} -%\folie{a/ecc/kurve.tex} +\folie{a/ecc/kurve.tex} +\folie{a/ecc/inverse.tex} %\folie{a/ecc/operation.tex} %\folie{a/ecc/quadrieren.tex} |