$manlookup

openssl-speed

(1ssl)

test library performance

User commands26 optionsopenssl 3.5.6-1~deb13u2
openssl speed [-help] [-config filename] [-elapsed] [-evp algo] [-hmac algo] [-cmac algo] [-mb] [-aead] [-kem-algorithms] [-signature-algorithms] [-multi num] [-async_jobs num] [-misalign num] [-decrypt] [-primes num] [-seconds num] [-bytes num] [-mr] [-mlock] [-testmode] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [algorithm ...]

Options

26
-help

Print out a usage message.

-configfilename

Specifies the configuration file to use. Optional; for a description of the default value, see "COMMAND SUMMARY" in openssl(1).

-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.

-evpalgo

Use the specified cipher or message digest algorithm via the EVP interface. If algo is an AEAD cipher, then you can pass -aead to benchmark a TLS-like sequence. And if algo is a multi-buffer capable cipher, e.g. aes-128-cbc-hmac-sha1, then -mb will time multi-buffer operation. To see the algorithms supported with this option, use "openssl list -digest-algorithms" or "openssl list -cipher-algorithms" command.

-multinum

Run multiple operations in parallel.

-async_jobsnum

Enable async mode and start specified number of jobs.

-misalignnum

Misalign the buffers by the specified number of bytes.

-hmacdigest

Time the HMAC algorithm using the specified message digest.

-cmaccipher

Time the CMAC algorithm using the specified cipher e.g. "openssl speed -cmac aes128".

-decrypt

Time the decryption instead of encryption. Affects only the EVP testing.

-mb

Enable multi-block mode on EVP-named cipher.

-aead

Benchmark EVP-named AEAD cipher in TLS-like sequence.

-kem-algorithms

Benchmark KEM algorithms: key generation, encapsulation, decapsulation.

-signature-algorithms

Benchmark signature algorithms: key generation, signature, verification.

-primesnum

Generate a num-prime RSA key and use it to run the benchmarks. This option is only effective if RSA algorithm is specified to test.

-secondsnum

Run benchmarks for num seconds.

-bytesnum

Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG. The limit on the size of the buffer is INT_MAX - 64 bytes, which for a 32-bit int would be 2147483583 bytes.

-mr

Produce the summary in a mechanical, machine-readable, format.

-mlock

Lock memory into RAM for more deterministic measurements.

-testmode

Runs the speed command in testmode. Runs only 1 iteration of each algorithm test regardless of any -seconds value. In the event that any operation fails then the speed command will return with a failure result.

-rand-writerandfiles

See "Random State Options" in openssl(1) for details.

-engineid

See "Engine Options" in openssl(1). This option is deprecated.

-providername

-provider-pathpath

-provparam[name:]key=value

-propquerypropq

See "Provider Options" in openssl(1), provider(7), and property(7).

DESCRIPTION

This command is used to test the performance of cryptographic algorithms.

BUGS

The algorithm can be selected only from a pre-compiled subset of things that the "openssl speed" command knows about. To test any additional digest or cipher algorithm supported by OpenSSL use the "-evp" option.

There is no way to test the speed of any additional public key algorithms supported by third party providers with the "openssl speed" command.

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

DSA512 was removed in OpenSSL 3.2.

The -testmode option was added in OpenSSL 3.4.