summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2014-08-06 20:56:27 -0400
committerirungentoo <irungentoo@gmail.com>2014-08-06 20:56:27 -0400
commita679756ecad52b1cfb6245f8458bfc0459b9a3d5 (patch)
tree78960fabb246f583708ae51dfa033804807c7f60
parent2ef89f6ae029dde7f683f1ad0df2d6ef6072836d (diff)
crypto speed test is pretty useless, removed it.
-rw-r--r--testing/Makefile.inc17
-rw-r--r--testing/crypto_speed_test.c143
2 files changed, 0 insertions, 160 deletions
diff --git a/testing/Makefile.inc b/testing/Makefile.inc
index d29c5d55..236ab19b 100644
--- a/testing/Makefile.inc
+++ b/testing/Makefile.inc
@@ -24,7 +24,6 @@ if BUILD_TESTING
24 24
25noinst_PROGRAMS += DHT_test \ 25noinst_PROGRAMS += DHT_test \
26 Messenger_test \ 26 Messenger_test \
27 crypto_speed_test \
28 dns3_test 27 dns3_test
29 28
30DHT_test_SOURCES = ../testing/DHT_test.c 29DHT_test_SOURCES = ../testing/DHT_test.c
@@ -56,22 +55,6 @@ Messenger_test_LDADD = $(LIBSODIUM_LDFLAGS) \
56 $(WINSOCK2_LIBS) 55 $(WINSOCK2_LIBS)
57 56
58 57
59crypto_speed_test_SOURCES = \
60 ../testing/crypto_speed_test.c
61
62crypto_speed_test_CFLAGS = \
63 $(LIBSODIUM_CFLAGS) \
64 $(NACL_CFLAGS)
65
66crypto_speed_test_LDADD = \
67 $(LIBSODIUM_LDFLAGS) \
68 $(NACL_LDFLAGS) \
69 libtoxcore.la \
70 $(LIBSODIUM_LIBS) \
71 $(NACL_OBJECTS) \
72 $(NACL_LIBS) \
73 $(WINSOCK2_LIBS)
74
75 58
76dns3_test_SOURCES = \ 59dns3_test_SOURCES = \
77 ../testing/dns3_test.c 60 ../testing/dns3_test.c
diff --git a/testing/crypto_speed_test.c b/testing/crypto_speed_test.c
deleted file mode 100644
index 3e81a46b..00000000
--- a/testing/crypto_speed_test.c
+++ /dev/null
@@ -1,143 +0,0 @@
1#ifdef HAVE_CONFIG_H
2#include "config.h"
3#endif
4
5// Hi-resolution timer
6#if defined(_WIN32) || defined(__WIN32__) || defined (WIN32)
7#ifndef WINVER
8//Windows XP
9#define WINVER 0x0501
10#endif
11
12#include <winsock2.h>
13#include <windows.h>
14double get_time()
15{
16 LARGE_INTEGER t, f;
17 QueryPerformanceCounter(&t);
18 QueryPerformanceFrequency(&f);
19 return (double)t.QuadPart / (double)f.QuadPart;
20}
21
22#else
23
24#include <sys/time.h>
25#include <sys/resource.h>
26
27double get_time()
28{
29 struct timeval t;
30 struct timezone tzp;
31 gettimeofday(&t, &tzp);
32 return t.tv_sec + t.tv_usec * 1e-6;
33}
34
35#endif
36
37#include "../toxcore/net_crypto.h"
38#include <stdlib.h>
39#include <time.h>
40
41void rand_bytes(uint8_t *b, size_t blen)
42{
43 size_t i;
44
45 for (i = 0; i < blen; i++) {
46 b[i] = rand();
47 }
48}
49
50int main(int argc, char *argv[])
51{
52 const int numtrials = 10000;
53
54 unsigned char pk1[crypto_box_PUBLICKEYBYTES];
55 unsigned char sk1[crypto_box_SECRETKEYBYTES];
56 unsigned char pk2[crypto_box_PUBLICKEYBYTES];
57 unsigned char sk2[crypto_box_SECRETKEYBYTES];
58 unsigned char k1[crypto_box_BEFORENMBYTES];
59 unsigned char k2[crypto_box_BEFORENMBYTES];
60
61 unsigned char n[crypto_box_NONCEBYTES];
62
63 unsigned char m[500];
64 unsigned char c[sizeof(m) + crypto_box_MACBYTES];
65
66 unsigned char k[crypto_box_BEFORENMBYTES];
67
68 int trialno;
69
70 double starttime;
71 double endtime;
72 double slow_time;
73 double fast_time;
74 double keygen_time;
75 double precompute_time;
76
77 // Pregenerate
78 crypto_box_keypair(pk1, sk1);
79 crypto_box_keypair(pk2, sk2);
80 encrypt_precompute(pk1, sk2, k1);
81 encrypt_precompute(pk2, sk1, k2);
82 rand_bytes(m, sizeof(m));
83 rand_bytes(n, sizeof(n));
84
85 printf("starting slow...\n");
86 starttime = get_time();
87
88 for (trialno = 0; trialno < numtrials; trialno++) {
89 encrypt_data(pk1, sk2, n, m, sizeof(m), c);
90 decrypt_data(pk2, sk1, n, c, sizeof(c), m);
91 }
92
93 endtime = get_time();
94 slow_time = endtime - starttime;
95
96 printf("starting fast...\n");
97 starttime = get_time();
98
99 for (trialno = 0; trialno < numtrials; trialno++) {
100 encrypt_data_symmetric(k1, n, m, sizeof(m), c);
101 decrypt_data_symmetric(k2, n, c, sizeof(c), m);
102 }
103
104 endtime = get_time();
105 fast_time = endtime - starttime;
106
107 printf("starting keygen...\n");
108 starttime = get_time();
109
110 for (trialno = 0; trialno < numtrials; trialno++) {
111 crypto_box_keypair(pk1, sk1);
112 crypto_box_keypair(pk2, sk2);
113 }
114
115 endtime = get_time();
116 keygen_time = endtime - starttime;
117
118 printf("starting precompute...\n");
119 starttime = get_time();
120
121 for (trialno = 0; trialno < numtrials; trialno++) {
122 encrypt_precompute(pk1, sk2, k);
123 encrypt_precompute(pk2, sk1, k);
124 }
125
126 endtime = get_time();
127 precompute_time = endtime - starttime;
128
129 printf("\n");
130 printf("trials: %i\n", 2 * numtrials);
131 printf("\n");
132 printf("slow time: %f sec\n", slow_time);
133 printf("fast time: %f sec\n", fast_time);
134 printf("keygen time: %f sec\n", keygen_time);
135 printf("precompute time: %f sec\n", precompute_time);
136 printf("\n");
137 printf("Speed boost: %.1f%%\n", slow_time * 100 / fast_time);
138 printf("\n");
139 printf("slow: %.1f per second\n", 2 * numtrials / slow_time);
140 printf("fast: %.1f per second\n", 2 * numtrials / fast_time);
141
142 return 0;
143}