summaryrefslogtreecommitdiff
path: root/src/util/perf_crypto_rsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/perf_crypto_rsa.c')
-rw-r--r--src/util/perf_crypto_rsa.c266
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 */
36static void 36static void
37eval (unsigned int len) 37eval(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
193int 193int
194main (int argc, char *argv[]) 194main(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}