]>
Commit | Line | Data |
---|---|---|
b20b78b7 | 1 | =pod |
625c781d | 2 | {- OpenSSL::safe::output_do_not_edit_headers(); -} |
9fcb9702 | 3 | |
b20b78b7 UM |
4 | =head1 NAME |
5 | ||
b6b66573 | 6 | openssl-speed - test library performance |
b20b78b7 UM |
7 | |
8 | =head1 SYNOPSIS | |
9 | ||
10 | B<openssl speed> | |
0ae9e292 | 11 | [B<-help>] |
e8769719 | 12 | [B<-engine> I<id>] |
a0474357 | 13 | [B<-elapsed>] |
e8769719 RS |
14 | [B<-evp> I<algo>] |
15 | [B<-hmac> I<algo>] | |
16 | [B<-cmac> I<algo>] | |
a0474357 | 17 | [B<-decrypt>] |
e8769719 RS |
18 | [B<-primes> I<num>] |
19 | [B<-seconds> I<num>] | |
20 | [B<-bytes> I<num>] | |
9fcb9702 | 21 | {- $OpenSSL::safe::opt_r_synopsis -} |
b1c0cc24 | 22 | [I<algorithm> ...] |
b20b78b7 | 23 | |
9f3c076b | 24 | =for openssl ifdef cmac multi async_jobs engine |
1738c0ce | 25 | |
b20b78b7 UM |
26 | =head1 DESCRIPTION |
27 | ||
28 | This command is used to test the performance of cryptographic algorithms. | |
35a810bb RL |
29 | To see the list of supported algorithms, use C<openssl list -digest-commands> |
30 | or C<openssl list -cipher-commands> command. The global CSPRNG is denoted by | |
2f0ea936 | 31 | the B<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 | |
35a810bb | 43 | Specifying an engine (by its unique I<id> string) will cause this command |
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. | |
2f0ea936 RL |
57 | If I<algo> is an AEAD cipher, then you can pass B<-aead> to benchmark a |
58 | TLS-like sequence. And if I<algo> is a multi-buffer capable cipher, e.g. | |
44ca7565 | 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 | 66 | |
35a810bb RL |
67 | Time the CMAC algorithm using the specified cipher e.g. |
68 | C<openssl speed -cmac aes128>. | |
9bba2c4c | 69 | |
a0474357 RS |
70 | =item B<-decrypt> |
71 | ||
72 | Time the decryption instead of encryption. Affects only the EVP testing. | |
73 | ||
e8769719 | 74 | =item B<-primes> I<num> |
665d899f | 75 | |
2f0ea936 | 76 | Generate a I<num>-prime RSA key and use it to run the benchmarks. This option |
665d899f PY |
77 | is only effective if RSA algorithm is specified to test. |
78 | ||
e8769719 | 79 | =item B<-seconds> I<num> |
64daf14d | 80 | |
2f0ea936 | 81 | Run benchmarks for I<num> seconds. |
64daf14d | 82 | |
e8769719 | 83 | =item B<-bytes> I<num> |
64daf14d | 84 | |
2f0ea936 | 85 | Run benchmarks on I<num>-byte buffers. Affects ciphers, digests and the CSPRNG. |
64daf14d | 86 | |
9fcb9702 RS |
87 | {- $OpenSSL::safe::opt_r_item -} |
88 | ||
b1c0cc24 | 89 | =item I<algorithm> ... |
5270e702 | 90 | |
35a810bb | 91 | If any I<algorithm> is given, then those algorithms are tested, otherwise a |
44ca7565 | 92 | pre-compiled grand selection is tested. |
b20b78b7 | 93 | |
eaad02a7 LJ |
94 | =back |
95 | ||
e2f92610 RS |
96 | =head1 COPYRIGHT |
97 | ||
b6b66573 | 98 | Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 99 | |
449040b4 | 100 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
101 | this file except in compliance with the License. You can obtain a copy |
102 | in the file LICENSE in the source distribution or at | |
103 | L<https://www.openssl.org/source/license.html>. | |
104 | ||
105 | =cut |