aboutsummaryrefslogtreecommitdiff
path: root/lib/curve25519-donna/test-sc-curve25519.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/curve25519-donna/test-sc-curve25519.c')
-rw-r--r--lib/curve25519-donna/test-sc-curve25519.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/lib/curve25519-donna/test-sc-curve25519.c b/lib/curve25519-donna/test-sc-curve25519.c
deleted file mode 100644
index 14a7e3c..0000000
--- a/lib/curve25519-donna/test-sc-curve25519.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#define _GNU_SOURCE
-
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <math.h>
-
-extern void curve25519_donna(uint8_t *, const uint8_t *, const uint8_t *);
-extern uint64_t tsc_read();
-
-int
-main(int argc, char **argv) {
- uint8_t private_key[32], public[32], peer1[32], peer2[32], output[32];
- static const uint8_t basepoint[32] = {9};
- unsigned i;
- uint64_t sum = 0, sum_squares = 0, skipped = 0, mean;
- static const unsigned count = 200000;
-
- memset(private_key, 42, sizeof(private_key));
-
- private_key[0] &= 248;
- private_key[31] &= 127;
- private_key[31] |= 64;
-
- curve25519_donna(public, private_key, basepoint);
- memset(peer1, 0, sizeof(peer1));
- memset(peer2, 255, sizeof(peer2));
-
- for (i = 0; i < count; ++i) {
- const uint64_t start = tsc_read();
- curve25519_donna(output, peer1, public);
- const uint64_t end = tsc_read();
- const uint64_t delta = end - start;
- if (delta > 650000) {
- // something terrible happened (task switch etc)
- skipped++;
- continue;
- }
- sum += delta;
- sum_squares += (delta * delta);
- }
-
- mean = sum / ((uint64_t) count);
- printf("all 0: mean:%lu sd:%f skipped:%lu\n",
- mean,
- sqrt((double)(sum_squares/((uint64_t) count) - mean*mean)),
- skipped);
-
- sum = sum_squares = skipped = 0;
-
- for (i = 0; i < count; ++i) {
- const uint64_t start = tsc_read();
- curve25519_donna(output, peer2, public);
- const uint64_t end = tsc_read();
- const uint64_t delta = end - start;
- if (delta > 650000) {
- // something terrible happened (task switch etc)
- skipped++;
- continue;
- }
- sum += delta;
- sum_squares += (delta * delta);
- }
-
- mean = sum / ((uint64_t) count);
- printf("all 1: mean:%lu sd:%f skipped:%lu\n",
- mean,
- sqrt((double)(sum_squares/((uint64_t) count) - mean*mean)),
- skipped);
-
- return 0;
-}