From d0c805d47d54c20d34795cc8bcf5b80cfa03c31e Mon Sep 17 00:00:00 2001
From: Dennis Brentjes <d.brentjes@gmail.com>
Date: Sun, 10 Jun 2018 16:35:39 +0200
Subject: Incorporated the micro benchmarks in the paper.

---
 content/discussion.tex | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

(limited to 'content/discussion.tex')

diff --git a/content/discussion.tex b/content/discussion.tex
index 99cb0d5..e27fcd6 100644
--- a/content/discussion.tex
+++ b/content/discussion.tex
@@ -16,6 +16,23 @@ Note that these separate runs of the ed25519 protocol can trivially be paralleli
 
 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.So the payload would become $236$ and $228$ bytes for \mg and \ec respectively.
 
+\subsection{justification af claims}
+To justify the claims made in the rest of the discussion section I created a micro benchmark on both implementations, \ec and \mg. Please note that these are raw operation on their respective elements and thus does not take into account the difference in size. Therefore the \ec results should effectively be multiplied by $8$ to have a straight up comparison.
+ 
+\begin{description}
+\item[Random] The time it took to generate 10000 random group elements / curve points.
+\item[Combine] The time it took to multiply 10000 group elements or to add 10000 curve points.
+\item[Uncombine] The time it took to invert 10000 group elements / curve points. And then multiply or add them. 
+\end{description}
+
+\noindent The results of a micro benchmark on multiplicative group.
+\VerbatimInput{results/mb_mg.txt}
+
+\noindent The result of a micro benchmark on elliptic curve Ed25519
+\noin\VerbatimInput{results/mb_ec.txt}
+
+This clearly shows that adding curve points is much faster than multiplying 2048 bit numbers in a group, but it also clearly shows but it also shows how slow inverting is. This gives us insight into how the results we see in the above tables came to be.
+
 \subsection{Precomputation precomputation}
 
 Right away we can see a large difference between \ec and \mg, with \ec being more than $2$ times slower. Most likely this can be explained by 2 factors. The first being that this step includes generating all the randomness needed for the \cmix run. It generates $R$ and $S$ and the permutation $\pi$. For Ed25519 it tries a $Y$-value and if it doesn't map onto the curve we try a different one. On average only half of the points would be valid.
@@ -61,3 +78,5 @@ The complete realtime phase on average takes $2.06$ seconds for \ec versus $75.8
 
 
 
+
+
-- 
cgit v1.2.3-70-g09d2

