diff options
Diffstat (limited to 'buch/chapters/90-crypto/images/sbox.tex')
-rw-r--r-- | buch/chapters/90-crypto/images/sbox.tex | 482 |
1 files changed, 241 insertions, 241 deletions
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} + |