summaryrefslogtreecommitdiff
path: root/images
diff options
context:
space:
mode:
Diffstat (limited to 'images')
-rw-r--r--images/basic_precomputation.tex112
-rw-r--r--images/basic_realtime.tex119
-rw-r--r--images/layers.pngbin0 -> 43640 bytes
-rw-r--r--images/layers_source.txt1
-rw-r--r--images/tor.pngbin0 -> 28333 bytes
-rw-r--r--images/tor_source.txt1
6 files changed, 233 insertions, 0 deletions
diff --git a/images/basic_precomputation.tex b/images/basic_precomputation.tex
new file mode 100644
index 0000000..e734839
--- /dev/null
+++ b/images/basic_precomputation.tex
@@ -0,0 +1,112 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{arrows}
+\usepackage{amsmath,amssymb}
+\newcommand{\enc}{\mathcal{E}}
+\newcommand{\dec}{\mathcal{D}}
+\newcommand{\perm}{\pmb{\Pi}}
+
+\begin{document}
+
+\begin{tikzpicture}
+\path [every node/.style={draw,minimum width=.5cm, minimum height=5cm}]
+ node[label={[minimum size=.5cm]Node 1}] (r1) {}
+ [xshift=2cm]
+ node[label={[minimum size=.5cm]Node 2}](r2) {}
+ [xshift=2.8cm]
+ %node[label={[minimum size=.5cm]Node 3}](r3) {}
+ %[xshift=3cm]
+ node[label={[minimum size=.5cm]Node $n$}](rn) {}
+ [xshift=2.8cm]
+ node[label={[minimum size=.5cm]Node 1}](s1) {}
+ [xshift=3.6cm]
+ node[label={[minimum size=.5cm]Node 2}](s2) {}
+ [xshift=4.6cm]
+ %node[label={[minimum size=.5cm]Node 3}](s3) {}
+ %[xshift=3cm]
+ node[label={[minimum size=.5cm]Node $n$}](sn) {}
+ [xshift=.8cm]
+ node(d)[draw=none,minimum width=0cm] {};
+
+% R step
+\draw [->] ([yshift=2cm]r1.east) -- node[above] {$\enc_e(r_{1,1})$} ([yshift=2cm]r2.west);
+\draw [->] ([yshift=1cm]r1.east) -- node[above] {$\enc_e(r_{1,2})$} ([yshift=1cm]r2.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=1cm]r1.north) -- ([yshift=1.1cm,xshift=1cm]r1.south);
+\draw [->] ([yshift=-2cm]r1.east) -- node[above] {$\enc_e(r_{1,\beta})$} ([yshift=-2cm]r2.west);
+
+\draw [-] ([yshift=2cm]r2.west) -- ([yshift=2cm]r2.east);
+\draw [-] ([yshift=1cm]r2.west) -- ([yshift=1cm]r2.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]r2.west) -- ([yshift=-2cm]r2.east);
+
+\draw [dashed,->] ([yshift=2cm]r2.east) -- node[above] {$\enc_e(r_{1,1} \cdot r_{2,1})$} ([yshift=2cm]rn.west);
+\draw [dashed,->] ([yshift=1cm]r2.east) -- node[above] {$\enc_e(r_{1,2} \cdot r_{2,2})$} ([yshift=1cm]rn.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=1.4cm]r2.north) -- ([yshift=1.1cm,xshift=1.4cm]r2.south);
+\draw [dashed,->] ([yshift=-2cm]r2.east) -- node[above] {$\enc_e(r_{1,\beta} \cdot r_{2,\beta})$} ([yshift=-2cm]rn.west);
+
+%\draw [-] ([yshift=2cm]r3.west) -- ([yshift=2cm]r3.east);
+%\draw [-] ([yshift=1cm]r3.west) -- ([yshift=1cm]r3.east);
+%%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+%\draw [-] ([yshift=-2cm]r3.west) -- ([yshift=-2cm]r3.east);
+
+%\draw [dashed] ([yshift=2cm]r3.east) -- node[above] {} ([yshift=2cm]rn.west);
+%\draw [dashed] ([yshift=1cm]r3.east) -- node[above] {} ([yshift=1cm]rn.west);
+%\draw [dotted] ([yshift=-1.8cm,xshift=1.5cm]r3.north) -- ([yshift=1.1cm,xshift=1.5cm]r3.south);
+%\draw [dashed] ([yshift=-2cm]r3.east) -- node[above] {} ([yshift=-2cm]rn.west);
+
+\draw [-] ([yshift=2cm]rn.west) -- ([yshift=2cm]rn.east);
+\draw [-] ([yshift=1cm]rn.west) -- ([yshift=1cm]rn.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]rn.west) -- ([yshift=-2cm]rn.east);
+
+\draw [->] ([yshift=2cm]rn.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} r_{i,1})$} ([yshift=2cm]s1.west);
+\draw [->] ([yshift=1cm]rn.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} r_{i,2})$} ([yshift=1cm]s1.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=1.4cm]rn.north) -- ([yshift=1.1cm,xshift=1.4cm]rn.south);
+\draw [->] ([yshift=-2cm]rn.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} r_{i,\beta})$} ([yshift=-2cm]s1.west);
+
+% S step
+\draw [-] ([yshift=2cm]s1.west) -- ([yshift=2cm,xshift=.1cm]s1.west) -- ([yshift=-1cm,xshift=-.1cm]s1.east) -- ([yshift=-1cm]s1.east);
+\draw [-] ([yshift=1cm]s1.west) -- ([yshift=1cm,xshift=.1cm]s1.west) -- ([yshift=0cm,xshift=-.1cm]s1.east) -- ([yshift=0cm]s1.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]s1.west) -- ([yshift=-2cm,xshift=.1cm]s1.west) -- ([yshift=2cm,xshift=-.1cm]s1.east) -- ([yshift=2cm]s1.east);
+
+\draw [->] ([yshift=-1cm]s1.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,1}) \cdot s_{1,4})$} ([yshift=-1cm]s2.west);
+\draw [->] ([yshift=0cm]s1.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,2}) \cdot s_{1,3})$} ([yshift=0cm]s2.west);
+\draw [dotted] ([yshift=-.7cm,xshift=1.8cm]s1.north) -- ([yshift=3.2cm,xshift=1.8cm]s1.south);
+\draw [dotted] ([yshift=-3.7cm,xshift=1.8cm]s1.north) -- ([yshift=.5cm,xshift=1.8cm]s1.south);
+\draw [->] ([yshift=2cm]s1.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,\beta}) \cdot s_{1,1})$} ([yshift=2cm]s2.west);
+
+\draw [-] ([yshift=-1cm]s2.west) -- ([yshift=-1cm,xshift=.1cm]s2.west) -- ([yshift=0cm,xshift=-.1cm]s2.east) -- ([yshift=0cm]s2.east);
+\draw [-] ([yshift=0cm]s2.west) -- ([yshift=0cm,xshift=.1cm]s2.west) -- ([yshift=2cm,xshift=-.1cm]s2.east) -- ([yshift=2cm]s2.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=2cm]s2.west) -- ([yshift=2cm,xshift=.1cm]s2.west) -- ([yshift=1cm,xshift=-.1cm]s2.east) -- ([yshift=1cm]s2.east);
+
+\draw [dashed,->] ([yshift=0cm]s2.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,1}) \cdot s_{1,4} \cdot s_{2,3})$} ([yshift=0cm]sn.west);
+\draw [dashed,->] ([yshift=2cm]s2.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,2}) \cdot s_{1,3} \cdot s_{2,1})$} ([yshift=2cm]sn.west);
+\draw [dotted] ([yshift=-2.8cm,xshift=2.5cm]s2.north) -- ([yshift=.5cm,xshift=2.5cm]s2.south);
+\draw [dashed,->] ([yshift=1cm]s2.east) -- node[above] {$\enc_e(\prod_{i=1}^{n} (r_{i,\beta}) \cdot s_{1,1} \cdot s_{2,2})$} ([yshift=1cm]sn.west);
+
+%\draw [-] ([yshift=0cm]sn.west) -- ([yshift=0cm,xshift=.1cm]sn.west) -- ([yshift=1cm,xshift=-.1cm]sn.east) -- ([yshift=1cm]sn.east);
+%\draw [-] ([yshift=2cm]sn.west) -- ([yshift=2cm,xshift=.1cm]sn.west) -- ([yshift=-1cm,xshift=-.1cm]sn.east) -- ([yshift=-1cm]sn.east);
+%%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+%\draw [-] ([yshift=1cm]sn.west) -- ([yshift=1cm,xshift=.1cm]sn.west) -- ([yshift=2cm,xshift=-.1cm]sn.east) -- ([yshift=2cm]sn.east);
+
+%\draw [dashed] ([yshift=1cm]s3.east) -- node[above] {} ([yshift=1cm]sn.west);
+%\draw [dashed] ([yshift=-1cm]s3.east) -- node[above] {} ([yshift=-1cm]sn.west);
+%\draw [dotted] ([yshift=-1.8cm,xshift=1.5cm]s3.north) -- ([yshift=1.7cm,xshift=1.5cm]s3.south);
+%\draw [dotted] ([yshift=-3.7cm,xshift=1.5cm]s3.north) -- ([yshift=.5cm,xshift=1.5cm]s3.south);
+%\draw [dashed] ([yshift=2cm]s3.east) -- node[above] {} ([yshift=2cm]sn.west);
+
+\draw [-] ([yshift=1cm]sn.west) -- ([yshift=1cm,xshift=.1cm]sn.west) -- ([yshift=2cm,xshift=-.1cm]sn.east) -- ([yshift=2cm]sn.east);
+\draw [-] ([yshift=0cm]sn.west) -- ([yshift=0cm,xshift=.1cm]sn.west) -- ([yshift=-2cm,xshift=-.1cm]sn.east) -- ([yshift=-2cm]sn.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=2cm]sn.west) -- ([yshift=2cm,xshift=.1cm]sn.west) -- ([yshift=1cm,xshift=-.1cm]sn.east) -- ([yshift=1cm]sn.east);
+
+\draw [->] ([yshift=2cm]sn.east) -- node[above] {} ([yshift=2cm]d.west);
+\draw [->] ([yshift=-2cm]sn.east) -- node[above] {} ([yshift=-2cm]d.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=.5cm]sn.north) -- ([yshift=1.1cm,xshift=.5cm]sn.south);
+\draw [->] ([yshift=1cm]sn.east) -- node[above] {} ([yshift=1cm]d.west);
+\end{tikzpicture}
+
+\end{document} \ No newline at end of file
diff --git a/images/basic_realtime.tex b/images/basic_realtime.tex
new file mode 100644
index 0000000..901d7e8
--- /dev/null
+++ b/images/basic_realtime.tex
@@ -0,0 +1,119 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{arrows}
+\usepackage{amsmath,amssymb}
+\newcommand{\enc}{\mathcal{E}}
+\newcommand{\dec}{\mathcal{D}}
+\newcommand{\perm}{\pmb{\Pi}}
+
+\begin{document}
+
+\begin{tikzpicture}
+\path [every node/.style={draw,minimum width=.5cm, minimum height=5cm}]
+ node(d0)[draw=none,minimum width=0cm] {}
+ [xshift=2.7cm]
+ node[label={[minimum size=.5cm]Node 1}] (r1) {}
+ [xshift=4cm]
+ node[label={[minimum size=.5cm]Node 2}](r2) {}
+ [xshift=1.5cm]
+ %node[label={[minimum size=.5cm]Node 3}](r3) {}
+ %[xshift=2cm]
+ node[label={[minimum size=.5cm]Node $n$}](rn) {}
+ [xshift=3.2cm]
+ node[label={[minimum size=.5cm]Node 1}](s1) {}
+ [xshift=4.1cm]
+ node[label={[minimum size=.5cm]Node 2}](s2) {}
+ [xshift=1.5cm]
+ %node[label={[minimum size=.5cm]Node 3}](s3) {}
+ %[xshift=2cm]
+ node[label={[minimum size=.5cm]Node $n$}](sn) {}
+ [xshift=.7cm]
+ node(d)[draw=none,minimum width=0cm] {};
+
+\draw [->] ([yshift=2cm]d0.east) -- node[above] {$m_1 \cdot \prod_{i=1}^n (k_{i,1})$} ([yshift=2cm]r1.west);
+\draw [->] ([yshift=1cm]d0.east) -- node[above] {$m_2 \cdot \prod_{i=1}^n (k_{i,2})$} ([yshift=1cm]r1.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=1.3cm]d0.north) -- ([yshift=1.1cm,xshift=1.3cm]d0.south);
+\draw [->] ([yshift=-2cm]d0.east) -- node[above] {$m_{\beta} \cdot \prod_{i=1}^n (k_{i,\beta})$} ([yshift=-2cm]r1.west);
+
+% R step
+\draw [->] ([yshift=2cm]r1.east) -- node[above] {$m_1 \cdot \prod_{i=2}^n (k_{i,1}) \cdot r_{1,1}$} ([yshift=2cm]r2.west);
+\draw [->] ([yshift=1cm]r1.east) -- node[above] {$m_2 \cdot \prod_{i=2}^n (k_{i,2}) \cdot r_{1,2}$} ([yshift=1cm]r2.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=2cm]r1.north) -- ([yshift=1.1cm,xshift=2cm]r1.south);
+\draw [->] ([yshift=-2cm]r1.east) -- node[above] {$m_{\beta} \cdot \prod_{i=2}^n (k_{i,\beta}) \cdot r_{1,\beta}$} ([yshift=-2cm]r2.west);
+
+\draw [-] ([yshift=2cm]r2.west) -- ([yshift=2cm]r2.east);
+\draw [-] ([yshift=1cm]r2.west) -- ([yshift=1cm]r2.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]r2.west) -- ([yshift=-2cm]r2.east);
+
+%\draw [->] ([yshift=2cm]r2.east) -- node[above] {$m_1 \cdot \prod_{i=3}^n (k_{i,1}) \cdot r_{1,1} \cdot r_{2,1}$} ([yshift=2cm]r3.west);
+%\draw [->] ([yshift=1cm]r2.east) -- node[above] {$m_2 \cdot \prod_{i=3}^n (k_{i,2}) \cdot r_{1,2} \cdot r_{2,2}$} ([yshift=1cm]r3.west);
+%\draw [dotted] ([yshift=-1.8cm,xshift=2.5cm]r2.north) -- ([yshift=1.1cm,xshift=2.5cm]r2.south);
+%\draw [->] ([yshift=-2cm]r2.east) -- node[above] {$m_{\beta} \cdot \prod_{i=3}^n (k_{i,\beta}) \cdot r_{1,\beta} \cdot r_{2,\beta}$} ([yshift=-2cm]r3.west);
+
+%\draw [-] ([yshift=2cm]r3.west) -- ([yshift=2cm]r3.east);
+%\draw [-] ([yshift=1cm]r3.west) -- ([yshift=1cm]r3.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+%\draw [-] ([yshift=-2cm]r3.west) -- ([yshift=-2cm]r3.east);
+
+\draw [dashed,->] ([yshift=2cm]r2.east) -- node[above] {} ([yshift=2cm]rn.west);
+\draw [dashed,->] ([yshift=1cm]r2.east) -- node[above] {} ([yshift=1cm]rn.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=.8cm]r2.north) -- ([yshift=1.1cm,xshift=.8cm]r2.south);
+\draw [dashed,->] ([yshift=-2cm]r2.east) -- node[above] {} ([yshift=-2cm]rn.west);
+
+\draw [-] ([yshift=2cm]rn.west) -- ([yshift=2cm]rn.east);
+\draw [-] ([yshift=1cm]rn.west) -- ([yshift=1cm]rn.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]rn.west) -- ([yshift=-2cm]rn.east);
+
+\draw [->] ([yshift=2cm]rn.east) -- node[above] {$m_1 \cdot \prod_{i=1}^{n} (r_{i,1})$} ([yshift=2cm]s1.west);
+\draw [->] ([yshift=1cm]rn.east) -- node[above] {$m_2 \cdot \prod_{i=1}^{n} (r_{i,2})$} ([yshift=1cm]s1.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=1.6cm]rn.north) -- ([yshift=1.1cm,xshift=1.6cm]rn.south);
+\draw [->] ([yshift=-2cm]rn.east) -- node[above] {$m_{\beta} \cdot \prod_{i=1}^{n} (r_{i,\beta})$} ([yshift=-2cm]s1.west);
+
+% S step
+\draw [-] ([yshift=2cm]s1.west) -- ([yshift=2cm,xshift=.1cm]s1.west) -- ([yshift=-1cm,xshift=-.1cm]s1.east) -- ([yshift=-1cm]s1.east);
+\draw [-] ([yshift=1cm]s1.west) -- ([yshift=1cm,xshift=.1cm]s1.west) -- ([yshift=0cm,xshift=-.1cm]s1.east) -- ([yshift=0cm]s1.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=-2cm]s1.west) -- ([yshift=-2cm,xshift=.1cm]s1.west) -- ([yshift=2cm,xshift=-.1cm]s1.east) -- ([yshift=2cm]s1.east);
+
+\draw [->] ([yshift=-1cm]s1.east) -- node[above] {$m_1 \cdot \prod_{i=1}^{n} (r_{i,1}) \cdot s_{1,4}$} ([yshift=-1cm]s2.west);
+\draw [->] ([yshift=0cm]s1.east) -- node[above] {$m_2 \cdot \prod_{i=1}^{n} (r_{i,2}) \cdot s_{1,3}$} ([yshift=0cm]s2.west);
+\draw [dotted] ([yshift=-.7cm,xshift=2cm]s1.north) -- ([yshift=3.2cm,xshift=2cm]s1.south);
+\draw [dotted] ([yshift=-3.7cm,xshift=2cm]s1.north) -- ([yshift=.5cm,xshift=2cm]s1.south);
+\draw [->] ([yshift=2cm]s1.east) -- node[above] {$m_{\beta} \cdot \prod_{i=1}^{n} (r_{i,\beta}) \cdot s_{1,1}$} ([yshift=2cm]s2.west);
+
+\draw [-] ([yshift=-1cm]s2.west) -- ([yshift=-1cm,xshift=.1cm]s2.west) -- ([yshift=0cm,xshift=-.1cm]s2.east) -- ([yshift=0cm]s2.east);
+\draw [-] ([yshift=0cm]s2.west) -- ([yshift=0cm,xshift=.1cm]s2.west) -- ([yshift=2cm,xshift=-.1cm]s2.east) -- ([yshift=2cm]s2.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=2cm]s2.west) -- ([yshift=2cm,xshift=.1cm]s2.west) -- ([yshift=1cm,xshift=-.1cm]s2.east) -- ([yshift=1cm]s2.east);
+
+\draw [dashed,->] ([yshift=0cm]s2.east) -- node[above] {} ([yshift=0cm]sn.west);
+\draw [dashed,->] ([yshift=2cm]s2.east) -- node[above] {} ([yshift=2cm]sn.west);
+\draw [dotted] ([yshift=-2.8cm,xshift=.8cm]s2.north) -- ([yshift=.5cm,xshift=.8cm]s2.south);
+\draw [dashed,->] ([yshift=1cm]s2.east) -- node[above] {} ([yshift=1cm]sn.west);
+
+%\draw [-] ([yshift=0cm]s3.west) -- ([yshift=0cm,xshift=.1cm]s3.west) -- ([yshift=1cm,xshift=-.1cm]s3.east) -- ([yshift=1cm]s3.east);
+%\draw [-] ([yshift=2cm]s3.west) -- ([yshift=2cm,xshift=.1cm]s3.west) -- ([yshift=-1cm,xshift=-.1cm]s3.east) -- ([yshift=-1cm]s3.east);
+%%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+%\draw [-] ([yshift=1cm]s3.west) -- ([yshift=1cm,xshift=.1cm]s3.west) -- ([yshift=2cm,xshift=-.1cm]s3.east) -- ([yshift=2cm]s3.east);
+
+%\draw [dashed] ([yshift=1cm]s3.east) -- node[above] {} ([yshift=1cm]sn.west);
+%\draw [dashed] ([yshift=-1cm]s3.east) -- node[above] {} ([yshift=-1cm]sn.west);
+%\draw [dotted] ([yshift=-1.8cm,xshift=1cm]s3.north) -- ([yshift=1.7cm,xshift=1cm]s3.south);
+%\draw [dotted] ([yshift=-3.7cm,xshift=1cm]s3.north) -- ([yshift=.5cm,xshift=1cm]s3.south);
+%\draw [dashed] ([yshift=2cm]s3.east) -- node[above] {} ([yshift=2cm]sn.west);
+
+\draw [-] ([yshift=1cm]sn.west) -- ([yshift=1cm,xshift=.1cm]sn.west) -- ([yshift=2cm,xshift=-.1cm]sn.east) -- ([yshift=2cm]sn.east);
+\draw [-] ([yshift=0cm]sn.west) -- ([yshift=0cm,xshift=.1cm]sn.west) -- ([yshift=-2cm,xshift=-.1cm]sn.east) -- ([yshift=-2cm]sn.east);
+%\draw [dotted] ([yshift=-1.8cm]r2.north) -- ([yshift=1.1cm]r2.south);
+\draw [-] ([yshift=2cm]sn.west) -- ([yshift=2cm,xshift=.1cm]sn.west) -- ([yshift=1cm,xshift=-.1cm]sn.east) -- ([yshift=1cm]sn.east);
+
+\draw [->] ([yshift=2cm]sn.east) -- node[above] {} ([yshift=2cm]d.west);
+\draw [->] ([yshift=-2cm]sn.east) -- node[above] {} ([yshift=-2cm]d.west);
+\draw [dotted] ([yshift=-1.8cm,xshift=.5cm]sn.north) -- ([yshift=1.1cm,xshift=.5cm]sn.south);
+\draw [->] ([yshift=1cm]sn.east) -- node[above] {} ([yshift=1cm]d.west);
+\end{tikzpicture}
+
+\end{document} \ No newline at end of file
diff --git a/images/layers.png b/images/layers.png
new file mode 100644
index 0000000..c836aac
--- /dev/null
+++ b/images/layers.png
Binary files differ
diff --git a/images/layers_source.txt b/images/layers_source.txt
new file mode 100644
index 0000000..b9a0927
--- /dev/null
+++ b/images/layers_source.txt
@@ -0,0 +1 @@
+https://www.cryptologie.net/article/203/how-does-tor-works/ \ No newline at end of file
diff --git a/images/tor.png b/images/tor.png
new file mode 100644
index 0000000..0535918
--- /dev/null
+++ b/images/tor.png
Binary files differ
diff --git a/images/tor_source.txt b/images/tor_source.txt
new file mode 100644
index 0000000..62e7fd6
--- /dev/null
+++ b/images/tor_source.txt
@@ -0,0 +1 @@
+https://www.torproject.org/about/overview.html.en \ No newline at end of file