57{
58 ticks cc0, cc1;
59 printf(
"PK_SIZE = %d and pk_size = %d\n", (
int)
PK_SIZE, (
int)
pk_size);
60 printf(
"SK_SIZE = %d and sk_size = %d\n", (
int)
SK_SIZE, (
int)
sk_size);
61 printf(
"SS_SIZE = %d and ss_size = %d\n", (
int)
SS_SIZE, (
int)
ss_size);
65
66
67
68 printf("\033[0;33m// --------------\033[0m\n");
69 printf("\033[0;33m// Key generation\033[0m\n");
70
71
72
73 printf("\n\033[0;35m// Alice\033[0m\n");
75 cc0 = getticks();
77 cc1 = getticks();
78
80 cprintf(
"Running-time (millions): %2.03lfM + %2.03lfS + %2.03lfa = \033[1;35m%2.03lfM\033[0m\n", (1.0 * fpmul) / 1000000.0, (1.0 * fpsqr) / 1000000.0, (1.0 * fpadd) / 1000000.0, (1.0 * (fpmul + fpsqr)) / 1000000.0);
81 printf("Clock cycles (millions): \033[1;35m%7.03lf\033[0m\n", ( 1.0 * (cc1 - cc0)) / 1000000.0);
82
83
84
85 printf("\n\033[0;34m// Bob\033[0m\n");
87 cc0 = getticks();
89 cc1 = getticks();
90
92 cprintf(
"Running-time (millions): %2.03lfM + %2.03lfS + %2.03lfa = \033[1;34m%2.03lfM\033[0m\n", (1.0 * fpmul) / 1000000.0, (1.0 * fpsqr) / 1000000.0, (1.0 * fpadd) / 1000000.0, (1.0 * (fpmul + fpsqr)) / 1000000.0);
93 printf("Clock cycles (millions): \033[1;34m%7.03lf\033[0m\n", ( 1.0 * (cc1 - cc0)) / 1000000.0);
94
95
96
97 printf("\n\033[0;33m// -------------------------\033[0m\n");
98 printf("\033[0;33m// Secret sharing generation\033[0m\n");
99
100
101
102 printf("\n\033[0;35m// Alice\033[0m\n");
103 cc0 = getticks();
105 cc1 = getticks();
106 ss_print(ss_a,
"ss_a",
SS_SIZE);
107 cprintf(
"Running-time (millions) [without validation]: %2.03lfM + %2.03lfS + %2.03lfa = \033[1;35m%2.03lfM\033[0m\n",
108 (1.0 * fpmul) / 1000000.0, (1.0 * fpsqr) / 1000000.0, (1.0 * fpadd) / 1000000.0, (1.0 * (fpmul + fpsqr)) / 1000000.0);
109 printf("Clock cycles (millions) [including validation]: \033[1;35m%7.03lf\033[0m\n", ( 1.0 * (cc1 - cc0)) / 1000000.0);
110
111
112
113 printf("\n\033[0;34m// Bob\033[0m\n");
114 cc0 = getticks();
116 cc1 = getticks();
117 ss_print(ss_b,
"ss_b",
SS_SIZE);
118 cprintf(
"Running-time (millions) [without validation]: %2.03lfM + %2.03lfS + %2.03lfa = \033[1;34m%2.03lfM\033[0m\n",
119 (1.0 * fpmul) / 1000000.0, (1.0 * fpsqr) / 1000000.0, (1.0 * fpadd) / 1000000.0, (1.0 * (fpmul + fpsqr)) / 1000000.0);
120 printf("Clock cycles (millions) [including validation]: \033[1;34m%7.03lf\033[0m\n", ( 1.0 * (cc1 - cc0)) / 1000000.0);
121
122
123
125
126
127 printf("\n\033[0;32m// Successfully secret sharing computation!\033[0m\n");
128 return 0;
129}