diff options
Diffstat (limited to 'src/util/test_crypto_rsa.c')
-rw-r--r-- | src/util/test_crypto_rsa.c | 210 |
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 */ |