aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_crypto_rsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_crypto_rsa.c')
-rw-r--r--src/util/test_crypto_rsa.c210
1 files changed, 104 insertions, 106 deletions
diff --git a/src/util/test_crypto_rsa.c b/src/util/test_crypto_rsa.c
index 6a2c1b355..f26a76a38 100644
--- a/src/util/test_crypto_rsa.c
+++ b/src/util/test_crypto_rsa.c
@@ -54,36 +54,36 @@ testEncryptDecrypt ()
54 ok = 0; 54 ok = 0;
55 start = GNUNET_TIME_absolute_get (); 55 start = GNUNET_TIME_absolute_get ();
56 for (i = 0; i < ITER; i++) 56 for (i = 0; i < ITER; i++)
57 {
58 fprintf (stderr, ".");
59 if (GNUNET_SYSERR ==
60 GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1, &pkey,
61 &target))
57 { 62 {
58 fprintf (stderr, "."); 63 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
59 if (GNUNET_SYSERR == 64 ok++;
60 GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1, 65 continue;
61 &pkey, &target)) 66 }
62 { 67 if (-1 ==
63 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n"); 68 GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, result,
64 ok++; 69 strlen (TESTSTRING) + 1))
65 continue; 70 {
66 } 71 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
67 if (-1 == 72 ok++;
68 GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, result, 73 continue;
69 strlen (TESTSTRING) + 1))
70 {
71 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
72 ok++;
73 continue;
74 74
75 }
76 if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
77 {
78 printf ("%s != %.*s - testEncryptDecrypt failed!\n", TESTSTRING,
79 (int) MAX_TESTVAL, result);
80 ok++;
81 continue;
82 }
83 } 75 }
76 if (strncmp (TESTSTRING, result, strlen (TESTSTRING)) != 0)
77 {
78 printf ("%s != %.*s - testEncryptDecrypt failed!\n", TESTSTRING,
79 (int) MAX_TESTVAL, result);
80 ok++;
81 continue;
82 }
83 }
84 printf ("%d RSA encrypt/decrypt operations %llums (%d failures)\n", ITER, 84 printf ("%d RSA encrypt/decrypt operations %llums (%d failures)\n", ITER,
85 (unsigned long long) 85 (unsigned long long)
86 GNUNET_TIME_absolute_get_duration (start).rel_value, ok); 86 GNUNET_TIME_absolute_get_duration (start).rel_value, ok);
87 GNUNET_CRYPTO_rsa_key_free (hostkey); 87 GNUNET_CRYPTO_rsa_key_free (hostkey);
88 if (ok == 0) 88 if (ok == 0)
89 return GNUNET_OK; 89 return GNUNET_OK;
@@ -109,20 +109,20 @@ testEncryptPerformance ()
109 ok = 0; 109 ok = 0;
110 start = GNUNET_TIME_absolute_get (); 110 start = GNUNET_TIME_absolute_get ();
111 for (i = 0; i < ITER; i++) 111 for (i = 0; i < ITER; i++)
112 {
113 fprintf (stderr, ".");
114 if (GNUNET_SYSERR ==
115 GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1, &pkey,
116 &target))
112 { 117 {
113 fprintf (stderr, "."); 118 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
114 if (GNUNET_SYSERR == 119 ok++;
115 GNUNET_CRYPTO_rsa_encrypt (TESTSTRING, strlen (TESTSTRING) + 1, 120 continue;
116 &pkey, &target))
117 {
118 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
119 ok++;
120 continue;
121 }
122 } 121 }
122 }
123 printf ("%d RSA encrypt operations %llu ms (%d failures)\n", ITER, 123 printf ("%d RSA encrypt operations %llu ms (%d failures)\n", ITER,
124 (unsigned long long) 124 (unsigned long long)
125 GNUNET_TIME_absolute_get_duration (start).rel_value, ok); 125 GNUNET_TIME_absolute_get_duration (start).rel_value, ok);
126 GNUNET_CRYPTO_rsa_key_free (hostkey); 126 GNUNET_CRYPTO_rsa_key_free (hostkey);
127 if (ok != 0) 127 if (ok != 0)
128 return GNUNET_SYSERR; 128 return GNUNET_SYSERR;
@@ -149,39 +149,37 @@ testEncryptDecryptSK ()
149 ok = 0; 149 ok = 0;
150 start = GNUNET_TIME_absolute_get (); 150 start = GNUNET_TIME_absolute_get ();
151 for (i = 0; i < ITER; i++) 151 for (i = 0; i < ITER; i++)
152 {
153 fprintf (stderr, ".");
154 GNUNET_CRYPTO_aes_create_session_key (&insk);
155 if (GNUNET_SYSERR ==
156 GNUNET_CRYPTO_rsa_encrypt (&insk,
157 sizeof (struct GNUNET_CRYPTO_AesSessionKey),
158 &pkey, &target))
159 {
160 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
161 ok++;
162 continue;
163 }
164 if (-1 ==
165 GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, &outsk,
166 sizeof (struct GNUNET_CRYPTO_AesSessionKey)))
167 {
168 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
169 ok++;
170 continue;
171 }
172 if (0 !=
173 memcmp (&insk, &outsk, sizeof (struct GNUNET_CRYPTO_AesSessionKey)))
152 { 174 {
153 fprintf (stderr, "."); 175 printf ("testEncryptDecryptSK failed!\n");
154 GNUNET_CRYPTO_aes_create_session_key (&insk); 176 ok++;
155 if (GNUNET_SYSERR == 177 continue;
156 GNUNET_CRYPTO_rsa_encrypt (&insk,
157 sizeof (struct
158 GNUNET_CRYPTO_AesSessionKey),
159 &pkey, &target))
160 {
161 fprintf (stderr, "GNUNET_CRYPTO_rsa_encrypt returned SYSERR\n");
162 ok++;
163 continue;
164 }
165 if (-1 ==
166 GNUNET_CRYPTO_rsa_decrypt (hostkey, &target, &outsk,
167 sizeof (struct
168 GNUNET_CRYPTO_AesSessionKey)))
169 {
170 fprintf (stderr, "GNUNET_CRYPTO_rsa_decrypt returned SYSERR\n");
171 ok++;
172 continue;
173 }
174 if (0 !=
175 memcmp (&insk, &outsk, sizeof (struct GNUNET_CRYPTO_AesSessionKey)))
176 {
177 printf ("testEncryptDecryptSK failed!\n");
178 ok++;
179 continue;
180 }
181 } 178 }
179 }
182 printf ("%d RSA encrypt/decrypt SK operations %llums (%d failures)\n", ITER, 180 printf ("%d RSA encrypt/decrypt SK operations %llums (%d failures)\n", ITER,
183 (unsigned long long) 181 (unsigned long long)
184 GNUNET_TIME_absolute_get_duration (start).rel_value, ok); 182 GNUNET_TIME_absolute_get_duration (start).rel_value, ok);
185 GNUNET_CRYPTO_rsa_key_free (hostkey); 183 GNUNET_CRYPTO_rsa_key_free (hostkey);
186 if (ok != 0) 184 if (ok != 0)
187 return GNUNET_SYSERR; 185 return GNUNET_SYSERR;
@@ -208,34 +206,34 @@ testSignVerify ()
208 purp.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TEST); 206 purp.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TEST);
209 207
210 for (i = 0; i < ITER; i++) 208 for (i = 0; i < ITER; i++)
209 {
210 fprintf (stderr, ".");
211 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig))
212 {
213 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
214 ok = GNUNET_SYSERR;
215 continue;
216 }
217 if (GNUNET_SYSERR ==
218 GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST, &purp, &sig,
219 &pkey))
211 { 220 {
212 fprintf (stderr, "."); 221 printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
213 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig)) 222 ok = GNUNET_SYSERR;
214 { 223 continue;
215 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
216 ok = GNUNET_SYSERR;
217 continue;
218 }
219 if (GNUNET_SYSERR ==
220 GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TEST, &purp,
221 &sig, &pkey))
222 {
223 printf ("GNUNET_CRYPTO_rsa_verify failed!\n");
224 ok = GNUNET_SYSERR;
225 continue;
226 }
227 if (GNUNET_SYSERR !=
228 GNUNET_CRYPTO_rsa_verify
229 (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN, &purp, &sig, &pkey))
230 {
231 printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
232 ok = GNUNET_SYSERR;
233 continue;
234 }
235 } 224 }
225 if (GNUNET_SYSERR !=
226 GNUNET_CRYPTO_rsa_verify (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN,
227 &purp, &sig, &pkey))
228 {
229 printf ("GNUNET_CRYPTO_rsa_verify failed to fail!\n");
230 ok = GNUNET_SYSERR;
231 continue;
232 }
233 }
236 printf ("%d RSA sign/verify operations %llums\n", ITER, 234 printf ("%d RSA sign/verify operations %llums\n", ITER,
237 (unsigned long long) 235 (unsigned long long)
238 GNUNET_TIME_absolute_get_duration (start).rel_value); 236 GNUNET_TIME_absolute_get_duration (start).rel_value);
239 GNUNET_CRYPTO_rsa_key_free (hostkey); 237 GNUNET_CRYPTO_rsa_key_free (hostkey);
240 return ok; 238 return ok;
241} 239}
@@ -260,18 +258,18 @@ testSignPerformance ()
260 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey); 258 GNUNET_CRYPTO_rsa_key_get_public (hostkey, &pkey);
261 start = GNUNET_TIME_absolute_get (); 259 start = GNUNET_TIME_absolute_get ();
262 for (i = 0; i < ITER; i++) 260 for (i = 0; i < ITER; i++)
261 {
262 fprintf (stderr, ".");
263 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig))
263 { 264 {
264 fprintf (stderr, "."); 265 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
265 if (GNUNET_SYSERR == GNUNET_CRYPTO_rsa_sign (hostkey, &purp, &sig)) 266 ok = GNUNET_SYSERR;
266 { 267 continue;
267 fprintf (stderr, "GNUNET_CRYPTO_rsa_sign returned SYSERR\n");
268 ok = GNUNET_SYSERR;
269 continue;
270 }
271 } 268 }
269 }
272 printf ("%d RSA sign operations %llu ms\n", ITER, 270 printf ("%d RSA sign operations %llu ms\n", ITER,
273 (unsigned long long) 271 (unsigned long long)
274 GNUNET_TIME_absolute_get_duration (start).rel_value); 272 GNUNET_TIME_absolute_get_duration (start).rel_value);
275 GNUNET_CRYPTO_rsa_key_free (hostkey); 273 GNUNET_CRYPTO_rsa_key_free (hostkey);
276 return ok; 274 return ok;
277} 275}
@@ -328,9 +326,9 @@ main (int argc, char *argv[])
328 failureCount++; 326 failureCount++;
329 327
330 if (failureCount != 0) 328 if (failureCount != 0)
331 { 329 {
332 printf ("\n\n%d TESTS FAILED!\n\n", failureCount); 330 printf ("\n\n%d TESTS FAILED!\n\n", failureCount);
333 return -1; 331 return -1;
334 } 332 }
335 return 0; 333 return 0;
336} /* end of main */ 334} /* end of main */