Skip to content

Commit a8a461e

Browse files
committed
fixup! consistent formatting
1 parent 16ea890 commit a8a461e

7 files changed

Lines changed: 206 additions & 178 deletions

File tree

.clang-format

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ AlignConsecutiveAssignments: false
5050
AlignConsecutiveDeclarations: false
5151
AlignConsecutiveMacros: Consecutive
5252
AlignEscapedNewlines: Left # Unknown to clang-format-4.0
53-
AlignOperands: true
53+
AlignOperands: Align
54+
BreakBeforeBinaryOperators: NonAssignment
5455
AlignTrailingComments: true
5556

5657
# 7
@@ -66,8 +67,7 @@ AlwaysBreakAfterDefinitionReturnType: None
6667
AlwaysBreakAfterReturnType: None
6768
AlwaysBreakBeforeMultilineStrings: false
6869
AlwaysBreakTemplateDeclarations: false
69-
BreakBeforeBinaryOperators: NonAssignment
70-
BreakBeforeTernaryOperators: false
70+
BreakBeforeTernaryOperators: true
7171
DisableFormat: false
7272
#FixNamespaceComments: false # Unknown to clang-format-4.0
7373

@@ -95,3 +95,4 @@ SortIncludes: CaseInsensitive
9595
#SortUsingDeclarations: false # Unknown to clang-format-4.0
9696

9797
Cpp11BracedListStyle: true # bad but reduces initial diff
98+
IndentExternBlock: NoIndent

benchmark/sign.c

Lines changed: 175 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -7,181 +7,208 @@
77
**********************************************************************/
88

99
#define _GNU_SOURCE
10-
#include <stdio.h>
11-
#include <string.h>
12-
#include <time.h>
13-
#include <sys/time.h>
1410
#include <getopt.h>
15-
#include <openssl/rand.h>
1611
#include <openssl/conf.h>
12+
#include <openssl/engine.h>
1713
#include <openssl/err.h>
1814
#include <openssl/evp.h>
1915
#include <openssl/pem.h>
20-
#include <openssl/engine.h>
16+
#include <openssl/rand.h>
17+
#include <stdio.h>
18+
#include <string.h>
19+
#include <sys/time.h>
20+
#include <time.h>
2121

2222
const char *tests[] = {
23-
"md_gost12_256", "gost2012_256", "A",
24-
"md_gost12_256", "gost2012_256", "B",
25-
"md_gost12_256", "gost2012_256", "C",
26-
"md_gost12_256", "gost2012_256", "TCA",
27-
"md_gost12_256", "gost2012_256", "TCB",
28-
"md_gost12_256", "gost2012_256", "TCC",
29-
"md_gost12_256", "gost2012_256", "TCD",
30-
31-
"md_gost12_512", "gost2012_512", "A",
32-
"md_gost12_512", "gost2012_512", "B",
33-
"md_gost12_512", "gost2012_512", "C",
23+
"md_gost12_256",
24+
"gost2012_256",
25+
"A",
26+
"md_gost12_256",
27+
"gost2012_256",
28+
"B",
29+
"md_gost12_256",
30+
"gost2012_256",
31+
"C",
32+
"md_gost12_256",
33+
"gost2012_256",
34+
"TCA",
35+
"md_gost12_256",
36+
"gost2012_256",
37+
"TCB",
38+
"md_gost12_256",
39+
"gost2012_256",
40+
"TCC",
41+
"md_gost12_256",
42+
"gost2012_256",
43+
"TCD",
44+
45+
"md_gost12_512",
46+
"gost2012_512",
47+
"A",
48+
"md_gost12_512",
49+
"gost2012_512",
50+
"B",
51+
"md_gost12_512",
52+
"gost2012_512",
53+
"C",
3454

3555
NULL,
3656
};
3757

3858
static EVP_PKEY *create_key(const char *algname, const char *param)
3959
{
40-
EVP_PKEY *key1 = EVP_PKEY_new(), *newkey = NULL;
41-
EVP_PKEY_CTX *ctx = NULL;
60+
EVP_PKEY *key1 = EVP_PKEY_new(), *newkey = NULL;
61+
EVP_PKEY_CTX *ctx = NULL;
4262

43-
if (EVP_PKEY_set_type_str(key1, algname, strlen(algname)) <= 0)
44-
goto err;
63+
if (EVP_PKEY_set_type_str(key1, algname, strlen(algname)) <= 0)
64+
goto err;
4565

46-
if (!(ctx = EVP_PKEY_CTX_new(key1, NULL)))
47-
goto err;
66+
if (!(ctx = EVP_PKEY_CTX_new(key1, NULL)))
67+
goto err;
4868

49-
if (EVP_PKEY_keygen_init(ctx) == 0)
50-
goto err;
69+
if (EVP_PKEY_keygen_init(ctx) == 0)
70+
goto err;
5171

52-
if (ERR_peek_last_error())
53-
goto err;
72+
if (ERR_peek_last_error())
73+
goto err;
5474

55-
if (EVP_PKEY_CTX_ctrl_str(ctx, "paramset", param) <= 0)
56-
goto err;
75+
if (EVP_PKEY_CTX_ctrl_str(ctx, "paramset", param) <= 0)
76+
goto err;
5777

58-
if (EVP_PKEY_keygen(ctx, &newkey) <= 0)
59-
goto err;
78+
if (EVP_PKEY_keygen(ctx, &newkey) <= 0)
79+
goto err;
6080

6181
err:
62-
if(ctx)
63-
EVP_PKEY_CTX_free(ctx);
64-
EVP_PKEY_free(key1);
65-
return newkey;
82+
if (ctx)
83+
EVP_PKEY_CTX_free(ctx);
84+
EVP_PKEY_free(key1);
85+
return newkey;
6686
}
6787

