mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
35a810bb1d
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)
116 lines
2.9 KiB
Plaintext
116 lines
2.9 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
openssl-speed - test library performance
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
B<openssl speed>
|
|
[B<-help>]
|
|
[B<-engine> I<id>]
|
|
[B<-elapsed>]
|
|
[B<-evp> I<algo>]
|
|
[B<-hmac> I<algo>]
|
|
[B<-cmac> I<algo>]
|
|
[B<-decrypt>]
|
|
[B<-rand> I<files>]
|
|
[B<-writerand> I<file>]
|
|
[B<-primes> I<num>]
|
|
[B<-seconds> I<num>]
|
|
[B<-bytes> I<num>]
|
|
[I<algorithm> ...]
|
|
|
|
=for comment ifdef cmac multi async_jobs engine
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This command is used to test the performance of cryptographic algorithms.
|
|
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
|
|
the B<rand> algorithm name.
|
|
|
|
=head1 OPTIONS
|
|
|
|
=over 4
|
|
|
|
=item B<-help>
|
|
|
|
Print out a usage message.
|
|
|
|
=item B<-engine> I<id>
|
|
|
|
Specifying an engine (by its unique I<id> string) will cause this command
|
|
to attempt to obtain a functional reference to the specified engine,
|
|
thus initialising it if needed. The engine will then be set as the default
|
|
for all available algorithms.
|
|
|
|
=item B<-elapsed>
|
|
|
|
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.
|
|
|
|
=item B<-evp> I<algo>
|
|
|
|
Use the specified cipher or message digest algorithm via the EVP interface.
|
|
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.
|
|
aes-128-cbc-hmac-sha1, then B<-mb> will time multi-buffer operation.
|
|
|
|
=item B<-hmac> I<digest>
|
|
|
|
Time the HMAC algorithm using the specified message digest.
|
|
|
|
=item B<-cmac> I<cipher>
|
|
|
|
Time the CMAC algorithm using the specified cipher e.g.
|
|
C<openssl speed -cmac aes128>.
|
|
|
|
=item B<-decrypt>
|
|
|
|
Time the decryption instead of encryption. Affects only the EVP testing.
|
|
|
|
=item B<-rand> I<files>
|
|
|
|
The files containing random data used to seed the random number generator.
|
|
Multiple files can be specified separated by an OS-dependent character.
|
|
The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
|
|
all others.
|
|
|
|
=item B<-writerand> I<file>
|
|
|
|
Writes random data to the specified I<file> upon exit.
|
|
This can be used with a subsequent B<-rand> flag.
|
|
|
|
=item B<-primes> I<num>
|
|
|
|
Generate a I<num>-prime RSA key and use it to run the benchmarks. This option
|
|
is only effective if RSA algorithm is specified to test.
|
|
|
|
=item B<-seconds> I<num>
|
|
|
|
Run benchmarks for I<num> seconds.
|
|
|
|
=item B<-bytes> I<num>
|
|
|
|
Run benchmarks on I<num>-byte buffers. Affects ciphers, digests and the CSPRNG.
|
|
|
|
=item I<algorithm> ...
|
|
|
|
If any I<algorithm> is given, then those algorithms are tested, otherwise a
|
|
pre-compiled grand selection is tested.
|
|
|
|
=back
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
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
|