From 5ca32bfafcf1e35679f7ecb6df2b708a2bab9c4d Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Sun, 28 Apr 2013 15:52:22 +0200 Subject: [PATCH] added ECB mode encryption diagram --- .../ECB-Mode-Encryption.png | Bin 0 -> 19515 bytes .../ECB-Mode-Encryption.tex | 29 +++++++++++++++ tikz/ECB-Mode-Encryption/Makefile | 35 ++++++++++++++++++ tikz/ECB-Mode-Encryption/Readme.md | 3 ++ 4 files changed, 67 insertions(+) create mode 100644 tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.png create mode 100644 tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.tex create mode 100644 tikz/ECB-Mode-Encryption/Makefile create mode 100644 tikz/ECB-Mode-Encryption/Readme.md diff --git a/tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.png b/tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c6418e6f593d4439db502303a95d358b28c079 GIT binary patch literal 19515 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 literal 0 HcmV?d00001 diff --git a/tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.tex b/tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.tex new file mode 100644 index 0000000..709d8f6 --- /dev/null +++ b/tikz/ECB-Mode-Encryption/ECB-Mode-Encryption.tex @@ -0,0 +1,29 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} + +\usepackage{tikz} +\usetikzlibrary{calc} + +\begin{document} +\begin{preview} +\tikzstyle{vertex}=[draw,fill=black!15,circle,minimum size=20pt,inner sep=0pt] +\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 (C\nr) at (4,{(\n-\nr)*2}) {$C_\nr$}; + \node (E\nr)[encrypt] at (2,{(\n-\nr)*2}) {$E$}; + \node (K\nr) at (2,{(\n-\nr)*2+1}) {$K$}; + + \draw[->,very thick] (M\nr) -- (E\nr); + \draw[->,very thick] (K\nr) -- (E\nr); + \draw[->,very thick] (E\nr) -- (C\nr); + } + + \node (Mx) at (0,-1) {$\vdots$}; + \node (Ex) at (2,-1) {$\vdots$}; + \node (Cx) at (4,-1) {$\vdots$}; +\end{tikzpicture} +\end{preview} +\end{document} diff --git a/tikz/ECB-Mode-Encryption/Makefile b/tikz/ECB-Mode-Encryption/Makefile new file mode 100644 index 0000000..1269221 --- /dev/null +++ b/tikz/ECB-Mode-Encryption/Makefile @@ -0,0 +1,35 @@ +SOURCE = ECB-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/ECB-Mode-Encryption/Readme.md b/tikz/ECB-Mode-Encryption/Readme.md new file mode 100644 index 0000000..b480754 --- /dev/null +++ b/tikz/ECB-Mode-Encryption/Readme.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](ECB-Mode-Encryption.png)