1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
%
% schieberegister.tex
%
% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
%
\bgroup
\def\ds{0.7}
\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{Schieberegister}
Rechnen mit Polynomen in $\mathbb{F}_2(\alpha)$ ist speziell einfach
\\
Minimalpolynom von $\alpha$: $m(X) = X^8 + X^4+X^3+X+1$ (aus dem AES Standard)
\begin{center}
\begin{tikzpicture}[>=latex,thick]
\uncover<2->{
\begin{scope}
\rahmen
\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<3->{
\begin{scope}[yshift=-2cm]
\uncover<4->{
\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->{X^4+X^3+X+1=}X^8$\strut};
\end{scope}
\node at \punkt{-1}{0} {$1$\strut};
\end{scope}
}
\uncover<6->{
{\color<8->{red}
\draw[->] (-3,-1.5) to[out=-90,in=180] (-0.5,-2.7);
}
\begin{scope}[yshift=-2.7cm]
\rahmen
\polynom00011011
\end{scope}
}
\uncover<7->{
\node at ({3.5*\ds},-3.45) {$\|$};
\begin{scope}[yshift=-4.2cm]
\rahmen
\polynom00110111
\end{scope}
}
\uncover<8->{
\node[color=red] at (-3.5,-2.7) {Feedback};
}
\end{tikzpicture}
\end{center}
\end{frame}
\egroup
|