Cryptography and SSL/TLS Toolkit



openssl-speed, speed - test library performance


openssl speed [-help] [-engine id] [-elapsed] [-evp algo] [-decrypt] [-rand file...] [-writerand file] [-primes num] [algorithm...]


This command is used to test the performance of cryptographic algorithms. To see the list of supported algorithms, use the list --digest-commands or list --cipher-commands command. The global CSPRNG is denoted by the rand algorithm name.



Print out a usage message.

-engine id

Specifying an engine (by its unique id string) will cause 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.


Measure time in real time instead of CPU time. It can be useful when testing speed of hardware engines.

-evp algo

Use the specified cipher or message digest algorithm via the EVP interface.


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

-rand file...

A file or 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 ; for MS-Windows, , for OpenVMS, and : for all others.

[-writerand file]

Writes random data to the specified file upon exit. This can be used with a subsequent -rand flag.

-primes num

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.

-seconds num

Run benchmarks for num seconds.

-bytes num

Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG.

[zero or more test algorithms]

If any options are given, speed tests those algorithms, otherwise all of the above are tested.

Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (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