Reference

libressl-EVP_sm4_cbc(3)

EVP SM4 cipher

NAME

EVP_sm4_cbc, EVP_sm4_ecb, EVP_sm4_cfb, EVP_sm4_cfb128, EVP_sm4_ofb, EVP_sm4_ctr – EVP SM4 cipher

SYNOPSIS

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);

DESCRIPTION

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.

SEE ALSO

evp(3), EVP_EncryptInit(3)

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.