diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2017-05-29 21:18:28 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2017-05-29 21:18:28 +0200 |
| commit | 33483109b741824e163210acfda07dfa96876cc9 (patch) | |
| tree | 331c9123e776535664175ea35ec1034c43227a13 | |
| parent | dc7a8acf380ed8b3567bf9f8b51f3b15d61b602f (diff) | |
| download | thesis-33483109b741824e163210acfda07dfa96876cc9.tar.gz thesis-33483109b741824e163210acfda07dfa96876cc9.tar.bz2 thesis-33483109b741824e163210acfda07dfa96876cc9.zip | |
Some more twaeks to the LaTeX.
| -rw-r--r-- | appendices/appendix.tex | 17 | ||||
| -rw-r--r-- | content/abstract.tex | 2 | ||||
| -rw-r--r-- | content/discussion.tex | 2 | ||||
| -rw-r--r-- | content/results.tex | 10 | ||||
| -rw-r--r-- | thesis.tex | 2 |
5 files changed, 26 insertions, 7 deletions
diff --git a/appendices/appendix.tex b/appendices/appendix.tex index 70723f4..6888a6f 100644 --- a/appendices/appendix.tex +++ b/appendices/appendix.tex @@ -58,6 +58,23 @@ System Benchmarks Index Score & & &1178.4\\\hl \caption{Unix Bench index results to give a comparable baseline} \end{table} +\section{Compiler options} +\label{app-ccopts} + +both\ C\ and\ C++\ optimization\ related\ compiler\ flags: +\begin{table}[!ht] +\begin{tabularx}{\columnwidth}{p{0.12\columnwidth} p{0.88\columnwidth}} +-flto: &Link\ time\ optimization\\ +-O3: &3rd\ level\ optimizations\\ +\end{tabularx} +\end{table} + + + + + + + \section{Some scripts to do result processing} The script that converts the output from the statsd to a \LaTeX\xspace table format. diff --git a/content/abstract.tex b/content/abstract.tex index 8284b56..79fbd54 100644 --- a/content/abstract.tex +++ b/content/abstract.tex @@ -1,3 +1,3 @@ \begin{abstract} -Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. +This paper describes a way to compare 2 different cryptographic backends for the cMix mix network. It tries to focus on making a fair comparison between the two and focuses mainly on the latency aspect of the cMix primitives. It concludes that although it still has some implementation specific problems the elliptic curve backend for cMix seems to be a faster alternative to the more conservative multiplicative group algorithm. \end{abstract}
\ No newline at end of file diff --git a/content/discussion.tex b/content/discussion.tex index b2a2f85..03d4de1 100644 --- a/content/discussion.tex +++ b/content/discussion.tex @@ -4,7 +4,7 @@ \newcommand{\mg}[0]{\emph{mg}\xspace} -In this section \ec and \mg will refer to the 2 different implementations that we compare. They stand for elliptic curve and multiplicative groups. +In this section \ec and \mg will refer to the 2 different implementations that we compare. They stand for elliptic curve and multiplicative group. So lets first talk about what our expectations are. The size of the messages being sent are different. The ed25519 implementation can send messages up to $31$ bytes. The 2048 bit multiplicative group can send up to $255$ bytes of data. This implementation uses a prefix to the message data that is the destination id. This takes up $20$ bytes of each message, as it is the SHA1 hash of the public key of the receiver. this means that the ed25519 implementation only sends $11$ bytes of payload versus $235$ bytes of payload for the multiplicative group implementation. diff --git a/content/results.tex b/content/results.tex index 821886a..36c14b7 100644 --- a/content/results.tex +++ b/content/results.tex @@ -2,7 +2,7 @@ \label{sec:results} So the raw results presented in appendix \ref{app-tables} were obtained by running 3 nodes and 500 clients on the same computer. The clients and nodes operated in the way you would normally see a \cmix setup. All connections, either from node to node or client to node, are TCP connections encrypted using TLS. -Latency is off course negligible because all the participants are running on the same computer but the goal is not to measure network latency. Rather we want to know if there is a benefit in using elliptic curve as apposed to multiplicative group ElGamal. +Network latency is off course negligible because all the participants are running on the same computer but the goal is not to measure network latency. Rather we want to know if there is a benefit in using elliptic curve as apposed to multiplicative group ElGamal. The reason behind running 3 nodes is simple. There are subtle distinctions between what nodes do, depending on the position in the network. The first node needs to aggregate messages and initiate the mix when enough messages have been received. The last node needs to do additional calculations to prevent the tagging attack mentioned in section \ref{sec:tagging}. Additionally the last node needs to decrypt the final message en send it to its destination. So the minimal test case should contain 3 nodes. 1 first, 1 middle and 1 last node. I don't expect to see much difference between these nodes with the exception of the ``RealPost'' step as the last node needs to decrypt the ciphertext, and prepare plaintext buffers to send out to the clients. @@ -14,9 +14,11 @@ So for gathering results I created a program called statsd, it is included in th Gathering the results over TCP with a separate daemon enables people to run this same benchmark over separate servers. Enabling some nice test vectors as you can control network congestion and packet loss. -The following results were gathered with the pc specs as listed in appendix \ref{app-specs}. +\subsection{summary of the results} -\begin{table} +The following results were gathered with the pc specs as listed in appendix \ref{app-specs}. The optimization specific flags that were used are listed in appendix \ref{app-ccopts}. + +\begin{table}[!ht] \begin{tiny} \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} \hline @@ -30,7 +32,7 @@ Node3 & 3.680 (0.026) & 2.819 (0.018) & 1.169 (0.028) & 0.302 (0.004) & 0.212 (0 \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 500 clients.} \end{table} -\begin{table} +\begin{table}[!ht] \begin{tiny} \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} \hline @@ -58,7 +58,7 @@ \pagestyle{fancy} % All pages have headers and footers \fancyhead{} % Blank out the default header \fancyfoot{} % Blank out the default footer -\fancyhead[C]{Benchmarking CMix $\bullet$ Jun 2017} % Custom header text +\fancyhead[C]{Benchmarking CMix $\bullet$ May 2017} % Custom header text \fancyfoot[RO,LE]{\thepage} % Custom footer text \usepackage{titling} % Customizing the title section |
