libressl-EVP_sm4_cbc(3)

libressl-EVP_sm4_cbc3

Evp sm4 cipher

Usage

Crypto Library (libcrypto, -lcrypto)

#include <openssl/evp.h>

const EVP_CIPHER *

EVP_sm4_cbc(void);

const EVP_CIPHER *

EVP_sm4_ecb(void);

const EVP_CIPHER *

EVP_sm4_cfb(void);

const EVP_CIPHER *

EVP_sm4_cfb128(void);

const EVP_CIPHER *

EVP_sm4_ofb(void);

const EVP_CIPHER *

EVP_sm4_ctr(void);

Overview

These functions provide the SM4 blockcipher in the evp(3) framework.

All modes use a key length of 128 bits and act on blocks of 128 bits.

EVP_sm4_cfb() is an alias for EVP_sm4_cfb128(), implemented as a macro.

With an argument of "sm4" or "SM4", EVP_get_cipherbyname(3) returns EVP_sm4_cbc().

Return values

These functions return an EVP_CIPHER structure that provides the implementation of the symmetric cipher.

Standards

Information security technology - SM4 block cipher algorithm, National Standards of People's Republic of China, GB/T 32907-2016, August 29, 2016.

History

These functions appeared in OpenSSL 1.1.1 and have been available since OpenBSD 6.5.

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.