From 9f8791bd10fdf80b7c37144f95dd487d79552719 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Sun, 28 Apr 2013 16:15:33 +0200 Subject: [PATCH] added CBC-Mode-Encryption --- .../CBC-Mode-Encryption.png | Bin 0 -> 19289 bytes .../CBC-Mode-Encryption.tex | 47 ++++++++++++++++++ tikz/CBC-Mode-Encryption/Makefile | 35 +++++++++++++ tikz/CBC-Mode-Encryption/Readme.md | 3 ++ 4 files changed, 85 insertions(+) create mode 100644 tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.png create mode 100644 tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.tex create mode 100644 tikz/CBC-Mode-Encryption/Makefile create mode 100644 tikz/CBC-Mode-Encryption/Readme.md diff --git a/tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.png b/tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8a8271b465c4c812976149541480d90479808c GIT binary patch literal 19289 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 literal 0 HcmV?d00001 diff --git a/tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.tex b/tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.tex new file mode 100644 index 0000000..1aed374 --- /dev/null +++ b/tikz/CBC-Mode-Encryption/CBC-Mode-Encryption.tex @@ -0,0 +1,47 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} + +\usepackage{tikz} +\usetikzlibrary{calc} + +\begin{document} +\begin{preview} +% thanks to http://tex.stackexchange.com/a/75838/5645 +\tikzset{XOR/.style={fill=black!15,draw,minimum size=13pt,circle,append after command={ + [shorten >=\pgflinewidth, shorten <=\pgflinewidth,] + (\tikzlastnode.north) edge (\tikzlastnode.south) + (\tikzlastnode.east) edge (\tikzlastnode.west) + } + } +} + +\tikzstyle{encrypt}=[draw,fill=black!15,rectangle,minimum size=20pt,inner sep=0pt] +\begin{tikzpicture} + \newcommand{\n}{3} + \foreach \nr in {1, ..., \n}{ + \node (M\nr) at (0,{(\n-\nr)*2}) {$M_\nr$}; + \node (x\nr)[XOR] at (2,{(\n-\nr)*2}) {}; + \node (E\nr)[encrypt] at (4,{(\n-\nr)*2}) {$E$}; + \node (C\nr) at (6,{(\n-\nr)*2}) {$C_\nr$}; + + \node (K\nr) at (4,{(\n-\nr)*2+1}) {$K$}; + + \draw[->,very thick] (M\nr) -- (x\nr); + \draw[->,very thick] (x\nr) -- (E\nr); + \draw[->,very thick] (E\nr) -- (C\nr); + + \draw[->,very thick] (K\nr) -- (E\nr); + } + + \foreach \nr in {2, ..., \n}{ + \pgfmathtruncatemacro{\tmp}{\nr-1} + \draw[->,very thick] (E\tmp) -- (4, {(\n-\tmp)*2-0.5}) -- (2, {(\n-\nr)*2+1.5}) -- (x\nr); + } + + \node (Mx) at (0,-1) {$\vdots$}; + \node (xx) at (2,-1) {$\vdots$}; + \node (Ex) at (4,-1) {$\vdots$}; + \node (Cx) at (6,-1) {$\vdots$}; +\end{tikzpicture} +\end{preview} +\end{document} diff --git a/tikz/CBC-Mode-Encryption/Makefile b/tikz/CBC-Mode-Encryption/Makefile new file mode 100644 index 0000000..44ed561 --- /dev/null +++ b/tikz/CBC-Mode-Encryption/Makefile @@ -0,0 +1,35 @@ +SOURCE = CBC-Mode-Encryption +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/CBC-Mode-Encryption/Readme.md b/tikz/CBC-Mode-Encryption/Readme.md new file mode 100644 index 0000000..5293ac3 --- /dev/null +++ b/tikz/CBC-Mode-Encryption/Readme.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](CBC-Mode-Encryption.png)