mirror of
https://github.com/openssl/openssl.git
synced 2025-02-23 14:42:15 +08:00
Ellipses were used to express that the '-rand' value can specify multiple files, like this: B<-rand> I<file...> Because there are conventions around ellipses, this becomes confusing, because '-rand file...' is normally intepreted to mean that '-rand file1 file2 file3' would be processed as three randomness files, which makes no sense. Rather than making things complicated with more elaborate syntax, we change it to: B<-rand> I<files> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/10065)
115 lines
2.9 KiB
Plaintext
115 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 the I<list --digest-commands>
|
|
or I<list --cipher-commands> command. The global CSPRNG is denoted by
|
|
the I<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 B<id> string) will cause B<speed>
|
|
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 B<algo> is an AEAD cipher, then you can pass <-aead> to benchmark a
|
|
TLS-like sequence. And if B<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. B<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 B<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 B<num> seconds.
|
|
|
|
=item B<-bytes> I<num>
|
|
|
|
Run benchmarks on B<num>-byte buffers. Affects ciphers, digests and the CSPRNG.
|
|
|
|
=item I<algorithm> ...
|
|
|
|
If any options are given, B<speed> tests those algorithms, 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
|