diff options
Diffstat (limited to 'src/util/perf_crypto_rsa.c')
-rw-r--r-- | src/util/perf_crypto_rsa.c | 266 |
1 files changed, 133 insertions, 133 deletions
diff --git a/src/util/perf_crypto_rsa.c b/src/util/perf_crypto_rsa.c index 1140738f6..33740666e 100644 --- a/src/util/perf_crypto_rsa.c +++ b/src/util/perf_crypto_rsa.c | |||
@@ -11,12 +11,12 @@ | |||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Affero General Public License for more details. | 13 | Affero General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU Affero General Public License | 15 | You should have received a copy of the GNU Affero General Public License |
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | ||
18 | SPDX-License-Identifier: AGPL3.0-or-later | 18 | SPDX-License-Identifier: AGPL3.0-or-later |
19 | */ | 19 | */ |
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @author Christian Grothoff | 22 | * @author Christian Grothoff |
@@ -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,153 +48,153 @@ 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(GNUNET_TIME_absolute_get_duration(start), |
60 | GNUNET_YES)); | 60 | GNUNET_YES)); |
61 | GNUNET_snprintf (sbuf, | 61 | GNUNET_snprintf(sbuf, |
62 | sizeof (sbuf), | 62 | sizeof(sbuf), |
63 | "RSA %u-key generation", | 63 | "RSA %u-key generation", |
64 | len); | 64 | len); |
65 | GAUGER ("UTIL", sbuf, | 65 | GAUGER("UTIL", sbuf, |
66 | 64 * 1024 / (1 + | 66 | 64 * 1024 / (1 + |
67 | GNUNET_TIME_absolute_get_duration | 67 | GNUNET_TIME_absolute_get_duration |
68 | (start).rel_value_us / 1000LL), "keys/ms"); | 68 | (start).rel_value_us / 1000LL), "keys/ms"); |
69 | private_key = GNUNET_CRYPTO_rsa_private_key_create (len); | 69 | private_key = GNUNET_CRYPTO_rsa_private_key_create(len); |
70 | public_key = GNUNET_CRYPTO_rsa_private_key_get_public (private_key); | 70 | public_key = GNUNET_CRYPTO_rsa_private_key_get_public(private_key); |
71 | for (i=0;i<10;i++) | 71 | for (i = 0; i < 10; i++) |
72 | GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, | 72 | GNUNET_CRYPTO_random_block(GNUNET_CRYPTO_QUALITY_WEAK, |
73 | &bsec[i], sizeof (bsec[0])); | 73 | &bsec[i], sizeof(bsec[0])); |
74 | /* | 74 | /* |
75 | start = GNUNET_TIME_absolute_get (); | 75 | start = GNUNET_TIME_absolute_get (); |
76 | for (i=0;i<10;i++) | 76 | for (i=0;i<10;i++) |
77 | rsa_blinding_key_derive(public_key, &bsec[i]); | 77 | rsa_blinding_key_derive(public_key, &bsec[i]); |
78 | printf ("10x %u-blinding key generation took %s\n", | 78 | printf ("10x %u-blinding key generation took %s\n", |
79 | len, | 79 | len, |
80 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), | 80 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), |
81 | GNUNET_YES)); | 81 | GNUNET_YES)); |
82 | GNUNET_snprintf (sbuf, | 82 | GNUNET_snprintf (sbuf, |
83 | sizeof (sbuf), | 83 | sizeof (sbuf), |
84 | "RSA %u-blinding key generation", | 84 | "RSA %u-blinding key generation", |
85 | len); | 85 | len); |
86 | GAUGER ("UTIL", sbuf, | 86 | GAUGER ("UTIL", sbuf, |
87 | 64 * 1024 / (1 + | 87 | 64 * 1024 / (1 + |
88 | GNUNET_TIME_absolute_get_duration | 88 | GNUNET_TIME_absolute_get_duration |
89 | (start).rel_value_us / 1000LL), "keys/ms"); | 89 | (start).rel_value_us / 1000LL), "keys/ms"); |
90 | */ | 90 | */ |
91 | start = GNUNET_TIME_absolute_get (); | 91 | start = GNUNET_TIME_absolute_get(); |
92 | GNUNET_CRYPTO_hash ("test", 4, &hc); | 92 | GNUNET_CRYPTO_hash("test", 4, &hc); |
93 | for (i=0;i<10;i++) | 93 | for (i = 0; i < 10; i++) |
94 | { | 94 | { |
95 | GNUNET_CRYPTO_rsa_blind (&hc, | 95 | GNUNET_CRYPTO_rsa_blind(&hc, |
96 | &bsec[i], | 96 | &bsec[i], |
97 | public_key, | 97 | public_key, |
98 | &bbuf, &bbuf_len); | 98 | &bbuf, &bbuf_len); |
99 | GNUNET_free (bbuf); | 99 | GNUNET_free(bbuf); |
100 | } | 100 | } |
101 | printf ("10x %u-blinding took %s\n", | 101 | printf("10x %u-blinding took %s\n", |
102 | len, | 102 | len, |
103 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), | 103 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), |
104 | GNUNET_YES)); | 104 | GNUNET_YES)); |
105 | GNUNET_snprintf (sbuf, | 105 | GNUNET_snprintf(sbuf, |
106 | sizeof (sbuf), | 106 | sizeof(sbuf), |
107 | "RSA %u-blinding", | 107 | "RSA %u-blinding", |
108 | len); | 108 | len); |
109 | GAUGER ("UTIL", | 109 | GAUGER("UTIL", |
110 | sbuf, | 110 | sbuf, |
111 | 64 * 1024 / (1 + | 111 | 64 * 1024 / (1 + |
112 | GNUNET_TIME_absolute_get_duration | 112 | GNUNET_TIME_absolute_get_duration |
113 | (start).rel_value_us / 1000LL), "ops/ms"); | 113 | (start).rel_value_us / 1000LL), "ops/ms"); |
114 | GNUNET_CRYPTO_rsa_blind (&hc, | 114 | GNUNET_CRYPTO_rsa_blind(&hc, |
115 | &bsec[0], | 115 | &bsec[0], |
116 | public_key, | 116 | public_key, |
117 | &bbuf, &bbuf_len); | 117 | &bbuf, &bbuf_len); |
118 | start = GNUNET_TIME_absolute_get (); | 118 | start = GNUNET_TIME_absolute_get(); |
119 | for (i=0;i<10;i++) | 119 | for (i = 0; i < 10; i++) |
120 | { | 120 | { |
121 | sig = GNUNET_CRYPTO_rsa_sign_blinded (private_key, | 121 | sig = GNUNET_CRYPTO_rsa_sign_blinded(private_key, |
122 | bbuf, bbuf_len); | 122 | bbuf, bbuf_len); |
123 | GNUNET_CRYPTO_rsa_signature_free (sig); | 123 | GNUNET_CRYPTO_rsa_signature_free(sig); |
124 | } | 124 | } |
125 | printf ("10x %u-signing took %s\n", | 125 | printf("10x %u-signing took %s\n", |
126 | len, | 126 | len, |
127 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), | 127 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), |
128 | GNUNET_YES)); | 128 | GNUNET_YES)); |
129 | GNUNET_snprintf (sbuf, | 129 | GNUNET_snprintf(sbuf, |
130 | sizeof (sbuf), | 130 | sizeof(sbuf), |
131 | "RSA %u-signing", | 131 | "RSA %u-signing", |
132 | len); | 132 | len); |
133 | GAUGER ("UTIL", | 133 | GAUGER("UTIL", |
134 | sbuf, | 134 | sbuf, |
135 | 64 * 1024 / (1 + | 135 | 64 * 1024 / (1 + |
136 | GNUNET_TIME_absolute_get_duration | 136 | GNUNET_TIME_absolute_get_duration |
137 | (start).rel_value_us / 1000LL), "ops/ms"); | 137 | (start).rel_value_us / 1000LL), "ops/ms"); |
138 | sig = GNUNET_CRYPTO_rsa_sign_blinded (private_key, | 138 | sig = GNUNET_CRYPTO_rsa_sign_blinded(private_key, |
139 | bbuf, | 139 | bbuf, |
140 | bbuf_len); | 140 | bbuf_len); |
141 | start = GNUNET_TIME_absolute_get (); | 141 | start = GNUNET_TIME_absolute_get(); |
142 | for (i=0;i<10;i++) | 142 | for (i = 0; i < 10; i++) |
143 | { | 143 | { |
144 | rsig = GNUNET_CRYPTO_rsa_unblind (sig, | 144 | rsig = GNUNET_CRYPTO_rsa_unblind(sig, |
145 | &bsec[0], | 145 | &bsec[0], |
146 | public_key); | 146 | public_key); |
147 | GNUNET_CRYPTO_rsa_signature_free (rsig); | 147 | GNUNET_CRYPTO_rsa_signature_free(rsig); |
148 | } | 148 | } |
149 | printf ("10x %u-unblinding took %s\n", | 149 | printf("10x %u-unblinding took %s\n", |
150 | len, | 150 | len, |
151 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), | 151 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), |
152 | GNUNET_YES)); | 152 | GNUNET_YES)); |
153 | GNUNET_snprintf (sbuf, | 153 | GNUNET_snprintf(sbuf, |
154 | sizeof (sbuf), | 154 | sizeof(sbuf), |
155 | "RSA %u-unblinding", | 155 | "RSA %u-unblinding", |
156 | len); | 156 | len); |
157 | GAUGER ("UTIL", | 157 | GAUGER("UTIL", |
158 | sbuf, | 158 | sbuf, |
159 | 64 * 1024 / (1 + | 159 | 64 * 1024 / (1 + |
160 | GNUNET_TIME_absolute_get_duration | 160 | GNUNET_TIME_absolute_get_duration |
161 | (start).rel_value_us / 1000LL), "ops/ms"); | 161 | (start).rel_value_us / 1000LL), "ops/ms"); |
162 | rsig = GNUNET_CRYPTO_rsa_unblind (sig, | 162 | rsig = GNUNET_CRYPTO_rsa_unblind(sig, |
163 | &bsec[0], | 163 | &bsec[0], |
164 | public_key); | 164 | public_key); |
165 | start = GNUNET_TIME_absolute_get (); | 165 | start = GNUNET_TIME_absolute_get(); |
166 | for (i=0;i<10;i++) | 166 | for (i = 0; i < 10; i++) |
167 | { | 167 | { |
168 | GNUNET_assert (GNUNET_OK == | 168 | GNUNET_assert(GNUNET_OK == |
169 | GNUNET_CRYPTO_rsa_verify (&hc, | 169 | GNUNET_CRYPTO_rsa_verify(&hc, |
170 | rsig, | 170 | rsig, |
171 | public_key)); | 171 | public_key)); |
172 | } | 172 | } |
173 | printf ("10x %u-verifying took %s\n", | 173 | printf("10x %u-verifying took %s\n", |
174 | len, | 174 | len, |
175 | GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), | 175 | GNUNET_STRINGS_relative_time_to_string(GNUNET_TIME_absolute_get_duration(start), |
176 | GNUNET_YES)); | 176 | GNUNET_YES)); |
177 | GNUNET_snprintf (sbuf, | 177 | GNUNET_snprintf(sbuf, |
178 | sizeof (sbuf), | 178 | sizeof(sbuf), |
179 | "RSA %u-verification", | 179 | "RSA %u-verification", |
180 | len); | 180 | len); |
181 | GAUGER ("UTIL", | 181 | GAUGER("UTIL", |
182 | sbuf, | 182 | sbuf, |
183 | 64 * 1024 / (1 + | 183 | 64 * 1024 / (1 + |
184 | GNUNET_TIME_absolute_get_duration | 184 | GNUNET_TIME_absolute_get_duration |
185 | (start).rel_value_us / 1000LL), "ops/ms"); | 185 | (start).rel_value_us / 1000LL), "ops/ms"); |
186 | GNUNET_CRYPTO_rsa_signature_free (sig); | 186 | GNUNET_CRYPTO_rsa_signature_free(sig); |
187 | GNUNET_CRYPTO_rsa_public_key_free (public_key); | 187 | GNUNET_CRYPTO_rsa_public_key_free(public_key); |
188 | GNUNET_CRYPTO_rsa_private_key_free (private_key); | 188 | GNUNET_CRYPTO_rsa_private_key_free(private_key); |
189 | GNUNET_free (bbuf); | 189 | GNUNET_free(bbuf); |
190 | } | 190 | } |
191 | 191 | ||
192 | 192 | ||
193 | int | 193 | int |
194 | main (int argc, char *argv[]) | 194 | main(int argc, char *argv[]) |
195 | { | 195 | { |
196 | eval (1024); | 196 | eval(1024); |
197 | eval (2048); | 197 | eval(2048); |
198 | /* eval (4096); */ | 198 | /* eval (4096); */ |
199 | return 0; | 199 | return 0; |
200 | } | 200 | } |