From fc79b4d9bd348fea2043e2aa4e7f29bd16fef2e1 Mon Sep 17 00:00:00 2001 From: couturie Date: Tue, 3 Oct 2017 19:00:23 +0200 Subject: [PATCH] new --- OneRoundIoT/execution_oneround_opi.txt | 8 ++++ OneRoundIoT/execution_oneround_rpi0.txt | 8 ++++ OneRoundIoT/execution_oneround_rpi2.txt | 8 ++++ OneRoundIoT/execution_openssl_opi.txt | 8 ++++ OneRoundIoT/execution_openssl_rpi0.txt | 8 ++++ OneRoundIoT/execution_openssl_rpi2.txt | 8 ++++ OneRoundIoT/execution_opi.R | 38 ++++++++++++++++++ OneRoundIoT/execution_opi.pdf | Bin 0 -> 5710 bytes OneRoundIoT/execution_rpi0.R | 38 ++++++++++++++++++ OneRoundIoT/execution_rpi0.pdf | Bin 0 -> 5638 bytes OneRoundIoT/execution_rpi2.R | 38 ++++++++++++++++++ OneRoundIoT/execution_rpi2.pdf | Bin 0 -> 5685 bytes OneRoundIoT/{execution.R => execution_rpi3.R} | 14 ++++--- OneRoundIoT/execution_rpi3.pdf | Bin 0 -> 5768 bytes 14 files changed, 171 insertions(+), 5 deletions(-) create mode 100644 OneRoundIoT/execution_oneround_opi.txt create mode 100644 OneRoundIoT/execution_oneround_rpi0.txt create mode 100644 OneRoundIoT/execution_oneround_rpi2.txt create mode 100644 OneRoundIoT/execution_openssl_opi.txt create mode 100644 OneRoundIoT/execution_openssl_rpi0.txt create mode 100644 OneRoundIoT/execution_openssl_rpi2.txt create mode 100644 OneRoundIoT/execution_opi.R create mode 100644 OneRoundIoT/execution_opi.pdf create mode 100644 OneRoundIoT/execution_rpi0.R create mode 100644 OneRoundIoT/execution_rpi0.pdf create mode 100644 OneRoundIoT/execution_rpi2.R create mode 100644 OneRoundIoT/execution_rpi2.pdf rename OneRoundIoT/{execution.R => execution_rpi3.R} (71%) create mode 100644 OneRoundIoT/execution_rpi3.pdf diff --git a/OneRoundIoT/execution_oneround_opi.txt b/OneRoundIoT/execution_oneround_opi.txt new file mode 100644 index 0000000..c17d334 --- /dev/null +++ b/OneRoundIoT/execution_oneround_opi.txt @@ -0,0 +1,8 @@ +16 5.66879e+07 6.32751e+07 4.34782e+07 4.35805e+07 +64 5.67913e+07 6.35159e+07 5.84309e+07 5.90694e+07 +256 7.23767e+07 8.05653e+07 7.72996e+07 8.10041e+07 +1024 7.79429e+07 7.6415e+07 7.48536e+07 7.48749e+07 +4096 7.40293e+07 7.57209e+07 8.82828e+07 8.97135e+07 +16384 7.43974e+07 7.37092e+07 9.2685e+07 9.25186e+07 +65536 7.31245e+07 7.3218e+07 9.3094e+07 9.32349e+07 +262144 7.04172e+07 6.7518e+07 9.3279e+07 8.51331e+07 diff --git a/OneRoundIoT/execution_oneround_rpi0.txt b/OneRoundIoT/execution_oneround_rpi0.txt new file mode 100644 index 0000000..721bda8 --- /dev/null +++ b/OneRoundIoT/execution_oneround_rpi0.txt @@ -0,0 +1,8 @@ +16 3.68318e+07 4.13968e+07 2.66932e+07 2.66753e+07 +64 4.25331e+07 4.7772e+07 3.88638e+07 3.86598e+07 +256 4.26487e+07 4.44553e+07 5.0348e+07 5.05964e+07 +1024 4.24015e+07 4.16219e+07 4.69578e+07 4.70441e+07 +4096 4.22071e+07 4.17349e+07 5.48358e+07 5.58136e+07 +16384 3.94812e+07 3.92073e+07 5.27855e+07 5.34491e+07 +65536 3.77555e+07 3.83929e+07 5.07566e+07 5.05106e+07 +262144 3.53243e+07 3.46304e+07 4.63409e+07 4.63841e+07 diff --git a/OneRoundIoT/execution_oneround_rpi2.txt b/OneRoundIoT/execution_oneround_rpi2.txt new file mode 100644 index 0000000..78d8a4d --- /dev/null +++ b/OneRoundIoT/execution_oneround_rpi2.txt @@ -0,0 +1,8 @@ +16 4.55723e+07 5.02363e+07 4.08291e+07 4.08425e+07 +64 5.76144e+07 5.82805e+07 5.82537e+07 5.82712e+07 +256 6.33836e+07 6.3561e+07 6.60558e+07 6.6528e+07 +1024 6.35835e+07 6.27783e+07 6.16723e+07 6.16699e+07 +4096 6.39329e+07 6.31225e+07 7.5684e+07 7.56906e+07 +16384 6.30963e+07 6.22959e+07 7.9681e+07 7.95176e+07 +65536 6.35231e+07 6.27698e+07 7.95896e+07 7.97394e+07 +262144 6.20935e+07 6.14682e+07 7.79731e+07 7.78615e+07 diff --git a/OneRoundIoT/execution_openssl_opi.txt b/OneRoundIoT/execution_openssl_opi.txt new file mode 100644 index 0000000..a7cd73f --- /dev/null +++ b/OneRoundIoT/execution_openssl_opi.txt @@ -0,0 +1,8 @@ +16 24853009.422268 12073029.699382 24312060.119877 22712164.686998 +64 29239597.581647 21770893.460994 28834420.467964 27452341.069102 +256 28640940.011478 24345378.101055 29777684.534513 28019041.037202 +1024 28372088.498681 26600138.538540 30514757.151944 30254598.193300 +4096 27672973.807444 26390460.160040 30854932.730167 29810211.761870 +16384 27188968.272242 26364380.906928 29872238.408986 29781664.429377 +65536 26784903.402114 25893041.626707 29480177.539200 29574716.040163 +262144 26575001.832701 24080881.729320 28423938.509768 27758084.837318 diff --git a/OneRoundIoT/execution_openssl_rpi0.txt b/OneRoundIoT/execution_openssl_rpi0.txt new file mode 100644 index 0000000..3a6a463 --- /dev/null +++ b/OneRoundIoT/execution_openssl_rpi0.txt @@ -0,0 +1,8 @@ +16 16791153.917088 7166899.517417 15342436.941025 14350554.461265 +64 21482019.036029 15499530.600630 19600081.760390 19159414.904503 +256 23145779.361132 20800666.494268 21050748.108604 20929153.180620 +1024 23578586.589173 22635041.957361 21442550.538866 21441465.305021 +4096 23664532.536590 23202538.069064 21546507.976138 21562038.213996 +16384 22383969.516085 21261219.295783 21375864.889570 21334721.496623 +65536 20757833.817459 19286820.253269 20895737.083164 20911120.059940 +262144 19210067.453547 18185192.365065 19332447.498296 19389623.604195 diff --git a/OneRoundIoT/execution_openssl_rpi2.txt b/OneRoundIoT/execution_openssl_rpi2.txt new file mode 100644 index 0000000..5b12456 --- /dev/null +++ b/OneRoundIoT/execution_openssl_rpi2.txt @@ -0,0 +1,8 @@ +16 18108628.460942 7968801.288301 16880245.846543 15685451.701793 +64 21730879.436960 15744707.504760 21190747.888969 20964161.415561 +256 22942914.090862 19033481.473887 23130254.948512 23008809.907361 +1024 23447171.003305 21871361.530630 25182896.331411 25200482.341492 +4096 23530217.444970 22562944.638518 25651938.888494 25768193.779253 +16384 23515431.878772 22762755.837213 25758988.446117 25852516.057349 +65536 23516062.688510 22773816.544906 25778722.005436 25906567.785661 +262144 23352506.138671 22090784.060962 25643566.009893 25506546.662715 diff --git a/OneRoundIoT/execution_opi.R b/OneRoundIoT/execution_opi.R new file mode 100644 index 0000000..f5ac2d3 --- /dev/null +++ b/OneRoundIoT/execution_opi.R @@ -0,0 +1,38 @@ +library("ggplot2") +library(reshape2) + +setwd("~/work/Cipher_code/OneRoundIoT/") + +openrpi3=read.csv('execution_openssl_opi.txt',sep="\t",header=F) +onerpi3=read.csv('execution_oneround_opi.txt',sep="\t",header=F) + +openrpi3=openrpi3[c(1,2,3,5)] +onerpi3=onerpi3[c(2,3,5)] + +res=data.frame(openrpi3,onerpi3) +names(res)=c("Buffer","OpenSSL enc CBC","OpenSSL dec CBC", "OpenSSL (en|de)c CTR", "OneRound enc DECB", "OneRound dec DECB", "OneRound (en|de)c CTR") + + + + + +df2 <- melt(data = res, id.vars = 1) + +names(df2)[2]="Legend" +#names(df2)[3]="Accuracy" + + +#g=ggplot(res, aes(iteration)) + +# geom_line(aes(y = test, colour = "testing accuracy")) + +# geom_line(aes(y = train, colour = "training accuracy"))+ + +g=ggplot(data = df2, aes(x=Buffer, y=value)) + geom_line(aes(colour=Legend)) + + scale_x_continuous("Buffer size",trans="log10") + + scale_y_continuous("Bytes per second",trans="log10",breaks=seq(1e7,2e8,1e7))+ + theme(legend.position="top")+ + annotation_logticks() + + +ggsave("execution_opi.pdf",width = 15, height = 10, units = "cm") + +print(g) diff --git a/OneRoundIoT/execution_opi.pdf b/OneRoundIoT/execution_opi.pdf new file mode 100644 index 0000000000000000000000000000000000000000..44ed27207f9cf6213454fd786eb4db1e6677f503 GIT binary patch literal 5710 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 H8le9GtGprW literal 0 HcmV?d00001 diff --git a/OneRoundIoT/execution.R b/OneRoundIoT/execution_rpi3.R similarity index 71% rename from OneRoundIoT/execution.R rename to OneRoundIoT/execution_rpi3.R index 7b1f603..b17ac7d 100644 --- a/OneRoundIoT/execution.R +++ b/OneRoundIoT/execution_rpi3.R @@ -17,7 +17,8 @@ names(res)=c("Buffer","OpenSSL enc CBC","OpenSSL dec CBC", "OpenSSL (en|de)c CTR df2 <- melt(data = res, id.vars = 1) -#names(df2)[2]="Legend" + +names(df2)[2]="Legend" #names(df2)[3]="Accuracy" @@ -25,10 +26,13 @@ df2 <- melt(data = res, id.vars = 1) # geom_line(aes(y = test, colour = "testing accuracy")) + # geom_line(aes(y = train, colour = "training accuracy"))+ -g=ggplot(data = df2, aes(x=Buffer, y=value)) + geom_line(aes(colour=variable)) + scale_x_log10("Buffer size") + - scale_y_log10("Bytes per second")+annotation_logticks(sides="trbl") -#g <- ggplot(data = df2, aes(x = 1, y = 3, colour = 2)) + geom_line()+scale_color_manual(values=c("#888888", "#000000"))+ -#theme(legend.justification=c(1,0), legend.position=c(1,0)) +g=ggplot(data = df2, aes(x=Buffer, y=value)) + geom_line(aes(colour=Legend)) + + scale_x_continuous("Buffer size",trans="log10") + + scale_y_continuous("Bytes per second",trans="log10",breaks=seq(1e7,2e8,1e7))+ + theme(legend.position="top")+ + annotation_logticks() + + ggsave("execution_rpi3.pdf",width = 15, height = 10, units = "cm") print(g) diff --git a/OneRoundIoT/execution_rpi3.pdf b/OneRoundIoT/execution_rpi3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..afaeb3ba2f75462179dc8b7731fc367087656884 GIT binary patch literal 5768 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 literal 0 HcmV?d00001 -- 2.39.5