{
    "mode": "man",
    "parameter": "OPENSSL-SPEED",
    "section": "1SSL",
    "url": "https://www.chedong.com/phpMan.php/man/OPENSSL-SPEED/1SSL/json",
    "generated": "2026-07-07T05:54:24Z",
    "synopsis": "openssl speed [-help] [-elapsed] [-evp algo] [-hmac algo] [-cmac algo] [-mb] [-aead] [-multi\nnum] [-asyncjobs num] [-misalign num] [-decrypt] [-primes num] [-seconds num] [-bytes num]\n[-mr] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path]\n[-propquery propq] [algorithm ...]",
    "sections": {
        "NAME": {
            "content": "openssl-speed - test library performance\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "openssl speed [-help] [-elapsed] [-evp algo] [-hmac algo] [-cmac algo] [-mb] [-aead] [-multi\nnum] [-asyncjobs num] [-misalign num] [-decrypt] [-primes num] [-seconds num] [-bytes num]\n[-mr] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path]\n[-propquery propq] [algorithm ...]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This command is used to test the performance of cryptographic algorithms.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-help",
                    "content": "Print out a usage message.\n"
                },
                {
                    "name": "-elapsed",
                    "content": "When calculating operations- or bytes-per-second, use wall-clock time instead of CPU user\ntime as divisor. It can be useful when testing speed of hardware engines.\n"
                },
                {
                    "name": "-evp",
                    "content": "Use the specified cipher or message digest algorithm via the EVP interface.  If algo is\nan AEAD cipher, then you can pass -aead to benchmark a TLS-like sequence. And if algo is\na multi-buffer capable cipher, e.g.  aes-128-cbc-hmac-sha1, then -mb will time multi-\nbuffer operation.\n\nTo see the algorithms supported with this option, use \"openssl list -digest-algorithms\"\nor \"openssl list -cipher-algorithms\" command.\n"
                },
                {
                    "name": "-multi",
                    "content": "Run multiple operations in parallel.\n"
                },
                {
                    "name": "-async",
                    "content": "Enable async mode and start specified number of jobs.\n"
                },
                {
                    "name": "-misalign",
                    "content": "Misalign the buffers by the specified number of bytes.\n"
                },
                {
                    "name": "-hmac",
                    "content": "Time the HMAC algorithm using the specified message digest.\n"
                },
                {
                    "name": "-cmac",
                    "content": "Time the CMAC algorithm using the specified cipher e.g.  \"openssl speed -cmac aes128\".\n"
                },
                {
                    "name": "-decrypt",
                    "content": "Time the decryption instead of encryption. Affects only the EVP testing.\n"
                },
                {
                    "name": "-mb",
                    "content": ""
                },
                {
                    "name": "-aead",
                    "content": "Benchmark EVP-named AEAD cipher in TLS-like sequence.\n"
                },
                {
                    "name": "-primes",
                    "content": "Generate a num-prime RSA key and use it to run the benchmarks. This option is only\neffective if RSA algorithm is specified to test.\n"
                },
                {
                    "name": "-seconds",
                    "content": "Run benchmarks for num seconds.\n"
                },
                {
                    "name": "-bytes",
                    "content": "Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG.  The limit\non the size of the buffer is INTMAX - 64 bytes, which for a 32-bit int would be\n2147483583 bytes.\n"
                },
                {
                    "name": "-mr",
                    "content": ""
                },
                {
                    "name": "-rand -writerand",
                    "content": "See \"Random State Options\" in openssl(1) for details.\n"
                },
                {
                    "name": "-engine",
                    "content": "See \"Engine Options\" in openssl(1).  This option is deprecated.\n"
                },
                {
                    "name": "-provider",
                    "content": ""
                },
                {
                    "name": "-provider-path",
                    "content": ""
                },
                {
                    "name": "-propquery",
                    "content": "See \"Provider Options\" in openssl(1), provider(7), and property(7).\n\nalgorithm ...\nIf any algorithm is given, then those algorithms are tested, otherwise a pre-compiled\ngrand selection is tested.\n"
                }
            ]
        },
        "BUGS": {
            "content": "The algorithm can be selected only from a pre-compiled subset of things that the \"openssl\nspeed\" command knows about. To test any additional digest or cipher algorithm supported by\nOpenSSL use the \"-evp\" option.\n\nThere is no way to test the speed of any additional public key algorithms supported by third\nparty providers with the \"openssl speed\" command.\n",
            "subsections": []
        },
        "HISTORY": {
            "content": "The -engine option was deprecated in OpenSSL 3.0.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.\n\nLicensed under the Apache License 2.0 (the \"License\").  You may not use this file except in\ncompliance with the License.  You can obtain a copy in the file LICENSE in the source\ndistribution or at <https://www.openssl.org/source/license.html>.\n\n\n\n3.0.2                                        2026-06-02                          OPENSSL-SPEED(1SSL)",
            "subsections": []
        }
    },
    "summary": "openssl-speed - test library performance",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print out a usage message."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Run multiple operations in parallel."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Enable async mode and start specified number of jobs."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Misalign the buffers by the specified number of bytes."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Time the HMAC algorithm using the specified message digest."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Time the CMAC algorithm using the specified cipher e.g. \"openssl speed -cmac aes128\"."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Time the decryption instead of encryption. Affects only the EVP testing."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Benchmark EVP-named AEAD cipher in TLS-like sequence."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Run benchmarks for num seconds."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG. The limit on the size of the buffer is INTMAX - 64 bytes, which for a 32-bit int would be 2147483583 bytes."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "See \"Random State Options\" in openssl(1) for details."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "See \"Engine Options\" in openssl(1). This option is deprecated."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "See \"Provider Options\" in openssl(1), provider(7), and property(7). algorithm ... If any algorithm is given, then those algorithms are tested, otherwise a pre-compiled grand selection is tested."
        }
    ],
    "examples": [],
    "see_also": []
}