diff options
Diffstat (limited to 'src/util/perf_crypto_rsa.c')
-rw-r--r-- | src/util/perf_crypto_rsa.c | 241 |
1 files changed, 123 insertions, 118 deletions
diff --git a/src/util/perf_crypto_rsa.c b/src/util/perf_crypto_rsa.c index 33740666e..c65739f1f 100644 --- a/src/util/perf_crypto_rsa.c +++ b/src/util/perf_crypto_rsa.c | |||
@@ -34,7 +34,7 @@ | |||
34 | * @param len keylength to evaluate with | 34 | * @param len keylength to evaluate with |
35 | */ | 35 | */ |
36 | static void | 36 | static void |
37 | eval(unsigned int len) | 37 | eval (unsigned int len) |
38 | { | 38 | { |
39 | struct GNUNET_TIME_Absolute start; | 39 | struct GNUNET_TIME_Absolute start; |
40 | struct GNUNET_CRYPTO_RsaSignature *sig; | 40 | struct GNUNET_CRYPTO_RsaSignature *sig; |
@@ -48,29 +48,30 @@ eval(unsigned int len) | |||
48 | size_t bbuf_len; | 48 | size_t bbuf_len; |
49 | struct GNUNET_HashCode hc; | 49 | struct GNUNET_HashCode hc; |
50 | 50 | ||
51 | start = GNUNET_TIME_absolute_get(); | 51 | start = GNUNET_TIME_absolute_get (); |
52 | for (i = 0; i < 10; i++) | 52 | for (i = 0; i < 10; i++) |
53 | { | 53 | { |
54 | private_key = GNUNET_CRYPTO_rsa_private_key_create(len); | 54 | private_key = GNUNET_CRYPTO_rsa_private_key_create (len); |
55 | GNUNET_CRYPTO_rsa_private_key_free(private_key); | 55 | GNUNET_CRYPTO_rsa_private_key_free (private_key); |
56 | } | 56 | } |
57 | printf("10x %u-key generation took %s\n", | 57 | printf ("10x %u-key generation took %s\n", |
58 | len, | 58 | len, |
59 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), | 59 | GNUNET_STRINGS_relative_time_to_string ( |
60 | GNUNET_YES)); | 60 | GNUNET_TIME_absolute_get_duration (start), |
61 | GNUNET_snprintf(sbuf, | 61 | GNUNET_YES)); |
62 | sizeof(sbuf), | 62 | GNUNET_snprintf (sbuf, |
63 | "RSA %u-key generation", | 63 | sizeof(sbuf), |
64 | len); | 64 | "RSA %u-key generation", |
65 | GAUGER("UTIL", sbuf, | 65 | len); |
66 | 64 * 1024 / (1 + | 66 | GAUGER ("UTIL", sbuf, |
67 | GNUNET_TIME_absolute_get_duration | 67 | 64 * 1024 / (1 |
68 | (start).rel_value_us / 1000LL), "keys/ms"); | 68 | + GNUNET_TIME_absolute_get_duration |
69 | private_key = GNUNET_CRYPTO_rsa_private_key_create(len); | 69 | (start).rel_value_us / 1000LL), "keys/ms"); |
70 | public_key = GNUNET_CRYPTO_rsa_private_key_get_public(private_key); | 70 | private_key = GNUNET_CRYPTO_rsa_private_key_create (len); |
71 | public_key = GNUNET_CRYPTO_rsa_private_key_get_public (private_key); | ||
71 | for (i = 0; i < 10; i++) | 72 | for (i = 0; i < 10; i++) |
72 | GNUNET_CRYPTO_random_block(GNUNET_CRYPTO_QUALITY_WEAK, | 73 | GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, |
73 | &bsec[i], sizeof(bsec[0])); | 74 | &bsec[i], sizeof(bsec[0])); |
74 | /* | 75 | /* |
75 | start = GNUNET_TIME_absolute_get (); | 76 | start = GNUNET_TIME_absolute_get (); |
76 | for (i=0;i<10;i++) | 77 | for (i=0;i<10;i++) |
@@ -88,113 +89,117 @@ eval(unsigned int len) | |||
88 | GNUNET_TIME_absolute_get_duration | 89 | GNUNET_TIME_absolute_get_duration |
89 | (start).rel_value_us / 1000LL), "keys/ms"); | 90 | (start).rel_value_us / 1000LL), "keys/ms"); |
90 | */ | 91 | */ |
91 | start = GNUNET_TIME_absolute_get(); | 92 | start = GNUNET_TIME_absolute_get (); |
92 | GNUNET_CRYPTO_hash("test", 4, &hc); | 93 | GNUNET_CRYPTO_hash ("test", 4, &hc); |
93 | for (i = 0; i < 10; i++) | 94 | for (i = 0; i < 10; i++) |
94 | { | 95 | { |
95 | GNUNET_CRYPTO_rsa_blind(&hc, | 96 | GNUNET_CRYPTO_rsa_blind (&hc, |
96 | &bsec[i], | 97 | &bsec[i], |
97 | public_key, | 98 | public_key, |
98 | &bbuf, &bbuf_len); | 99 | &bbuf, &bbuf_len); |
99 | GNUNET_free(bbuf); | 100 | GNUNET_free (bbuf); |
100 | } | 101 | } |
101 | printf("10x %u-blinding took %s\n", | 102 | printf ("10x %u-blinding took %s\n", |
102 | len, | 103 | len, |
103 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), | 104 | GNUNET_STRINGS_relative_time_to_string ( |
104 | GNUNET_YES)); | 105 | GNUNET_TIME_absolute_get_duration (start), |
105 | GNUNET_snprintf(sbuf, | 106 | GNUNET_YES)); |
106 | sizeof(sbuf), | 107 | GNUNET_snprintf (sbuf, |
107 | "RSA %u-blinding", | 108 | sizeof(sbuf), |
108 | len); | 109 | "RSA %u-blinding", |
109 | GAUGER("UTIL", | 110 | len); |
110 | sbuf, | 111 | GAUGER ("UTIL", |
111 | 64 * 1024 / (1 + | 112 | sbuf, |
112 | GNUNET_TIME_absolute_get_duration | 113 | 64 * 1024 / (1 |
113 | (start).rel_value_us / 1000LL), "ops/ms"); | 114 | + GNUNET_TIME_absolute_get_duration |
114 | GNUNET_CRYPTO_rsa_blind(&hc, | 115 | (start).rel_value_us / 1000LL), "ops/ms"); |
115 | &bsec[0], | 116 | GNUNET_CRYPTO_rsa_blind (&hc, |
116 | public_key, | 117 | &bsec[0], |
117 | &bbuf, &bbuf_len); | 118 | public_key, |
118 | start = GNUNET_TIME_absolute_get(); | 119 | &bbuf, &bbuf_len); |
120 | start = GNUNET_TIME_absolute_get (); | ||
119 | for (i = 0; i < 10; i++) | 121 | for (i = 0; i < 10; i++) |
120 | { | 122 | { |
121 | sig = GNUNET_CRYPTO_rsa_sign_blinded(private_key, | 123 | sig = GNUNET_CRYPTO_rsa_sign_blinded (private_key, |
122 | bbuf, bbuf_len); | 124 | bbuf, bbuf_len); |
123 | GNUNET_CRYPTO_rsa_signature_free(sig); | 125 | GNUNET_CRYPTO_rsa_signature_free (sig); |
124 | } | 126 | } |
125 | printf("10x %u-signing took %s\n", | 127 | printf ("10x %u-signing took %s\n", |
126 | len, | 128 | len, |
127 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), | 129 | GNUNET_STRINGS_relative_time_to_string ( |
128 | GNUNET_YES)); | 130 | GNUNET_TIME_absolute_get_duration (start), |
129 | GNUNET_snprintf(sbuf, | 131 | GNUNET_YES)); |
130 | sizeof(sbuf), | 132 | GNUNET_snprintf (sbuf, |
131 | "RSA %u-signing", | 133 | sizeof(sbuf), |
132 | len); | 134 | "RSA %u-signing", |
133 | GAUGER("UTIL", | 135 | len); |
134 | sbuf, | 136 | GAUGER ("UTIL", |
135 | 64 * 1024 / (1 + | 137 | sbuf, |
136 | GNUNET_TIME_absolute_get_duration | 138 | 64 * 1024 / (1 |
137 | (start).rel_value_us / 1000LL), "ops/ms"); | 139 | + GNUNET_TIME_absolute_get_duration |
138 | sig = GNUNET_CRYPTO_rsa_sign_blinded(private_key, | 140 | (start).rel_value_us / 1000LL), "ops/ms"); |
139 | bbuf, | 141 | sig = GNUNET_CRYPTO_rsa_sign_blinded (private_key, |
140 | bbuf_len); | 142 | bbuf, |
141 | start = GNUNET_TIME_absolute_get(); | 143 | bbuf_len); |
144 | start = GNUNET_TIME_absolute_get (); | ||
142 | for (i = 0; i < 10; i++) | 145 | for (i = 0; i < 10; i++) |
143 | { | 146 | { |
144 | rsig = GNUNET_CRYPTO_rsa_unblind(sig, | 147 | rsig = GNUNET_CRYPTO_rsa_unblind (sig, |
145 | &bsec[0], | 148 | &bsec[0], |
146 | public_key); | 149 | public_key); |
147 | GNUNET_CRYPTO_rsa_signature_free(rsig); | 150 | GNUNET_CRYPTO_rsa_signature_free (rsig); |
148 | } | 151 | } |
149 | printf("10x %u-unblinding took %s\n", | 152 | printf ("10x %u-unblinding took %s\n", |
150 | len, | 153 | len, |
151 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), | 154 | GNUNET_STRINGS_relative_time_to_string ( |
152 | GNUNET_YES)); | 155 | GNUNET_TIME_absolute_get_duration (start), |
153 | GNUNET_snprintf(sbuf, | 156 | GNUNET_YES)); |
154 | sizeof(sbuf), | 157 | GNUNET_snprintf (sbuf, |
155 | "RSA %u-unblinding", | 158 | sizeof(sbuf), |
156 | len); | 159 | "RSA %u-unblinding", |
157 | GAUGER("UTIL", | 160 | len); |
158 | sbuf, | 161 | GAUGER ("UTIL", |
159 | 64 * 1024 / (1 + | 162 | sbuf, |
160 | GNUNET_TIME_absolute_get_duration | 163 | 64 * 1024 / (1 |
161 | (start).rel_value_us / 1000LL), "ops/ms"); | 164 | + GNUNET_TIME_absolute_get_duration |
162 | rsig = GNUNET_CRYPTO_rsa_unblind(sig, | 165 | (start).rel_value_us / 1000LL), "ops/ms"); |
163 | &bsec[0], | 166 | rsig = GNUNET_CRYPTO_rsa_unblind (sig, |
164 | public_key); | 167 | &bsec[0], |
165 | start = GNUNET_TIME_absolute_get(); | 168 | public_key); |
169 | start = GNUNET_TIME_absolute_get (); | ||
166 | for (i = 0; i < 10; i++) | 170 | for (i = 0; i < 10; i++) |
167 | { | 171 | { |
168 | GNUNET_assert(GNUNET_OK == | 172 | GNUNET_assert (GNUNET_OK == |
169 | GNUNET_CRYPTO_rsa_verify(&hc, | 173 | GNUNET_CRYPTO_rsa_verify (&hc, |
170 | rsig, | 174 | rsig, |
171 | public_key)); | 175 | public_key)); |
172 | } | 176 | } |
173 | printf("10x %u-verifying took %s\n", | 177 | printf ("10x %u-verifying took %s\n", |
174 | len, | 178 | len, |
175 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), | 179 | GNUNET_STRINGS_relative_time_to_string ( |
176 | GNUNET_YES)); | 180 | GNUNET_TIME_absolute_get_duration (start), |
177 | GNUNET_snprintf(sbuf, | 181 | GNUNET_YES)); |
178 | sizeof(sbuf), | 182 | GNUNET_snprintf (sbuf, |
179 | "RSA %u-verification", | 183 | sizeof(sbuf), |
180 | len); | 184 | "RSA %u-verification", |
181 | GAUGER("UTIL", | 185 | len); |
182 | sbuf, | 186 | GAUGER ("UTIL", |
183 | 64 * 1024 / (1 + | 187 | sbuf, |
184 | GNUNET_TIME_absolute_get_duration | 188 | 64 * 1024 / (1 |
185 | (start).rel_value_us / 1000LL), "ops/ms"); | 189 | + GNUNET_TIME_absolute_get_duration |
186 | GNUNET_CRYPTO_rsa_signature_free(sig); | 190 | (start).rel_value_us / 1000LL), "ops/ms"); |
187 | GNUNET_CRYPTO_rsa_public_key_free(public_key); | 191 | GNUNET_CRYPTO_rsa_signature_free (sig); |
188 | GNUNET_CRYPTO_rsa_private_key_free(private_key); | 192 | GNUNET_CRYPTO_rsa_public_key_free (public_key); |
189 | GNUNET_free(bbuf); | 193 | GNUNET_CRYPTO_rsa_private_key_free (private_key); |
194 | GNUNET_free (bbuf); | ||
190 | } | 195 | } |
191 | 196 | ||
192 | 197 | ||
193 | int | 198 | int |
194 | main(int argc, char *argv[]) | 199 | main (int argc, char *argv[]) |
195 | { | 200 | { |
196 | eval(1024); | 201 | eval (1024); |
197 | eval(2048); | 202 | eval (2048); |
198 | /* eval (4096); */ | 203 | /* eval (4096); */ |
199 | return 0; | 204 | return 0; |
200 | } | 205 | } |