diff options
Diffstat (limited to 'buch/chapters/90-crypto/images')
-rw-r--r-- | buch/chapters/90-crypto/images/Makefile | 58 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/keys.tex | 242 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/multiplikation.tex | 928 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/sbox.m | 104 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/sbox.tex | 482 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/schieberegister.tex | 240 | ||||
-rw-r--r-- | buch/chapters/90-crypto/images/shift.tex | 262 |
7 files changed, 1158 insertions, 1158 deletions
diff --git a/buch/chapters/90-crypto/images/Makefile b/buch/chapters/90-crypto/images/Makefile index 5df9178..f4bed14 100644 --- a/buch/chapters/90-crypto/images/Makefile +++ b/buch/chapters/90-crypto/images/Makefile @@ -1,29 +1,29 @@ -#
-# Makefile -- build images for crypto chapter
-#
-# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-#
-all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \
- shift.pdf keys.pdf
-
-dh.pdf: dh.tex
- pdflatex dh.tex
-
-elliptic.pdf: elliptic.tex
- pdflatex elliptic.tex
-
-schieberegister.pdf: schieberegister.tex
- pdflatex schieberegister.tex
-
-multiplikation.pdf: multiplikation.tex
- pdflatex multiplikation.tex
-
-sbox.pdf: sbox.tex
- pdflatex sbox.tex
-
-shift.pdf: shift.tex
- pdflatex shift.tex
-
-keys.pdf: keys.tex
- pdflatex keys.tex
-
+# +# Makefile -- build images for crypto chapter +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: dh.pdf elliptic.pdf schieberegister.pdf multiplikation.pdf sbox.pdf \ + shift.pdf keys.pdf + +dh.pdf: dh.tex + pdflatex dh.tex + +elliptic.pdf: elliptic.tex + pdflatex elliptic.tex + +schieberegister.pdf: schieberegister.tex + pdflatex schieberegister.tex + +multiplikation.pdf: multiplikation.tex + pdflatex multiplikation.tex + +sbox.pdf: sbox.tex + pdflatex sbox.tex + +shift.pdf: shift.tex + pdflatex shift.tex + +keys.pdf: keys.tex + pdflatex keys.tex + diff --git a/buch/chapters/90-crypto/images/keys.tex b/buch/chapters/90-crypto/images/keys.tex index 4b1b566..d556b7c 100644 --- a/buch/chapters/90-crypto/images/keys.tex +++ b/buch/chapters/90-crypto/images/keys.tex @@ -1,121 +1,121 @@ -%
-% keys.tex -- template for standalon tikz images
-%
-% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-%
-\documentclass[tikz]{standalone}
-\usepackage{amsmath}
-\usepackage{times}
-\usepackage{txfonts}
-\usepackage{pgfplots}
-\usepackage{csvsimple}
-\usetikzlibrary{arrows,intersections,math}
-\begin{document}
-\def\skala{1}
-\begin{tikzpicture}[>=latex,thick,scale=\skala]
-\definecolor{darkgreen}{rgb}{0,0.6,0}
-\def\s{0.5}
-\def\punkt#1#2{({(#1)*\s},{(#2)*\s})}
-\def\wort#1#2#3{
- \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)};
- \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)};
-}
-
-\def\summe{
- \foreach \x in {0,3,...,21}{
- \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1};
- \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}];
- \draw \punkt{(\x+0.5-0.2)}{-2.5}
- --
- \punkt{(\x+0.5+0.2)}{-2.5};
- \draw \punkt{(\x+0.5)}{-2.5+0.2}
- --
- \punkt{(\x+0.5)}{-2.5-0.2};
- \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9};
- }
- \foreach \x in {0,3,...,18}{
- \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7}
- -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5};
- }
- \fill[color=white]
- \punkt{(9+1.25)}{-5.5}
- rectangle
- \punkt{(9+2.75)}{-4.00};
- \draw
- \punkt{(9+1.25)}{-5.5}
- rectangle
- \punkt{(9+2.75)}{-4.00};
- \node at \punkt{(9+2)}{-4.75} {$S$};
-}
-
-\def\blocks#1{
- \foreach \x in {0,3,...,21}{
- \wort{\x}{0}{#1}
- }
-}
-
-\def\schlange#1{
- \draw[->] \punkt{22.1}{2} -- \punkt{23}{2}
- -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0}
- -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5}
- -- \punkt{0.1}{-2.5};
- ;
- \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25};
- \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25};
- \node at \punkt{-3}{-2.5} {$\pi$};
-
- \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25};
- \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25};
- \node at \punkt{-3}{-4.5} {$S$};
-
- \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25};
- \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25};
- \node at \punkt{-3}{-6.5} {$r_{#1}$};
-}
-
-\begin{scope}
- \blocks{blue!20}
- \foreach \x in {0,...,7}{
- \node at \punkt{(3*\x+0.5)}{2} {$K_\x$};
- }
- \schlange{1}
- \summe
-\end{scope}
-
-\begin{scope}[yshift=-4.5cm]
- \blocks{darkgreen!20}
- \foreach \x in {8,...,15}{
- \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$};
- }
- \schlange{2}
- \summe
-\end{scope}
-
-\begin{scope}[yshift=-9cm]
- \blocks{darkgreen!20}
- \foreach \x in {16,...,23}{
- \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$};
- }
- \schlange{3}
- \summe
-\end{scope}
-
-\begin{scope}[yshift=-13.5cm]
- \blocks{darkgreen!20}
- \foreach \x in {24,...,31}{
- \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$};
- }
- \foreach \x in {0,3,...,21}{
- \draw[->,color=gray]
- \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1};
- \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$};
- }
- \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2}
- -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0}
- -- \punkt{-3}{-2.1};
- \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$};
-\end{scope}
-
-\end{tikzpicture}
-\end{document}
-
+% +% keys.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] +\definecolor{darkgreen}{rgb}{0,0.6,0} +\def\s{0.5} +\def\punkt#1#2{({(#1)*\s},{(#2)*\s})} +\def\wort#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; + \draw \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+4)}; +} + +\def\summe{ + \foreach \x in {0,3,...,21}{ + \draw[->] \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \draw \punkt{(\x+0.5)}{-2.5} circle[radius={0.3*\s}]; + \draw \punkt{(\x+0.5-0.2)}{-2.5} + -- + \punkt{(\x+0.5+0.2)}{-2.5}; + \draw \punkt{(\x+0.5)}{-2.5+0.2} + -- + \punkt{(\x+0.5)}{-2.5-0.2}; + \draw[->] \punkt{(\x+0.5)}{-2.9} -- \punkt{(\x+0.5)}{-4.9}; + } + \foreach \x in {0,3,...,18}{ + \draw[->] \punkt{(\x+1.1)}{-7} -- \punkt{(\x+2)}{-7} + -- \punkt{(\x+2)}{-2.5} -- \punkt{(\x+3.1)}{-2.5}; + } + \fill[color=white] + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \draw + \punkt{(9+1.25)}{-5.5} + rectangle + \punkt{(9+2.75)}{-4.00}; + \node at \punkt{(9+2)}{-4.75} {$S$}; +} + +\def\blocks#1{ + \foreach \x in {0,3,...,21}{ + \wort{\x}{0}{#1} + } +} + +\def\schlange#1{ + \draw[->] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-8} -- \punkt{-1}{-8} -- \punkt{-1}{-2.5} + -- \punkt{0.1}{-2.5}; + ; + \fill[color=white] \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \draw \punkt{-3.75}{-1.75} rectangle \punkt{-2.25}{-3.25}; + \node at \punkt{-3}{-2.5} {$\pi$}; + + \fill[color=white] \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \draw \punkt{-3.75}{-3.75} rectangle \punkt{-2.25}{-5.25}; + \node at \punkt{-3}{-4.5} {$S$}; + + \fill[color=white] \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \draw \punkt{-3.75}{-5.75} rectangle \punkt{-2.25}{-7.25}; + \node at \punkt{-3}{-6.5} {$r_{#1}$}; +} + +\begin{scope} + \blocks{blue!20} + \foreach \x in {0,...,7}{ + \node at \punkt{(3*\x+0.5)}{2} {$K_\x$}; + } + \schlange{1} + \summe +\end{scope} + +\begin{scope}[yshift=-4.5cm] + \blocks{darkgreen!20} + \foreach \x in {8,...,15}{ + \node at \punkt{(3*(\x-8)+0.5)}{2} {$K_{\x}$}; + } + \schlange{2} + \summe +\end{scope} + +\begin{scope}[yshift=-9cm] + \blocks{darkgreen!20} + \foreach \x in {16,...,23}{ + \node at \punkt{(3*(\x-16)+0.5)}{2} {$K_{\x}$}; + } + \schlange{3} + \summe +\end{scope} + +\begin{scope}[yshift=-13.5cm] + \blocks{darkgreen!20} + \foreach \x in {24,...,31}{ + \node at \punkt{(3*(\x-24)+0.5)}{2} {$K_{\x}$}; + } + \foreach \x in {0,3,...,21}{ + \draw[->,color=gray] + \punkt{(\x+0.5)}{-0.1} -- \punkt{(\x+0.5)}{-2.1}; + \node[color=gray] at \punkt{(\x+0.5)}{-2.1} [below] {$\vdots$}; + } + \draw[color=gray] \punkt{22.1}{2} -- \punkt{23}{2} + -- \punkt{23}{-1.0} -- \punkt{-3}{-1.0} + -- \punkt{-3}{-2.1}; + \node[color=gray] at \punkt{-3}{-2.1} [below] {$\vdots$}; +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/multiplikation.tex b/buch/chapters/90-crypto/images/multiplikation.tex index dd59097..27c4329 100644 --- a/buch/chapters/90-crypto/images/multiplikation.tex +++ b/buch/chapters/90-crypto/images/multiplikation.tex @@ -1,464 +1,464 @@ -%
-% multiplikation.tex --
-%
-% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-%
-\documentclass[tikz]{standalone}
-\usepackage{amsmath}
-\usepackage{times}
-\usepackage{txfonts}
-\usepackage{pgfplots}
-\usepackage{csvsimple}
-\usetikzlibrary{arrows,intersections,math}
-\begin{document}
-\def\skala{1}
-\begin{tikzpicture}[>=latex,thick,scale=\skala]
-
-\definecolor{darkgreen}{rgb}{0,0.6,0}
-
-\def\s{0.45}
-
-\def\punkt#1#2{({#1*\s},{#2*\s})}
-
-\def\pfeile{
- \foreach \x in {0.5,1.5,...,7.5}{
- \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3};
- }
-}
-
-\begin{scope}[yshift=0.1cm]
- \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node at \punkt{0.5}{0.5} {\texttt{1}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{0}};
- \node at \punkt{3.5}{0.5} {\texttt{1}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{1}};
- \foreach \x in {0.5,1.5,...,7.5}{
- \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3};
- }
-\end{scope}
-
-\begin{scope}[yshift=-1cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
- \node at \punkt{0.5}{0.5} {\texttt{0}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{0}};
- \node at \punkt{4.5}{0.5} {\texttt{1}};
- \node at \punkt{5.5}{0.5} {\texttt{0}};
- \node at \punkt{6.5}{0.5} {\texttt{1}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
- \draw[->,color=darkgreen]
- \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
- \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{0}};
- \node at \punkt{1.5}{-1.5} {\texttt{0}};
- \node at \punkt{2.5}{-1.5} {\texttt{1}};
- \node at \punkt{3.5}{-1.5} {\texttt{1}};
- \node at \punkt{4.5}{-1.5} {\texttt{0}};
- \node at \punkt{5.5}{-1.5} {\texttt{0}};
- \node at \punkt{6.5}{-1.5} {\texttt{0}};
- \node at \punkt{7.5}{-1.5} {\texttt{1}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-3cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
- \node at \punkt{0.5}{0.5} {\texttt{0}};
- \node at \punkt{1.5}{0.5} {\texttt{1}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{0}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{0}};
- \node at \punkt{6.5}{0.5} {\texttt{1}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
-% \draw[->,color=darkgreen]
-% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
-% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{0}};
- \node at \punkt{1.5}{-1.5} {\texttt{1}};
- \node at \punkt{2.5}{-1.5} {\texttt{1}};
- \node at \punkt{3.5}{-1.5} {\texttt{0}};
- \node at \punkt{4.5}{-1.5} {\texttt{0}};
- \node at \punkt{5.5}{-1.5} {\texttt{0}};
- \node at \punkt{6.5}{-1.5} {\texttt{1}};
- \node at \punkt{7.5}{-1.5} {\texttt{0}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-5cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
- \node at \punkt{0.5}{0.5} {\texttt{1}};
- \node at \punkt{1.5}{0.5} {\texttt{1}};
- \node at \punkt{2.5}{0.5} {\texttt{0}};
- \node at \punkt{3.5}{0.5} {\texttt{0}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
-% \draw[->,color=darkgreen]
-% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
-% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{1}};
- \node at \punkt{1.5}{-1.5} {\texttt{1}};
- \node at \punkt{2.5}{-1.5} {\texttt{0}};
- \node at \punkt{3.5}{-1.5} {\texttt{0}};
- \node at \punkt{4.5}{-1.5} {\texttt{0}};
- \node at \punkt{5.5}{-1.5} {\texttt{1}};
- \node at \punkt{6.5}{-1.5} {\texttt{0}};
- \node at \punkt{7.5}{-1.5} {\texttt{0}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-7cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
- \node at \punkt{0.5}{0.5} {\texttt{1}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{0}};
- \node at \punkt{3.5}{0.5} {\texttt{0}};
- \node at \punkt{4.5}{0.5} {\texttt{1}};
- \node at \punkt{5.5}{0.5} {\texttt{0}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
- \draw[->,color=darkgreen]
- \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
- \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{1}};
- \node at \punkt{1.5}{-1.5} {\texttt{0}};
- \node at \punkt{2.5}{-1.5} {\texttt{0}};
- \node at \punkt{3.5}{-1.5} {\texttt{1}};
- \node at \punkt{4.5}{-1.5} {\texttt{0}};
- \node at \punkt{5.5}{-1.5} {\texttt{0}};
- \node at \punkt{6.5}{-1.5} {\texttt{1}};
- \node at \punkt{7.5}{-1.5} {\texttt{1}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-9cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}};
- \node at \punkt{0.5}{0.5} {\texttt{0}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{0}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{1}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
- \draw[->,color=darkgreen]
- \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
- \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{0}};
- \node at \punkt{1.5}{-1.5} {\texttt{0}};
- \node at \punkt{2.5}{-1.5} {\texttt{1}};
- \node at \punkt{3.5}{-1.5} {\texttt{1}};
- \node at \punkt{4.5}{-1.5} {\texttt{1}};
- \node at \punkt{5.5}{-1.5} {\texttt{1}};
- \node at \punkt{6.5}{-1.5} {\texttt{0}};
- \node at \punkt{7.5}{-1.5} {\texttt{1}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-11cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
- \node at \punkt{0.5}{0.5} {\texttt{0}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{1}};
- \node at \punkt{4.5}{0.5} {\texttt{1}};
- \node at \punkt{5.5}{0.5} {\texttt{0}};
- \node at \punkt{6.5}{0.5} {\texttt{1}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
-% \draw[->,color=darkgreen]
-% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
-% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{0}};
- \node at \punkt{1.5}{-1.5} {\texttt{0}};
- \node at \punkt{2.5}{-1.5} {\texttt{1}};
- \node at \punkt{3.5}{-1.5} {\texttt{1}};
- \node at \punkt{4.5}{-1.5} {\texttt{1}};
- \node at \punkt{5.5}{-1.5} {\texttt{0}};
- \node at \punkt{6.5}{-1.5} {\texttt{1}};
- \node at \punkt{7.5}{-1.5} {\texttt{0}};
-
- \pfeile
-\end{scope}
-
-\begin{scope}[yshift=-13cm]
- \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8);
- \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$};
- \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}};
- \node at \punkt{0.5}{0.5} {\texttt{0}};
- \node at \punkt{1.5}{0.5} {\texttt{1}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{1}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{0}};
-
-% \draw[->,color=darkgreen]
-% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5};
-% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}};
-% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}};
- \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$};
-
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
- \node at \punkt{0.5}{-1.5} {\texttt{0}};
- \node at \punkt{1.5}{-1.5} {\texttt{1}};
- \node at \punkt{2.5}{-1.5} {\texttt{1}};
- \node at \punkt{3.5}{-1.5} {\texttt{0}};
- \node at \punkt{4.5}{-1.5} {\texttt{1}};
- \node at \punkt{5.5}{-1.5} {\texttt{1}};
- \node at \punkt{6.5}{-1.5} {\texttt{1}};
- \node at \punkt{7.5}{-1.5} {\texttt{1}};
-
-% \pfeile
-\end{scope}
-
-\begin{scope}[xshift=9cm]
-
-\begin{scope}[yshift=0.1cm]
- \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \draw \punkt{4}{-0.1} -- \punkt{4}{-3};
- \node at \punkt{0.5}{0.5} {\texttt{1}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{0}};
- \node at \punkt{3.5}{0.5} {\texttt{1}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{1}};
-\end{scope}
-
-\def\summation#1#2#3#4#5#6#7#8{
- \draw[->] \punkt{4}{2.3} -- \punkt{4}{1};
-
- \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5};
-
- \draw \punkt{4}{0.5} circle[radius=0.2];
- \draw \punkt{4}{0.20} -- \punkt{4}{0.80};
- \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5};
-
- \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95};
- \draw \punkt{0}{-2} rectangle \punkt{8}{-1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{-2} -- \punkt{\x}{-1};
- }
-
- \node at \punkt{0.5}{-1.5} {\texttt{#1}};
- \node at \punkt{1.5}{-1.5} {\texttt{#2}};
- \node at \punkt{2.5}{-1.5} {\texttt{#3}};
- \node at \punkt{3.5}{-1.5} {\texttt{#4}};
- \node at \punkt{4.5}{-1.5} {\texttt{#5}};
- \node at \punkt{5.5}{-1.5} {\texttt{#6}};
- \node at \punkt{6.5}{-1.5} {\texttt{#7}};
- \node at \punkt{7.5}{-1.5} {\texttt{#8}};
-}
-
-\begin{scope}[yshift=-1.9cm]
- \summation{1}{0}{0}{1}{0}{1}{0}{1}
-\end{scope}
-
-\begin{scope}[yshift=-3.9cm]
- \summation{1}{1}{1}{1}{0}{1}{1}{1}
-\end{scope}
-
-\begin{scope}[yshift=-5.9cm]
- \summation{1}{1}{1}{1}{0}{1}{1}{1}
-\end{scope}
-
-\begin{scope}[yshift=-7.9cm]
- \summation{0}{1}{1}{0}{0}{1}{0}{0}
-\end{scope}
-
-\begin{scope}[yshift=-9.9cm]
- \summation{0}{1}{0}{1}{1}{0}{0}{1}
-\end{scope}
-
-\begin{scope}[yshift=-11.9cm]
- \summation{0}{1}{0}{1}{1}{0}{0}{1}
-\end{scope}
-
-\begin{scope}[yshift=-13.9cm]
- \summation{0}{0}{1}{1}{0}{1}{1}{0}
- \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$};
-\end{scope}
-
-\end{scope}
-
-\begin{scope}[xshift=5cm]
-
-\begin{scope}[yshift=2cm]
- \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$};
- \draw \punkt{0}{0} rectangle \punkt{8}{1};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
- }
- \node at \punkt{0.5}{0.5} {\texttt{1}};
- \node at \punkt{1.5}{0.5} {\texttt{0}};
- \node at \punkt{2.5}{0.5} {\texttt{1}};
- \node at \punkt{3.5}{0.5} {\texttt{1}};
- \node at \punkt{4.5}{0.5} {\texttt{0}};
- \node at \punkt{5.5}{0.5} {\texttt{1}};
- \node at \punkt{6.5}{0.5} {\texttt{0}};
- \node at \punkt{7.5}{0.5} {\texttt{1}};
-
- \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3});
- \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$};
-
- \def\y{1.2}
-
- \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1});
- \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
-
- \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1});
- \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
-
- \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1});
- \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
-
- \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1});
- \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
-
- \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1});
- \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
-
- \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1});
- \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$};
-
- \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1});
- \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$};
-\end{scope}
-
-\end{scope}
-
-\end{tikzpicture}
-\end{document}
-
+% +% multiplikation.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.45} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\pfeile{ + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-2.1} -- \punkt{(\x-1)}{-3.3}; + } +} + +\begin{scope}[yshift=0.1cm] + \node at \punkt{0}{0.5} [left] {$p(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + \foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.3}; + } +\end{scope} + +\begin{scope}[yshift=-1cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-3cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-5cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-7cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{1}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{0}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{0}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-9cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{1}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{0}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + + \draw[->,color=darkgreen] + \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; + \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{0}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-11cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{1}}; + \node at \punkt{5.5}{0.5} {\texttt{0}}; + \node at \punkt{6.5}{0.5} {\texttt{1}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{0}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{1}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{0}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{0}}; + + \pfeile +\end{scope} + +\begin{scope}[yshift=-13cm] + \draw[<-] \punkt{8.2}{-1.3} arc (-30:30:1.8); + \node at \punkt{9.3}{0.6} {$\mathstrut\cdot X$}; + \fill[color=blue!20] \punkt{-1}{0} rectangle \punkt{0}{1}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node[color=darkgreen] at \punkt{-0.5}{0.5} {\texttt{0}}; + \node at \punkt{0.5}{0.5} {\texttt{0}}; + \node at \punkt{1.5}{0.5} {\texttt{1}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{0}}; + +% \draw[->,color=darkgreen] +% \punkt{-0.5}{0.1} -- \punkt{-0.5}{-0.5} -- \punkt{3.1}{-0.5}; +% \node[color=darkgreen] at \punkt{3.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{4.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{6.5}{-0.5} {\texttt{1}}; +% \node[color=darkgreen] at \punkt{7.5}{-0.5} {\texttt{1}}; + \node[color=darkgreen] at \punkt{4}{-0.5} {$\|$}; + + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + \node at \punkt{0.5}{-1.5} {\texttt{0}}; + \node at \punkt{1.5}{-1.5} {\texttt{1}}; + \node at \punkt{2.5}{-1.5} {\texttt{1}}; + \node at \punkt{3.5}{-1.5} {\texttt{0}}; + \node at \punkt{4.5}{-1.5} {\texttt{1}}; + \node at \punkt{5.5}{-1.5} {\texttt{1}}; + \node at \punkt{6.5}{-1.5} {\texttt{1}}; + \node at \punkt{7.5}{-1.5} {\texttt{1}}; + +% \pfeile +\end{scope} + +\begin{scope}[xshift=9cm] + +\begin{scope}[yshift=0.1cm] + \draw[->] \punkt{-11.8}{0.5} -- \punkt{-0.1}{0.5}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \draw \punkt{4}{-0.1} -- \punkt{4}{-3}; + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{0}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; +\end{scope} + +\def\summation#1#2#3#4#5#6#7#8{ + \draw[->] \punkt{4}{2.3} -- \punkt{4}{1}; + + \draw[->] \punkt{-11.8}{0.5} -- \punkt{3.5}{0.5}; + + \draw \punkt{4}{0.5} circle[radius=0.2]; + \draw \punkt{4}{0.20} -- \punkt{4}{0.80}; + \draw \punkt{3.7}{0.5} -- \punkt{4.3}{0.5}; + + \draw[->] \punkt{4}{-0.05} -- \punkt{4}{-0.95}; + \draw \punkt{0}{-2} rectangle \punkt{8}{-1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{-2} -- \punkt{\x}{-1}; + } + + \node at \punkt{0.5}{-1.5} {\texttt{#1}}; + \node at \punkt{1.5}{-1.5} {\texttt{#2}}; + \node at \punkt{2.5}{-1.5} {\texttt{#3}}; + \node at \punkt{3.5}{-1.5} {\texttt{#4}}; + \node at \punkt{4.5}{-1.5} {\texttt{#5}}; + \node at \punkt{5.5}{-1.5} {\texttt{#6}}; + \node at \punkt{6.5}{-1.5} {\texttt{#7}}; + \node at \punkt{7.5}{-1.5} {\texttt{#8}}; +} + +\begin{scope}[yshift=-1.9cm] + \summation{1}{0}{0}{1}{0}{1}{0}{1} +\end{scope} + +\begin{scope}[yshift=-3.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-5.9cm] + \summation{1}{1}{1}{1}{0}{1}{1}{1} +\end{scope} + +\begin{scope}[yshift=-7.9cm] + \summation{0}{1}{1}{0}{0}{1}{0}{0} +\end{scope} + +\begin{scope}[yshift=-9.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-11.9cm] + \summation{0}{1}{0}{1}{1}{0}{0}{1} +\end{scope} + +\begin{scope}[yshift=-13.9cm] + \summation{0}{0}{1}{1}{0}{1}{1}{0} + \node at \punkt{0}{-1.5} [left] {$p(X)\cdot q(X)=\mathstrut$}; +\end{scope} + +\end{scope} + +\begin{scope}[xshift=5cm] + +\begin{scope}[yshift=2cm] + \node at \punkt{0}{0.5} [left] {$q(X)=\mathstrut$}; + \draw \punkt{0}{0} rectangle \punkt{8}{1}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; + } + \node at \punkt{0.5}{0.5} {\texttt{1}}; + \node at \punkt{1.5}{0.5} {\texttt{0}}; + \node at \punkt{2.5}{0.5} {\texttt{1}}; + \node at \punkt{3.5}{0.5} {\texttt{1}}; + \node at \punkt{4.5}{0.5} {\texttt{0}}; + \node at \punkt{5.5}{0.5} {\texttt{1}}; + \node at \punkt{6.5}{0.5} {\texttt{0}}; + \node at \punkt{7.5}{0.5} {\texttt{1}}; + + \draw[->] \punkt{7.5}{-0.1} -- ({7.5*\s},{-1.3}); + \node at ({7.5*\s},{-1.2}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \def\y{1.2} + + \draw[->] \punkt{6.5}{-0.1} -- ({6.5*\s},{-1*2-\y-0.1}); + \node at ({6.5*\s},{-1*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{5.5}{-0.1} -- ({5.5*\s},{-2*2-\y-0.1}); + \node at ({5.5*\s},{-2*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{4.5}{-0.1} -- ({4.5*\s},{-3*2-\y-0.1}); + \node at ({4.5*\s},{-3*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{3.5}{-0.1} -- ({3.5*\s},{-4*2-\y-0.1}); + \node at ({3.5*\s},{-4*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{2.5}{-0.1} -- ({2.5*\s},{-5*2-\y-0.1}); + \node at ({2.5*\s},{-5*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; + + \draw[->] \punkt{1.5}{-0.1} -- ({1.5*\s},{-6*2-\y-0.1}); + \node at ({1.5*\s},{-6*2-\y}) [below] {$\mathstrut\cdot\texttt{0}$}; + + \draw[->] \punkt{0.5}{-0.1} -- ({0.5*\s},{-7*2-\y-0.1}); + \node at ({0.5*\s},{-7*2-\y}) [below] {$\mathstrut\cdot\texttt{1}$}; +\end{scope} + +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/sbox.m b/buch/chapters/90-crypto/images/sbox.m index 1f0c2ce..973ffc9 100644 --- a/buch/chapters/90-crypto/images/sbox.m +++ b/buch/chapters/90-crypto/images/sbox.m @@ -1,52 +1,52 @@ -#
-# sbox.m
-#
-# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-#
-A=[
-1,0,0,0,1,1,1,1;
-1,1,0,0,0,1,1,1;
-1,1,1,0,0,0,1,1;
-1,1,1,1,0,0,0,1;
-1,1,1,1,1,0,0,0;
-0,1,1,1,1,1,0,0;
-0,0,1,1,1,1,1,0;
-0,0,0,1,1,1,1,1;
-]
-
-R = zeros(8,16);
-R(:,1:8) = A;
-R(:,9:16) = eye(8);
-
-for k = (1:5)
- for i=(k+1:8)
- pivot = R(i,k);
- R(i,:) = R(i,:) + pivot * R(k,:);
- end
- R = mod(R, 2)
-end
-
-P = [
-1,0,0,0,0,0,0,0;
-0,1,0,0,0,0,0,0;
-0,0,1,0,0,0,0,0;
-0,0,0,1,0,0,0,0;
-0,0,0,0,1,0,0,0;
-0,0,0,0,0,0,0,1;
-0,0,0,0,0,1,0,0;
-0,0,0,0,0,0,1,0;
-]
-
-R = P * R
-
-for k = (8:-1:2)
- for i = (1:k-1)
- pivot = R(i,k);
- R(i,:) = R(i,:) + pivot * R(k,:);
- end
- R = mod(R, 2)
-end
-
-B = R(:,9:16)
-
-A * B
+# +# sbox.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +A=[ +1,0,0,0,1,1,1,1; +1,1,0,0,0,1,1,1; +1,1,1,0,0,0,1,1; +1,1,1,1,0,0,0,1; +1,1,1,1,1,0,0,0; +0,1,1,1,1,1,0,0; +0,0,1,1,1,1,1,0; +0,0,0,1,1,1,1,1; +] + +R = zeros(8,16); +R(:,1:8) = A; +R(:,9:16) = eye(8); + +for k = (1:5) + for i=(k+1:8) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +P = [ +1,0,0,0,0,0,0,0; +0,1,0,0,0,0,0,0; +0,0,1,0,0,0,0,0; +0,0,0,1,0,0,0,0; +0,0,0,0,1,0,0,0; +0,0,0,0,0,0,0,1; +0,0,0,0,0,1,0,0; +0,0,0,0,0,0,1,0; +] + +R = P * R + +for k = (8:-1:2) + for i = (1:k-1) + pivot = R(i,k); + R(i,:) = R(i,:) + pivot * R(k,:); + end + R = mod(R, 2) +end + +B = R(:,9:16) + +A * B diff --git a/buch/chapters/90-crypto/images/sbox.tex b/buch/chapters/90-crypto/images/sbox.tex index fefb823..41f8812 100644 --- a/buch/chapters/90-crypto/images/sbox.tex +++ b/buch/chapters/90-crypto/images/sbox.tex @@ -1,241 +1,241 @@ -%
-% sbox.tex -- template for standalon tikz images
-%
-% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-%
-\documentclass[tikz]{standalone}
-\usepackage{amsmath}
-\usepackage{times}
-\usepackage{txfonts}
-\usepackage{pgfplots}
-\usepackage{csvsimple}
-\usetikzlibrary{arrows,intersections,math}
-\begin{document}
-\def\skala{1}
-\begin{tikzpicture}[>=latex,thick,scale=\skala]
-
-\def\s{0.2}
-\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})}
-
-\definecolor{b}{rgb}{0,0,0}
-\definecolor{w}{rgb}{1,1,1}
-
-\def\feld#1#2#3{
- \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)};
-}
-
-\def\zeile#1#2#3#4#5#6#7#8#9{
- \feld{0}{#1}{#2}
- \feld{1}{#1}{#3}
- \feld{2}{#1}{#4}
- \feld{3}{#1}{#5}
- \feld{4}{#1}{#6}
- \feld{5}{#1}{#7}
- \feld{6}{#1}{#8}
- \feld{7}{#1}{#9}
-}
-\def\inverse#1#2#3#4#5#6#7#8#9{
- \feld{8}{#1}{#2}
- \feld{9}{#1}{#3}
- \feld{10}{#1}{#4}
- \feld{11}{#1}{#5}
- \feld{12}{#1}{#6}
- \feld{13}{#1}{#7}
- \feld{14}{#1}{#8}
- \feld{15}{#1}{#9}
-}
-\def\rechteck{
- \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s});
- \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s});
-}
-
-\def\pivot#1#2{
- \draw[color=red,line width=1.2pt]
- \punkt{(#1+\inset)}{(#2-\inset)}
- rectangle
- \punkt{(#1+1-\inset)}{(#2-1+\inset)};
-}
-\def\inset{0.1}
-\def\cleanup#1#2#3{
- \pgfmathparse{(#3-#2)/abs(#3-#2)}
- \xdef\signum{\pgfmathresult}
- \draw[color=blue!50,line width=1.2pt]
- \punkt{(#1+\inset)}{#3}
- --
- \punkt{(#1+\inset)}{(#2-1+\inset*\signum)}
- --
- \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)}
- --
- \punkt{(#1+1-\inset)}{#3}
- ;
-}
-
-\begin{scope}
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1bbwwwbbb \inverse1wbwwwwww
- \zeile2bbbwwwbb \inverse2wwbwwwww
- \zeile3bbbbwwwb \inverse3wwwbwwww
- \zeile4bbbbbwww \inverse4wwwwbwww
- \zeile5wbbbbbww \inverse5wwwwwbww
- \zeile6wwbbbbbw \inverse6wwwwwwbw
- \zeile7wwwbbbbb \inverse7wwwwwwwb
- \rechteck
- \pivot{0}{0}
- \cleanup{0}{1}{7}
-\end{scope}
-
-\begin{scope}[xshift=4cm]
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wbbwbbww \inverse2bwbwwwww
- \zeile3wbbbbbbw \inverse3bwwbwwww
- \zeile4wbbbwbbb \inverse4bwwwbwww
- \zeile5wbbbbbww \inverse5wwwwwbww
- \zeile6wwbbbbbw \inverse6wwwwwwbw
- \zeile7wwwbbbbb \inverse7wwwwwwwb
- \rechteck
- \pivot{1}{1}
- \cleanup{1}{2}{7}
-\end{scope}
-
-\begin{scope}[xshift=8cm]
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwbbwbbw \inverse3wbwbwwww
- \zeile4wwbbbbbb \inverse4wbwwbwww
- \zeile5wwbbwbww \inverse5bbwwwbww
- \zeile6wwbbbbbw \inverse6wwwwwwbw
- \zeile7wwwbbbbb \inverse7wwwwwwwb
- \rechteck
- \pivot{2}{2}
- \cleanup{2}{3}{7}
-\end{scope}
-
-\begin{scope}[xshift=12cm,yshift=0cm]
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwbw \inverse3wwbbwwww
- \zeile4wwwbbwbb \inverse4wwbwbwww
- \zeile5wwwbwwww \inverse5bwbwwbww
- \zeile6wwwbbwbw \inverse6wbbwwwbw
- \zeile7wwwbbbbb \inverse7wwwwwwwb
- \rechteck
- \pivot{3}{3}
- \cleanup{3}{4}{7}
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{8}{7} -- \punkt{8}{11};
-\end{scope}
-
-\begin{scope}[xshift=12cm,yshift=-2.4cm]
- \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwbw \inverse3wwbbwwww
- \zeile4wwwwbwwb \inverse4wwwbbwww
- \zeile5wwwwwwbw \inverse5bwwbwbww
- \zeile6wwwwbwww \inverse6wbwbwwbw
- \zeile7wwwwbbwb \inverse7wwbbwwwb
- \rechteck
- \pivot{4}{4}
- \cleanup{4}{5}{7}
-\end{scope}
-
-\begin{scope}[xshift=8cm,yshift=-2.4cm]
- \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwbw \inverse3wwbbwwww
- \zeile4wwwwbwwb \inverse4wwwbbwww
- \zeile5wwwwwwbw \inverse5bwwbwbww
- \zeile6wwwwwwwb \inverse6wbwwbwbw
- \zeile7wwwwwbww \inverse7wwbwbwwb
- \rechteck
-\end{scope}
-
-\begin{scope}[xshift=4cm,yshift=-2.4cm]
- \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbbbb \inverse0bwwwwwww
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwbw \inverse3wwbbwwww
- \zeile4wwwwbwwb \inverse4wwwbbwww
- \zeile5wwwwwbww \inverse5wwbwbwwb
- \zeile6wwwwwwbw \inverse6bwwbwbww
- \zeile7wwwwwwwb \inverse7wbwwbwbw
- \rechteck
- \cleanup{7}{7}{-1}
-\end{scope}
-
-\begin{scope}[xshift=0cm,yshift=-2.4cm]
- \zeile0bwwwbbbw \inverse0bbwwbwbw
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwbw \inverse3wwbbwwww
- \zeile4wwwwbwww \inverse4wbwbwwbw
- \zeile5wwwwwbww \inverse5wwbwbwwb
- \zeile6wwwwwwbw \inverse6bwwbwbww
- \zeile7wwwwwwwb \inverse7wbwwbwbw
- \rechteck
- \cleanup{6}{6}{-1}
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{8}{7} -- \punkt{8}{11};
-\end{scope}
-
-\begin{scope}[xshift=0cm,yshift=-4.8cm]
- \zeile0bwwwbbww \inverse0wbwbbbbw
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwbww \inverse2wbbwwwww
- \zeile3wwwbwwww \inverse3bwbwwbww
- \zeile4wwwwbwww \inverse4wbwbwwbw
- \zeile5wwwwwbww \inverse5wwbwbwwb
- \zeile6wwwwwwbw \inverse6bwwbwbww
- \zeile7wwwwwwwb \inverse7wbwwbwbw
- \rechteck
- \cleanup{5}{5}{-1}
-\end{scope}
-
-\begin{scope}[xshift=4cm,yshift=-4.8cm]
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwbwww \inverse0wbbbwbbb
- \zeile1wbwwbwww \inverse1bbwwwwww
- \zeile2wwbwwwww \inverse2wbwwbwwb
- \zeile3wwwbwwww \inverse3bwbwwbww
- \zeile4wwwwbwww \inverse4wbwbwwbw
- \zeile5wwwwwbww \inverse5wwbwbwwb
- \zeile6wwwwwwbw \inverse6bwwbwbww
- \zeile7wwwwwwwb \inverse7wbwwbwbw
- \rechteck
- \cleanup{4}{4}{-1}
-\end{scope}
-
-\begin{scope}[xshift=8cm,yshift=-4.8cm]
- \draw[->,shorten >= 0.05cm,shorten <= 0.05cm]
- \punkt{-4}{3} -- \punkt{0}{3};
- \zeile0bwwwwwww \inverse0wwbwwbwb
- \zeile1wbwwwwww \inverse1bwwbwwbw
- \zeile2wwbwwwww \inverse2wbwwbwwb
- \zeile3wwwbwwww \inverse3bwbwwbww
- \zeile4wwwwbwww \inverse4wbwbwwbw
- \zeile5wwwwwbww \inverse5wwbwbwwb
- \zeile6wwwwwwbw \inverse6bwwbwbww
- \zeile7wwwwwwwb \inverse7wbwwbwbw
- \rechteck
-\end{scope}
-
-\end{tikzpicture}
-\end{document}
-
+% +% sbox.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\def\s{0.2} +\def\punkt#1#2{({#1*\s},{(8-(#2))*\s})} + +\definecolor{b}{rgb}{0,0,0} +\definecolor{w}{rgb}{1,1,1} + +\def\feld#1#2#3{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2-1)}; +} + +\def\zeile#1#2#3#4#5#6#7#8#9{ + \feld{0}{#1}{#2} + \feld{1}{#1}{#3} + \feld{2}{#1}{#4} + \feld{3}{#1}{#5} + \feld{4}{#1}{#6} + \feld{5}{#1}{#7} + \feld{6}{#1}{#8} + \feld{7}{#1}{#9} +} +\def\inverse#1#2#3#4#5#6#7#8#9{ + \feld{8}{#1}{#2} + \feld{9}{#1}{#3} + \feld{10}{#1}{#4} + \feld{11}{#1}{#5} + \feld{12}{#1}{#6} + \feld{13}{#1}{#7} + \feld{14}{#1}{#8} + \feld{15}{#1}{#9} +} +\def\rechteck{ + \draw (0,{1*\s}) rectangle ({16*\s},{(8+1)*\s}); + \draw ({8*\s},{1*\s}) -- ({8*\s},{(8+1)*\s}); +} + +\def\pivot#1#2{ + \draw[color=red,line width=1.2pt] + \punkt{(#1+\inset)}{(#2-\inset)} + rectangle + \punkt{(#1+1-\inset)}{(#2-1+\inset)}; +} +\def\inset{0.1} +\def\cleanup#1#2#3{ + \pgfmathparse{(#3-#2)/abs(#3-#2)} + \xdef\signum{\pgfmathresult} + \draw[color=blue!50,line width=1.2pt] + \punkt{(#1+\inset)}{#3} + -- + \punkt{(#1+\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{(#2-1+\inset*\signum)} + -- + \punkt{(#1+1-\inset)}{#3} + ; +} + +\begin{scope} + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1bbwwwbbb \inverse1wbwwwwww + \zeile2bbbwwwbb \inverse2wwbwwwww + \zeile3bbbbwwwb \inverse3wwwbwwww + \zeile4bbbbbwww \inverse4wwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{0}{0} + \cleanup{0}{1}{7} +\end{scope} + +\begin{scope}[xshift=4cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wbbwbbww \inverse2bwbwwwww + \zeile3wbbbbbbw \inverse3bwwbwwww + \zeile4wbbbwbbb \inverse4bwwwbwww + \zeile5wbbbbbww \inverse5wwwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{1}{1} + \cleanup{1}{2}{7} +\end{scope} + +\begin{scope}[xshift=8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwbbwbbw \inverse3wbwbwwww + \zeile4wwbbbbbb \inverse4wbwwbwww + \zeile5wwbbwbww \inverse5bbwwwbww + \zeile6wwbbbbbw \inverse6wwwwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{2}{2} + \cleanup{2}{3}{7} +\end{scope} + +\begin{scope}[xshift=12cm,yshift=0cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwbbwbb \inverse4wwbwbwww + \zeile5wwwbwwww \inverse5bwbwwbww + \zeile6wwwbbwbw \inverse6wbbwwwbw + \zeile7wwwbbbbb \inverse7wwwwwwwb + \rechteck + \pivot{3}{3} + \cleanup{3}{4}{7} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=12cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwbwww \inverse6wbwbwwbw + \zeile7wwwwbbwb \inverse7wwbbwwwb + \rechteck + \pivot{4}{4} + \cleanup{4}{5}{7} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwwbw \inverse5bwwbwbww + \zeile6wwwwwwwb \inverse6wbwwbwbw + \zeile7wwwwwbww \inverse7wwbwbwwb + \rechteck +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-2.4cm] + \draw[<-,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbbbb \inverse0bwwwwwww + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwwb \inverse4wwwbbwww + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{7}{7}{-1} +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-2.4cm] + \zeile0bwwwbbbw \inverse0bbwwbwbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwbw \inverse3wwbbwwww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{6}{6}{-1} + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{8}{7} -- \punkt{8}{11}; +\end{scope} + +\begin{scope}[xshift=0cm,yshift=-4.8cm] + \zeile0bwwwbbww \inverse0wbwbbbbw + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwbww \inverse2wbbwwwww + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{5}{5}{-1} +\end{scope} + +\begin{scope}[xshift=4cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwbwww \inverse0wbbbwbbb + \zeile1wbwwbwww \inverse1bbwwwwww + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck + \cleanup{4}{4}{-1} +\end{scope} + +\begin{scope}[xshift=8cm,yshift=-4.8cm] + \draw[->,shorten >= 0.05cm,shorten <= 0.05cm] + \punkt{-4}{3} -- \punkt{0}{3}; + \zeile0bwwwwwww \inverse0wwbwwbwb + \zeile1wbwwwwww \inverse1bwwbwwbw + \zeile2wwbwwwww \inverse2wbwwbwwb + \zeile3wwwbwwww \inverse3bwbwwbww + \zeile4wwwwbwww \inverse4wbwbwwbw + \zeile5wwwwwbww \inverse5wwbwbwwb + \zeile6wwwwwwbw \inverse6bwwbwbww + \zeile7wwwwwwwb \inverse7wbwwbwbw + \rechteck +\end{scope} + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/schieberegister.tex b/buch/chapters/90-crypto/images/schieberegister.tex index 49302ac..7c24e52 100644 --- a/buch/chapters/90-crypto/images/schieberegister.tex +++ b/buch/chapters/90-crypto/images/schieberegister.tex @@ -1,120 +1,120 @@ -%
-% schieberegister.tex -- template for standalon tikz images
-%
-% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-%
-\documentclass[tikz]{standalone}
-\usepackage{amsmath}
-\usepackage{times}
-\usepackage{txfonts}
-\usepackage{pgfplots}
-\usepackage{csvsimple}
-\usetikzlibrary{arrows,intersections,math}
-\begin{document}
-\def\skala{1}
-\begin{tikzpicture}[>=latex,thick,scale=\skala]
-
-\definecolor{darkgreen}{rgb}{0,0.6,0}
-
-\def\s{0.8}
-
-\def\punkt#1#2{({#1*\s},{#2*\s})}
-
-\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1};
-
-\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$};
-\node at \punkt{3}{1} [above] {$+\mathstrut$};
-\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$};
-\node at \punkt{5}{1} [above] {$+\mathstrut$};
-\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$};
-\node at \punkt{7}{1} [above] {$+\mathstrut$};
-\node at \punkt{7.5}{1} [above] {$1\mathstrut$};
-
-\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}};
-
-\node at \punkt{0.5}{0.5} {\texttt{1}};
-\node at \punkt{1.5}{0.5} {\texttt{0}};
-\node at \punkt{2.5}{0.5} {\texttt{0}};
-\node at \punkt{3.5}{0.5} {\texttt{1}};
-\node at \punkt{4.5}{0.5} {\texttt{0}};
-\node at \punkt{5.5}{0.5} {\texttt{1}};
-\node at \punkt{6.5}{0.5} {\texttt{0}};
-\node at \punkt{7.5}{0.5} {\texttt{1}};
-
-\draw \punkt{0}{0} rectangle \punkt{8}{1};
-\foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{1};
-}
-
-\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2};
-\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3};
-
-\node[color=darkgreen] at \punkt{-1}{-1.5} [left]
- {$m(X) = X^8+X^4+X^3+X+1$};
-
-\node[color=darkgreen] at \punkt{-1}{-2.7} [left]
- {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$};
-
-\coordinate (A) at ({-4.15*\s},{-3*\s});
-\coordinate (B) at ({0*\s},{-3.5*\s});
-
-\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B);
-\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback};
-
-\node at \punkt{-0.5}{-2.5} {\texttt{1}};
-\node at \punkt{0.5}{-2.5} {\texttt{0}};
-\node at \punkt{1.5}{-2.5} {\texttt{0}};
-\node at \punkt{2.5}{-2.5} {\texttt{1}};
-\node at \punkt{3.5}{-2.5} {\texttt{0}};
-\node at \punkt{4.5}{-2.5} {\texttt{1}};
-\node at \punkt{5.5}{-2.5} {\texttt{0}};
-\node at \punkt{6.5}{-2.5} {\texttt{1}};
-\node at \punkt{7.5}{-2.5} {\texttt{0}};
-
-\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}};
-\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}};
-\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}};
-\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}};
-\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}};
-\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}};
-\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}};
-\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}};
-
-\draw \punkt{0}{-4} rectangle \punkt{8}{-2};
-\draw \punkt{0}{-3} -- \punkt{8}{-3};
-\foreach \x in {1,...,7}{
- \draw \punkt{\x}{-4} -- \punkt{\x}{-2};
-}
-
-\foreach \x in {0.5,1.5,...,7.5}{
- \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9};
-}
-
-\draw \punkt{0}{-6} rectangle \punkt{8}{-5};
-\foreach \x in {1,...,7}{
- \draw \punkt{\x}{-6} -- \punkt{\x}{-5};
-}
-
-\node at \punkt{0.5}{-5.5} {\texttt{0}};
-\node at \punkt{1.5}{-5.5} {\texttt{0}};
-\node at \punkt{2.5}{-5.5} {\texttt{1}};
-\node at \punkt{3.5}{-5.5} {\texttt{1}};
-\node at \punkt{4.5}{-5.5} {\texttt{0}};
-\node at \punkt{5.5}{-5.5} {\texttt{0}};
-\node at \punkt{6.5}{-5.5} {\texttt{0}};
-\node at \punkt{7.5}{-5.5} {\texttt{1}};
-
-\node at \punkt{4}{-4.5} {$\|$};
-
-\node at \punkt{10.3}{-3} [left]
- {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$};
-
-\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm]
- \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s});
-\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$};
-
-\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$};
-
-\end{tikzpicture}
-\end{document}
-
+% +% schieberegister.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} + +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\fill[color=blue!20] \punkt{0}{0} rectangle \punkt{8}{1}; + +\node at \punkt{0.5}{1} [above] {$X^7\mathstrut$}; +\node at \punkt{3}{1} [above] {$+\mathstrut$}; +\node at \punkt{3.5}{1} [above] {$X^4\mathstrut$}; +\node at \punkt{5}{1} [above] {$+\mathstrut$}; +\node at \punkt{5.5}{1} [above] {$X^2\mathstrut$}; +\node at \punkt{7}{1} [above] {$+\mathstrut$}; +\node at \punkt{7.5}{1} [above] {$1\mathstrut$}; + +\node at \punkt{0}{1} [above left] {\llap{$p(X)=\mathstrut$}}; + +\node at \punkt{0.5}{0.5} {\texttt{1}}; +\node at \punkt{1.5}{0.5} {\texttt{0}}; +\node at \punkt{2.5}{0.5} {\texttt{0}}; +\node at \punkt{3.5}{0.5} {\texttt{1}}; +\node at \punkt{4.5}{0.5} {\texttt{0}}; +\node at \punkt{5.5}{0.5} {\texttt{1}}; +\node at \punkt{6.5}{0.5} {\texttt{0}}; +\node at \punkt{7.5}{0.5} {\texttt{1}}; + +\draw \punkt{0}{0} rectangle \punkt{8}{1}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{1}; +} + +\fill[color=blue!20] \punkt{-1}{-3} rectangle \punkt{7}{-2}; +\fill[color=darkgreen!20] \punkt{0}{-4} rectangle \punkt{8}{-3}; + +\node[color=darkgreen] at \punkt{-1}{-1.5} [left] + {$m(X) = X^8+X^4+X^3+X+1$}; + +\node[color=darkgreen] at \punkt{-1}{-2.7} [left] + {$\underbrace{X^4+X^3+X+1}_{}= X^8=\mathstrut$}; + +\coordinate (A) at ({-4.15*\s},{-3*\s}); +\coordinate (B) at ({0*\s},{-3.5*\s}); + +\draw[->,color=red,shorten >= 0.1cm] (A) to[out=-90,in=180] (B); +\node[color=red] at \punkt{-3.1}{-3.8} [below] {Feedback}; + +\node at \punkt{-0.5}{-2.5} {\texttt{1}}; +\node at \punkt{0.5}{-2.5} {\texttt{0}}; +\node at \punkt{1.5}{-2.5} {\texttt{0}}; +\node at \punkt{2.5}{-2.5} {\texttt{1}}; +\node at \punkt{3.5}{-2.5} {\texttt{0}}; +\node at \punkt{4.5}{-2.5} {\texttt{1}}; +\node at \punkt{5.5}{-2.5} {\texttt{0}}; +\node at \punkt{6.5}{-2.5} {\texttt{1}}; +\node at \punkt{7.5}{-2.5} {\texttt{0}}; + +\node[color=darkgreen] at \punkt{0.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{1.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{2.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{3.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{4.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{5.5}{-3.5} {\texttt{0}}; +\node[color=darkgreen] at \punkt{6.5}{-3.5} {\texttt{1}}; +\node[color=darkgreen] at \punkt{7.5}{-3.5} {\texttt{1}}; + +\draw \punkt{0}{-4} rectangle \punkt{8}{-2}; +\draw \punkt{0}{-3} -- \punkt{8}{-3}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-4} -- \punkt{\x}{-2}; +} + +\foreach \x in {0.5,1.5,...,7.5}{ + \draw[->,color=blue] \punkt{\x}{-0.1} -- \punkt{(\x-1)}{-1.9}; +} + +\draw \punkt{0}{-6} rectangle \punkt{8}{-5}; +\foreach \x in {1,...,7}{ + \draw \punkt{\x}{-6} -- \punkt{\x}{-5}; +} + +\node at \punkt{0.5}{-5.5} {\texttt{0}}; +\node at \punkt{1.5}{-5.5} {\texttt{0}}; +\node at \punkt{2.5}{-5.5} {\texttt{1}}; +\node at \punkt{3.5}{-5.5} {\texttt{1}}; +\node at \punkt{4.5}{-5.5} {\texttt{0}}; +\node at \punkt{5.5}{-5.5} {\texttt{0}}; +\node at \punkt{6.5}{-5.5} {\texttt{0}}; +\node at \punkt{7.5}{-5.5} {\texttt{1}}; + +\node at \punkt{4}{-4.5} {$\|$}; + +\node at \punkt{10.3}{-3} [left] + {$\left.\begin{matrix}\\ \\ \\ \end{matrix}\right\} + = \text{XOR}$}; + +\draw[<-,shorten >= 0.1cm, shorten <= 0.1cm] + \punkt{8.0}{-2.0} arc (-30:30:{2.0*\s}); +\node at \punkt{8.3}{-1} [right] {$\mathstrut \cdot X$}; + +\node at \punkt{8.1}{-5.5} [right] {$=X\cdot p(X)\mathstrut$}; + +\end{tikzpicture} +\end{document} + diff --git a/buch/chapters/90-crypto/images/shift.tex b/buch/chapters/90-crypto/images/shift.tex index af225a7..bcdf819 100644 --- a/buch/chapters/90-crypto/images/shift.tex +++ b/buch/chapters/90-crypto/images/shift.tex @@ -1,131 +1,131 @@ -%
-% shift.tex -- template for standalon tikz images
-%
-% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-%
-\documentclass[tikz]{standalone}
-\usepackage{amsmath}
-\usepackage{times}
-\usepackage{txfonts}
-\usepackage{pgfplots}
-\usepackage{csvsimple}
-\usetikzlibrary{arrows,intersections,math}
-\begin{document}
-\def\skala{1}
-\begin{tikzpicture}[>=latex,thick,scale=\skala]
-
-\definecolor{darkgreen}{rgb}{0,0.6,0}
-
-\def\s{0.8}
-\def\punkt#1#2{({#1*\s},{#2*\s})}
-
-\def\feld#1#2#3#4{
- \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)};
- \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$};
-}
-\def\gitter{
- \draw \punkt{0}{0} rectangle \punkt{8}{4};
- \foreach \x in {1,...,7}{
- \draw \punkt{\x}{0} -- \punkt{\x}{4};
- }
- \foreach \y in {1,...,3}{
- \draw \punkt{0}{\y} -- \punkt{8}{\y};
- }
-}
-
-\begin{scope}
- \feld{0}{3}{red!20}{b_{0}}
- \feld{0}{2}{red!20}{b_{1}}
- \feld{0}{1}{red!20}{b_{2}}
- \feld{0}{0}{red!20}{b_{3}}
-
- \feld{1}{3}{red!10}{b_{4}}
- \feld{1}{2}{red!10}{b_{5}}
- \feld{1}{1}{red!10}{b_{6}}
- \feld{1}{0}{red!10}{b_{7}}
-
- \feld{2}{3}{yellow!20}{b_{8}}
- \feld{2}{2}{yellow!20}{b_{9}}
- \feld{2}{1}{yellow!20}{b_{10}}
- \feld{2}{0}{yellow!20}{b_{11}}
-
- \feld{3}{3}{yellow!10}{b_{12}}
- \feld{3}{2}{yellow!10}{b_{13}}
- \feld{3}{1}{yellow!10}{b_{14}}
- \feld{3}{0}{yellow!10}{b_{15}}
-
- \feld{4}{3}{darkgreen!20}{b_{16}}
- \feld{4}{2}{darkgreen!20}{b_{17}}
- \feld{4}{1}{darkgreen!20}{b_{18}}
- \feld{4}{0}{darkgreen!20}{b_{19}}
-
- \feld{5}{3}{darkgreen!10}{b_{20}}
- \feld{5}{2}{darkgreen!10}{b_{21}}
- \feld{5}{1}{darkgreen!10}{b_{22}}
- \feld{5}{0}{darkgreen!10}{b_{23}}
-
- \feld{6}{3}{blue!20}{b_{24}}
- \feld{6}{2}{blue!20}{b_{25}}
- \feld{6}{1}{blue!20}{b_{26}}
- \feld{6}{0}{blue!20}{b_{27}}
-
- \feld{7}{3}{blue!10}{b_{28}}
- \feld{7}{2}{blue!10}{b_{29}}
- \feld{7}{1}{blue!10}{b_{30}}
- \feld{7}{0}{blue!10}{b_{31}}
-
- \gitter
-
- \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2};
-\end{scope}
-
-
-\begin{scope}[xshift=7.5cm]
-
- \feld{0}{3}{red!20}{b_{0}}
- \feld{1}{2}{red!20}{b_{1}}
- \feld{2}{1}{red!20}{b_{2}}
- \feld{3}{0}{red!20}{b_{3}}
-
- \feld{1}{3}{red!10}{b_{4}}
- \feld{2}{2}{red!10}{b_{5}}
- \feld{3}{1}{red!10}{b_{6}}
- \feld{4}{0}{red!10}{b_{7}}
-
- \feld{2}{3}{yellow!20}{b_{8}}
- \feld{3}{2}{yellow!20}{b_{9}}
- \feld{4}{1}{yellow!20}{b_{10}}
- \feld{5}{0}{yellow!20}{b_{11}}
-
- \feld{3}{3}{yellow!10}{b_{12}}
- \feld{4}{2}{yellow!10}{b_{13}}
- \feld{5}{1}{yellow!10}{b_{14}}
- \feld{6}{0}{yellow!10}{b_{15}}
-
- \feld{4}{3}{darkgreen!20}{b_{16}}
- \feld{5}{2}{darkgreen!20}{b_{17}}
- \feld{6}{1}{darkgreen!20}{b_{18}}
- \feld{7}{0}{darkgreen!20}{b_{19}}
-
- \feld{5}{3}{darkgreen!10}{b_{20}}
- \feld{6}{2}{darkgreen!10}{b_{21}}
- \feld{7}{1}{darkgreen!10}{b_{22}}
- \feld{0}{0}{darkgreen!10}{b_{23}}
-
- \feld{6}{3}{blue!20}{b_{24}}
- \feld{7}{2}{blue!20}{b_{25}}
- \feld{0}{1}{blue!20}{b_{26}}
- \feld{1}{0}{blue!20}{b_{27}}
-
- \feld{7}{3}{blue!10}{b_{28}}
- \feld{0}{2}{blue!10}{b_{29}}
- \feld{1}{1}{blue!10}{b_{30}}
- \feld{2}{0}{blue!10}{b_{31}}
-
- \gitter
-
-\end{scope}
-
-\end{tikzpicture}
-\end{document}
-
+% +% shift.tex -- template for standalon tikz images +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\usepackage{pgfplots} +\usepackage{csvsimple} +\usetikzlibrary{arrows,intersections,math} +\begin{document} +\def\skala{1} +\begin{tikzpicture}[>=latex,thick,scale=\skala] + +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\s{0.8} +\def\punkt#1#2{({#1*\s},{#2*\s})} + +\def\feld#1#2#3#4{ + \fill[color=#3] \punkt{#1}{#2} rectangle \punkt{(#1+1)}{(#2+1)}; + \node at \punkt{(#1+0.5)}{(#2+0.5)} {$\mathstrut #4$}; +} +\def\gitter{ + \draw \punkt{0}{0} rectangle \punkt{8}{4}; + \foreach \x in {1,...,7}{ + \draw \punkt{\x}{0} -- \punkt{\x}{4}; + } + \foreach \y in {1,...,3}{ + \draw \punkt{0}{\y} -- \punkt{8}{\y}; + } +} + +\begin{scope} + \feld{0}{3}{red!20}{b_{0}} + \feld{0}{2}{red!20}{b_{1}} + \feld{0}{1}{red!20}{b_{2}} + \feld{0}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{1}{2}{red!10}{b_{5}} + \feld{1}{1}{red!10}{b_{6}} + \feld{1}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{2}{2}{yellow!20}{b_{9}} + \feld{2}{1}{yellow!20}{b_{10}} + \feld{2}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{3}{2}{yellow!10}{b_{13}} + \feld{3}{1}{yellow!10}{b_{14}} + \feld{3}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{4}{2}{darkgreen!20}{b_{17}} + \feld{4}{1}{darkgreen!20}{b_{18}} + \feld{4}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{5}{2}{darkgreen!10}{b_{21}} + \feld{5}{1}{darkgreen!10}{b_{22}} + \feld{5}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{6}{2}{blue!20}{b_{25}} + \feld{6}{1}{blue!20}{b_{26}} + \feld{6}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{7}{2}{blue!10}{b_{29}} + \feld{7}{1}{blue!10}{b_{30}} + \feld{7}{0}{blue!10}{b_{31}} + + \gitter + + \draw[->] \punkt{8.1}{2} -- \punkt{9.3}{2}; +\end{scope} + + +\begin{scope}[xshift=7.5cm] + + \feld{0}{3}{red!20}{b_{0}} + \feld{1}{2}{red!20}{b_{1}} + \feld{2}{1}{red!20}{b_{2}} + \feld{3}{0}{red!20}{b_{3}} + + \feld{1}{3}{red!10}{b_{4}} + \feld{2}{2}{red!10}{b_{5}} + \feld{3}{1}{red!10}{b_{6}} + \feld{4}{0}{red!10}{b_{7}} + + \feld{2}{3}{yellow!20}{b_{8}} + \feld{3}{2}{yellow!20}{b_{9}} + \feld{4}{1}{yellow!20}{b_{10}} + \feld{5}{0}{yellow!20}{b_{11}} + + \feld{3}{3}{yellow!10}{b_{12}} + \feld{4}{2}{yellow!10}{b_{13}} + \feld{5}{1}{yellow!10}{b_{14}} + \feld{6}{0}{yellow!10}{b_{15}} + + \feld{4}{3}{darkgreen!20}{b_{16}} + \feld{5}{2}{darkgreen!20}{b_{17}} + \feld{6}{1}{darkgreen!20}{b_{18}} + \feld{7}{0}{darkgreen!20}{b_{19}} + + \feld{5}{3}{darkgreen!10}{b_{20}} + \feld{6}{2}{darkgreen!10}{b_{21}} + \feld{7}{1}{darkgreen!10}{b_{22}} + \feld{0}{0}{darkgreen!10}{b_{23}} + + \feld{6}{3}{blue!20}{b_{24}} + \feld{7}{2}{blue!20}{b_{25}} + \feld{0}{1}{blue!20}{b_{26}} + \feld{1}{0}{blue!20}{b_{27}} + + \feld{7}{3}{blue!10}{b_{28}} + \feld{0}{2}{blue!10}{b_{29}} + \feld{1}{1}{blue!10}{b_{30}} + \feld{2}{0}{blue!10}{b_{31}} + + \gitter + +\end{scope} + +\end{tikzpicture} +\end{document} + |