6888
void usage(char *name)
6989
{
70-
fprintf(stderr, "usage: %s [-l data_len] [-c cycles]\n", name);
71-
exit(1);
90+
fprintf(stderr, "usage: %s [-l data_len] [-c cycles]\n", name);
91+
exit(1);
7292
}
7393

7494
int main(int argc, char **argv)
7595
{
76-
unsigned int data_len = 1;
77-
unsigned int cycles = 100;
78-
int option;
79-
clockid_t clock_type = CLOCK_MONOTONIC;
80-
int test, test_count = 0;
81-
82-
opterr = 0;
83-
while((option = getopt(argc, argv, "l:c:C")) >= 0)
84-
{
85-
switch (option)
86-
{
87-
case 'l':
88-
data_len = atoi(optarg);
89-
break;
90-
case 'c':
91-
cycles = atoi(optarg);
92-
break;
93-
case 'C':
94-
clock_type = CLOCK_PROCESS_CPUTIME_ID;
95-
break;
96-
default:
97-
usage(argv[0]);
98-
break;
99-
}
100-
}
101-
if (optind < argc) usage(argv[0]);
102-
if (cycles < 100) { printf("cycles too low\n"); exit(1); }
103-
104-
OPENSSL_add_all_algorithms_conf();
105-
ERR_load_crypto_strings();
106-
107-
for (test = 0; tests[test]; test += 3) {
108-
double diff[2]; /* sign, verify */
109-
const char *digest = tests[test];
110-
const char *algo = tests[test + 1];
111-
const char *param = tests[test + 2];
112-
const EVP_MD *mdtype;
113-
EVP_MD_CTX *md_ctx;
114-
unsigned int siglen;
115-
unsigned char *sigbuf;
116-
EVP_PKEY *pkey;
117-
unsigned char *data;
118-
int pass;
119-
120-
md_ctx = EVP_MD_CTX_new();
121-
mdtype = EVP_get_digestbyname(digest);
122-
if (!mdtype)
123-
continue;
124-
pkey = create_key(algo, param);
125-
data = (unsigned char *) malloc(data_len);
126-
if (!pkey)
127-
continue;
128-
129-
test_count++;
130-
printf("wait...");
131-
fflush(stdout);
132-
siglen = EVP_PKEY_size(pkey);
133-
sigbuf = malloc(siglen * cycles);
134-
if (!sigbuf) {
135-
fprintf(stderr, "No tests were run, malloc failure.\n");
136-
exit(1);
137-
}
138-
139-
for (pass = 0; pass < 2; pass++) {
140-
struct timespec ts;
141-
struct timeval debut, fin, delta;
142-
int err;
143-
unsigned int i;
144-
145-
clock_gettime(clock_type, &ts);
146-
TIMESPEC_TO_TIMEVAL(&debut, &ts);
147-
148-
if (pass == 0) { /* sign */
149-
for (i = 0; i < cycles; i++) {
150-
EVP_SignInit(md_ctx, mdtype);
151-
err = EVP_SignUpdate(md_ctx, data, data_len)
152-
&& EVP_SignFinal(md_ctx, &sigbuf[siglen * i],
153-
(unsigned int *)&siglen, pkey);
154-
if (err != 1)
155-
printf("!");
156-
EVP_MD_CTX_reset(md_ctx);
157-
}
158-
} else { /* verify */
159-
for (i = 0; i < cycles; i++) {
160-
EVP_VerifyInit(md_ctx, mdtype);
161-
err = EVP_VerifyUpdate(md_ctx, data, data_len)
162-
&& EVP_VerifyFinal(md_ctx, &sigbuf[siglen * i],
163-
siglen, pkey);
164-
EVP_MD_CTX_reset(md_ctx);
165-
if (err != 1)
166-
printf("!");
167-
}
168-
}
169-
170-
clock_gettime(clock_type, &ts);
171-
TIMESPEC_TO_TIMEVAL(&fin, &ts);
172-
timersub(&fin, &debut, &delta);
173-
diff[pass] = (double)delta.tv_sec + (double)delta.tv_usec / 1000000;
174-
}
175-
printf("\r%s %s: sign: %.1f/s, verify: %.1f/s\n", algo, param,
176-
(double)cycles / diff[0], (double)cycles / diff[1]);
177-
EVP_PKEY_free(pkey);
178-
free(sigbuf);
179-
free(data);
180-
}
181-
182-
if (!test_count) {
183-
fprintf(stderr, "No tests were run, something is wrong.\n");
184-
exit(1);
185-
}
186-
exit(0);
96+
unsigned int data_len = 1;
97+
unsigned int cycles = 100;
98+
int option;
99+
clockid_t clock_type = CLOCK_MONOTONIC;
100+
int test, test_count = 0;
101+
102+
opterr = 0;
103+
while ((option = getopt(argc, argv, "l:c:C")) >= 0) {
104+
switch (option) {
105+
case 'l':
106+
data_len = atoi(optarg);
107+
break;
108+
case 'c':
109+
cycles = atoi(optarg);
110+
break;
111+
case 'C':
112+
clock_type = CLOCK_PROCESS_CPUTIME_ID;
113+
break;
114+
default:
115+
usage(argv[0]);
116+
break;
117+
}
118+
}
119+
if (optind < argc)
120+
usage(argv[0]);
121+
if (cycles < 100) {
122+
printf("cycles too low\n");
123+
exit(1);
124+
}
125+
126+
OPENSSL_add_all_algorithms_conf();
127+
ERR_load_crypto_strings();
128+
129+
for (test = 0; tests[test]; test += 3) {
130+
double diff[2]; /* sign, verify */
131+
const char *digest = tests[test];
132+
const char *algo = tests[test + 1];
133+
const char *param = tests[test + 2];
134+
const EVP_MD *mdtype;
135+
EVP_MD_CTX *md_ctx;
136+
unsigned int siglen;
137+
unsigned char *sigbuf;
138+
EVP_PKEY *pkey;
139+
unsigned char *data;
140+
int pass;
141+
142+
md_ctx = EVP_MD_CTX_new();
143+
mdtype = EVP_get_digestbyname(digest);
144+
if (!mdtype)
145+
continue;
146+
pkey = create_key(algo, param);
147+
data = (unsigned char *)malloc(data_len);
148+
if (!pkey)
149+
continue;
150+
151+
test_count++;
152+
printf("wait...");
153+
fflush(stdout);
154+
siglen = EVP_PKEY_size(pkey);
155+
sigbuf = malloc(siglen * cycles);
156+
if (!sigbuf) {
157+
fprintf(stderr, "No tests were run, malloc failure.\n");
158+
exit(1);
159+
}
160+
161+
for (pass = 0; pass < 2; pass++) {
162+
struct timespec ts;
163+
struct timeval debut, fin, delta;
164+
int err;
165+
unsigned int i;
166+
167+
clock_gettime(clock_type, &ts);
168+
TIMESPEC_TO_TIMEVAL(&debut, &ts);
169+
170+
if (pass == 0) { /* sign */
171+
for (i = 0; i < cycles; i++) {
172+
EVP_SignInit(md_ctx, mdtype);
173+
err = EVP_SignUpdate(md_ctx, data, data_len)
174+
&& EVP_SignFinal(md_ctx,
175+
&sigbuf[siglen * i],
176+
(unsigned int *)&siglen,
177+
pkey);
178+
if (err != 1)
179+
printf("!");
180+
EVP_MD_CTX_reset(md_ctx);
181+
}
182+
} else { /* verify */
183+
for (i = 0; i < cycles; i++) {
184+
EVP_VerifyInit(md_ctx, mdtype);
185+
err = EVP_VerifyUpdate(md_ctx, data, data_len)
186+
&& EVP_VerifyFinal(
187+
md_ctx, &sigbuf[siglen * i], siglen, pkey);
188+
EVP_MD_CTX_reset(md_ctx);
189+
if (err != 1)
190+
printf("!");
191+
}
192+
}
193+
194+
clock_gettime(clock_type, &ts);
195+
TIMESPEC_TO_TIMEVAL(&fin, &ts);
196+
timersub(&fin, &debut, &delta);
197+
diff[pass] = (double)delta.tv_sec + (double)delta.tv_usec / 1000000;
198+
}
199+
printf("\r%s %s: sign: %.1f/s, verify: %.1f/s\n",
200+
algo,
201+
param,
202+
(double)cycles / diff[0],
203+
(double)cycles / diff[1]);
204+
EVP_PKEY_free(pkey);
205+
free(sigbuf);
206+
free(data);
207+
}
208+
209+
if (!test_count) {
210+
fprintf(stderr, "No tests were run, something is wrong.\n");
211+
exit(1);
212+
}
213+
exit(0);
187214
}

0 commit comments

Comments
 (0)