]>
Commit | Line | Data |
---|---|---|
b20b78b7 UM |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
b6b66573 | 5 | openssl-speed - test library performance |
b20b78b7 UM |
6 | |
7 | =head1 SYNOPSIS | |
8 | ||
9 | B<openssl speed> | |
0ae9e292 | 10 | [B<-help>] |
e8769719 | 11 | [B<-engine> I<id>] |
a0474357 | 12 | [B<-elapsed>] |
e8769719 RS |
13 | [B<-evp> I<algo>] |
14 | [B<-hmac> I<algo>] | |
15 | [B<-cmac> I<algo>] | |
a0474357 | 16 | [B<-decrypt>] |
e8769719 RS |
17 | [B<-rand> I<file...>] |
18 | [B<-writerand> I<file>] | |
19 | [B<-primes> I<num>] | |
20 | [B<-seconds> I<num>] | |
21 | [B<-bytes> I<num>] | |
1a627771 | 22 | [B<algorithm...>] |
b20b78b7 | 23 | |
1738c0ce RS |
24 | =for comment ifdef cmac multi async_jobs engine |
25 | ||
b20b78b7 UM |
26 | =head1 DESCRIPTION |
27 | ||
28 | This command is used to test the performance of cryptographic algorithms. | |
1a627771 | 29 | To see the list of supported algorithms, use the I<list --digest-commands> |
65e6b9a4 PS |
30 | or I<list --cipher-commands> command. The global CSPRNG is denoted by |
31 | the I<rand> algorithm name. | |
b20b78b7 UM |
32 | |
33 | =head1 OPTIONS | |
34 | ||
5270e702 RL |
35 | =over 4 |
36 | ||
0ae9e292 RS |
37 | =item B<-help> |
38 | ||
39 | Print out a usage message. | |
40 | ||
e8769719 | 41 | =item B<-engine> I<id> |
5270e702 | 42 | |
c4de074e | 43 | Specifying an engine (by its unique B<id> string) will cause B<speed> |
5270e702 RL |
44 | to attempt to obtain a functional reference to the specified engine, |
45 | thus initialising it if needed. The engine will then be set as the default | |
46 | for all available algorithms. | |
47 | ||
a0474357 RS |
48 | =item B<-elapsed> |
49 | ||
44ca7565 AP |
50 | When calculating operations- or bytes-per-second, use wall-clock time |
51 | instead of CPU user time as divisor. It can be useful when testing speed | |
52 | of hardware engines. | |
a0474357 | 53 | |
e8769719 | 54 | =item B<-evp> I<algo> |
a0474357 RS |
55 | |
56 | Use the specified cipher or message digest algorithm via the EVP interface. | |
44ca7565 AP |
57 | If B<algo> is an AEAD cipher, then you can pass <-aead> to benchmark a |
58 | TLS-like sequence. And if B<algo> is a multi-buffer capable cipher, e.g. | |
59 | aes-128-cbc-hmac-sha1, then B<-mb> will time multi-buffer operation. | |
a0474357 | 60 | |
e8769719 | 61 | =item B<-hmac> I<digest> |
f88b9b79 P |
62 | |
63 | Time the HMAC algorithm using the specified message digest. | |
64 | ||
e8769719 | 65 | =item B<-cmac> I<cipher> |
9bba2c4c BE |
66 | |
67 | Time the CMAC algorithm using the specified cipher e.g. B<speed -cmac aes128>. | |
68 | ||
a0474357 RS |
69 | =item B<-decrypt> |
70 | ||
71 | Time the decryption instead of encryption. Affects only the EVP testing. | |
72 | ||
e8769719 | 73 | =item B<-rand> I<file...> |
3ee1eac2 RS |
74 | |
75 | A file or files containing random data used to seed the random number | |
76 | generator. | |
77 | Multiple files can be specified separated by an OS-dependent character. | |
78 | The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for | |
79 | all others. | |
80 | ||
e8769719 | 81 | =item B<-writerand> I<file> |
3ee1eac2 RS |
82 | |
83 | Writes random data to the specified I<file> upon exit. | |
84 | This can be used with a subsequent B<-rand> flag. | |
85 | ||
e8769719 | 86 | =item B<-primes> I<num> |
665d899f PY |
87 | |
88 | Generate a B<num>-prime RSA key and use it to run the benchmarks. This option | |
89 | is only effective if RSA algorithm is specified to test. | |
90 | ||
e8769719 | 91 | =item B<-seconds> I<num> |
64daf14d | 92 | |
dd07e68b | 93 | Run benchmarks for B<num> seconds. |
64daf14d | 94 | |
e8769719 | 95 | =item B<-bytes> I<num> |
64daf14d | 96 | |
dd07e68b | 97 | Run benchmarks on B<num>-byte buffers. Affects ciphers, digests and the CSPRNG. |
64daf14d | 98 | |
e8769719 | 99 | =item B<algorithm...> |
5270e702 | 100 | |
44ca7565 AP |
101 | If any options are given, B<speed> tests those algorithms, otherwise a |
102 | pre-compiled grand selection is tested. | |
b20b78b7 | 103 | |
eaad02a7 LJ |
104 | =back |
105 | ||
e2f92610 RS |
106 | =head1 COPYRIGHT |
107 | ||
b6b66573 | 108 | Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 109 | |
449040b4 | 110 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
111 | this file except in compliance with the License. You can obtain a copy |
112 | in the file LICENSE in the source distribution or at | |
113 | L<https://www.openssl.org/source/license.html>. | |
114 | ||
115 | =cut |