2000-02-04 07:23:57 +08:00
|
|
|
=pod
|
2019-10-31 11:35:08 +08:00
|
|
|
{- OpenSSL::safe::output_do_not_edit_headers(); -}
|
2019-10-13 05:45:56 +08:00
|
|
|
|
2000-02-04 07:23:57 +08:00
|
|
|
=head1 NAME
|
|
|
|
|
2019-08-22 07:04:41 +08:00
|
|
|
openssl-speed - test library performance
|
2000-02-04 07:23:57 +08:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
B<openssl speed>
|
2016-02-06 00:17:00 +08:00
|
|
|
[B<-help>]
|
2016-02-02 04:15:06 +08:00
|
|
|
[B<-elapsed>]
|
2019-09-26 03:20:11 +08:00
|
|
|
[B<-evp> I<algo>]
|
|
|
|
[B<-hmac> I<algo>]
|
|
|
|
[B<-cmac> I<algo>]
|
2016-02-02 04:15:06 +08:00
|
|
|
[B<-decrypt>]
|
2019-09-26 03:20:11 +08:00
|
|
|
[B<-primes> I<num>]
|
|
|
|
[B<-seconds> I<num>]
|
|
|
|
[B<-bytes> I<num>]
|
2019-10-13 05:45:56 +08:00
|
|
|
{- $OpenSSL::safe::opt_r_synopsis -}
|
2019-10-13 05:45:56 +08:00
|
|
|
{- $OpenSSL::safe::opt_engine_synopsis -}
|
2019-10-01 15:57:37 +08:00
|
|
|
[I<algorithm> ...]
|
2000-02-04 07:23:57 +08:00
|
|
|
|
2019-10-11 23:52:12 +08:00
|
|
|
=for openssl ifdef cmac multi async_jobs engine
|
2019-09-23 07:49:25 +08:00
|
|
|
|
2000-02-04 07:23:57 +08:00
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
This command is used to test the performance of cryptographic algorithms.
|
Command docs: fix up command references
Almost all OpenSSL commands are in reality 'openssl cmd', so make sure
they are refered to like that and not just as the sub-command.
Self-references are avoided as much as is possible, and replaced with
"this command". In some cases, we even avoid that with a slight
rewrite of the sentence or paragrah they were in. However, in the few
cases where a self-reference is still admissible, they are done in
bold, i.e. openssl-speed.pod references itself like this:
B<openssl speed>
References to other commands are done as manual links, i.e. CA.pl.pod
references 'openssl req' like this: L<openssl-req(1)>
Some commands are examples rather than references; we enclose those in
C<>.
While we are it, we abolish "utility", replacing it with "command", or
remove it entirely in some cases.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10065)
2019-10-02 01:43:36 +08:00
|
|
|
To see the list of supported algorithms, use C<openssl list -digest-commands>
|
|
|
|
or C<openssl list -cipher-commands> command. The global CSPRNG is denoted by
|
2019-10-02 00:16:29 +08:00
|
|
|
the B<rand> algorithm name.
|
2000-02-04 07:23:57 +08:00
|
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
|
2000-10-27 05:07:28 +08:00
|
|
|
=over 4
|
|
|
|
|
2016-02-06 00:17:00 +08:00
|
|
|
=item B<-help>
|
|
|
|
|
|
|
|
Print out a usage message.
|
|
|
|
|
2016-02-02 04:15:06 +08:00
|
|
|
=item B<-elapsed>
|
|
|
|
|
2018-05-19 21:43:11 +08:00
|
|
|
When calculating operations- or bytes-per-second, use wall-clock time
|
|
|
|
instead of CPU user time as divisor. It can be useful when testing speed
|
|
|
|
of hardware engines.
|
2016-02-02 04:15:06 +08:00
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-evp> I<algo>
|
2016-02-02 04:15:06 +08:00
|
|
|
|
|
|
|
Use the specified cipher or message digest algorithm via the EVP interface.
|
2019-10-02 00:16:29 +08:00
|
|
|
If I<algo> is an AEAD cipher, then you can pass B<-aead> to benchmark a
|
|
|
|
TLS-like sequence. And if I<algo> is a multi-buffer capable cipher, e.g.
|
2018-05-19 21:43:11 +08:00
|
|
|
aes-128-cbc-hmac-sha1, then B<-mb> will time multi-buffer operation.
|
2016-02-02 04:15:06 +08:00
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-hmac> I<digest>
|
2018-08-14 12:04:47 +08:00
|
|
|
|
|
|
|
Time the HMAC algorithm using the specified message digest.
|
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-cmac> I<cipher>
|
2019-04-11 04:44:41 +08:00
|
|
|
|
Command docs: fix up command references
Almost all OpenSSL commands are in reality 'openssl cmd', so make sure
they are refered to like that and not just as the sub-command.
Self-references are avoided as much as is possible, and replaced with
"this command". In some cases, we even avoid that with a slight
rewrite of the sentence or paragrah they were in. However, in the few
cases where a self-reference is still admissible, they are done in
bold, i.e. openssl-speed.pod references itself like this:
B<openssl speed>
References to other commands are done as manual links, i.e. CA.pl.pod
references 'openssl req' like this: L<openssl-req(1)>
Some commands are examples rather than references; we enclose those in
C<>.
While we are it, we abolish "utility", replacing it with "command", or
remove it entirely in some cases.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10065)
2019-10-02 01:43:36 +08:00
|
|
|
Time the CMAC algorithm using the specified cipher e.g.
|
|
|
|
C<openssl speed -cmac aes128>.
|
2019-04-11 04:44:41 +08:00
|
|
|
|
2016-02-02 04:15:06 +08:00
|
|
|
=item B<-decrypt>
|
|
|
|
|
|
|
|
Time the decryption instead of encryption. Affects only the EVP testing.
|
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-primes> I<num>
|
2017-08-02 02:19:43 +08:00
|
|
|
|
2019-10-02 00:16:29 +08:00
|
|
|
Generate a I<num>-prime RSA key and use it to run the benchmarks. This option
|
2017-08-02 02:19:43 +08:00
|
|
|
is only effective if RSA algorithm is specified to test.
|
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-seconds> I<num>
|
2017-12-02 17:05:35 +08:00
|
|
|
|
2019-10-02 00:16:29 +08:00
|
|
|
Run benchmarks for I<num> seconds.
|
2017-12-02 17:05:35 +08:00
|
|
|
|
2019-09-26 03:20:11 +08:00
|
|
|
=item B<-bytes> I<num>
|
2017-12-02 17:05:35 +08:00
|
|
|
|
2019-10-02 00:16:29 +08:00
|
|
|
Run benchmarks on I<num>-byte buffers. Affects ciphers, digests and the CSPRNG.
|
2017-12-02 17:05:35 +08:00
|
|
|
|
2019-10-13 05:45:56 +08:00
|
|
|
{- $OpenSSL::safe::opt_r_item -}
|
|
|
|
|
2019-10-13 05:45:56 +08:00
|
|
|
{- $OpenSSL::safe::opt_engine_item -}
|
|
|
|
|
2019-10-01 15:57:37 +08:00
|
|
|
=item I<algorithm> ...
|
2000-10-27 05:07:28 +08:00
|
|
|
|
Command docs: fix up command references
Almost all OpenSSL commands are in reality 'openssl cmd', so make sure
they are refered to like that and not just as the sub-command.
Self-references are avoided as much as is possible, and replaced with
"this command". In some cases, we even avoid that with a slight
rewrite of the sentence or paragrah they were in. However, in the few
cases where a self-reference is still admissible, they are done in
bold, i.e. openssl-speed.pod references itself like this:
B<openssl speed>
References to other commands are done as manual links, i.e. CA.pl.pod
references 'openssl req' like this: L<openssl-req(1)>
Some commands are examples rather than references; we enclose those in
C<>.
While we are it, we abolish "utility", replacing it with "command", or
remove it entirely in some cases.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10065)
2019-10-02 01:43:36 +08:00
|
|
|
If any I<algorithm> is given, then those algorithms are tested, otherwise a
|
2018-05-19 21:43:11 +08:00
|
|
|
pre-compiled grand selection is tested.
|
2000-02-04 07:23:57 +08:00
|
|
|
|
2002-11-14 18:51:54 +08:00
|
|
|
=back
|
|
|
|
|
2016-05-18 23:44:05 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2019-08-22 07:04:41 +08:00
|
|
|
Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
|
2016-05-18 23:44:05 +08:00
|
|
|
|
2018-12-06 21:04:11 +08:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-05-18 23:44:05 +08:00
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|