aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/4/schieberegister.tex
diff options
context:
space:
mode:
authorLordMcFungus <mceagle117@gmail.com>2021-03-22 18:05:11 +0100
committerGitHub <noreply@github.com>2021-03-22 18:05:11 +0100
commit76d2d77ddb2bed6b7c6b8ec56648d85da4103ab7 (patch)
tree11b2d41955ee4bfa0ae5873307c143f6b4d55d26 /vorlesungen/slides/4/schieberegister.tex
parentmore chapter structure (diff)
parentadd title image (diff)
downloadSeminarMatrizen-76d2d77ddb2bed6b7c6b8ec56648d85da4103ab7.tar.gz
SeminarMatrizen-76d2d77ddb2bed6b7c6b8ec56648d85da4103ab7.zip
Merge pull request #1 from AndreasFMueller/master
update
Diffstat (limited to 'vorlesungen/slides/4/schieberegister.tex')
-rw-r--r--vorlesungen/slides/4/schieberegister.tex120
1 files changed, 120 insertions, 0 deletions
diff --git a/vorlesungen/slides/4/schieberegister.tex b/vorlesungen/slides/4/schieberegister.tex
new file mode 100644
index 0000000..f349337
--- /dev/null
+++ b/vorlesungen/slides/4/schieberegister.tex
@@ -0,0 +1,120 @@
+%
+% schieberegister.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\def\ds{0.7}
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\def\punkt#1#2{({(#1)*\ds},{(#2)*\ds})}
+\def\rahmen{
+ \draw ({-0.5*\ds},{-0.5*\ds}) rectangle ({7.5*\ds},{0.5*\ds});
+ \foreach \x in {0.5,1.5,...,6.5}{
+ \draw ({\x*\ds},{-0.5*\ds}) rectangle ({\x*\ds},{0.5*\ds});
+ }
+}
+\def\polynom#1#2#3#4#5#6#7#8{
+ \node at \punkt{0}{0} {$#1$};
+ \node at \punkt{1}{0} {$#2$};
+ \node at \punkt{2}{0} {$#3$};
+ \node at \punkt{3}{0} {$#4$};
+ \node at \punkt{4}{0} {$#5$};
+ \node at \punkt{5}{0} {$#6$};
+ \node at \punkt{6}{0} {$#7$};
+ \node at \punkt{7}{0} {$#8$};
+}
+\begin{frame}[t]
+\frametitle{Implementation der Multiplikation in $\mathbb{F}_2(\alpha)$\uncover<10->{: Schieberegister}}
+Rechnen in $\mathbb{F}_2[X]$\only<5->{ und $\mathbb{F}_2(\alpha)$}
+ist speziell einfach
+\\
+Minimalpolynom von $\alpha$: ${\color{darkgreen}m(X) = X^8 + X^4+X^3+X+1}$
+(aus dem AES Standard)
+
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+
+\uncover<4->{
+ \fill[color=blue!20]
+ \punkt{-0.5}{-0.5} rectangle \punkt{7.5}{0.5};
+}
+
+\uncover<2->{
+\begin{scope}
+ \rahmen
+ \node at \punkt{-0.5}{1} [left] {$p(X)=\mathstrut$};
+ \node at \punkt{0}{1} {$X^7$\strut};
+ \node at \punkt{2.5}{1}{$+$\strut};
+ \node at \punkt{3}{1} {$X^4$\strut};
+ \node at \punkt{4.5}{1}{$+$\strut};
+ \node at \punkt{5}{1} {$X^2$\strut};
+ \node at \punkt{6.5}{1}{$+$\strut};
+ \node at \punkt{7}{1} {$1$\strut};
+ \polynom10010101
+\end{scope}}
+
+\uncover<3->{
+ \draw[->] ({7.7*\ds},-0.2) to[out=-45,in=45] ({7.7*\ds},-1.8);
+ \node at ({8*\ds},-1) [right] {$\mathstrut\cdot X = \text{Shift}$};
+}
+\uncover<4->{
+ \foreach \x in {0,...,7}{
+ \draw[->,color=blue!40]
+ ({\x*\ds},{-0.6*\ds}) -- ({(\x-1)*\ds},{-2+0.6*\ds});
+ }
+}
+
+\fill[color=white] (-4.65,0) circle[radius=0.01];
+
+\uncover<3->{
+ \begin{scope}[yshift=-2cm]
+ \uncover<4->{
+ \fill[color=blue!20]
+ \punkt{-1.5}{-0.5} rectangle \punkt{6.5}{0.5};
+ \rahmen
+ \polynom00101010
+ }
+ \node at \punkt{2}{1} {$X^5$\strut};
+ \node at \punkt{3.5}{1}{$+$\strut};
+ \node at \punkt{4}{1} {$X^3$\strut};
+ \node at \punkt{5.5}{1}{$+$\strut};
+ \node at \punkt{6}{1} {$X$\strut};
+ \begin{scope}[xshift=0.4cm]
+ \node at \punkt{-1}{1} [left]
+ {$\uncover<5->{{\color{darkgreen}\alpha^4+\alpha^3+\alpha+1=\alpha^8}}\only<-4>{X^8}$\strut};
+ \end{scope}
+ \node at \punkt{-1}{0} {$1$\strut};
+ \end{scope}
+}
+
+\uncover<6->{
+ {\color<8->{red}
+ \draw[->] (-2.5,-1.5) to[out=-90,in=180] (-0.5,-2.7);
+ }
+ \begin{scope}[yshift=-2.7cm]
+ \rahmen
+ {\color{darkgreen}
+ \polynom00011011
+ }
+ \end{scope}
+}
+
+\uncover<7->{
+ \node at ({3.5*\ds},-3.45) {$\|$};
+
+ \begin{scope}[yshift=-4.2cm]
+ \rahmen
+ \polynom00110001
+ \node at \punkt{7.6}{0} [right] {$\mathstrut=\alpha\cdot p(\alpha)$};
+ \end{scope}
+}
+
+\uncover<8->{
+ \node[color=red] at (-3.0,-2.5) {Feedback};
+}
+
+\end{tikzpicture}
+\end{center}
+
+\end{frame}
+\egroup