Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix volatile manual

This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.

NAME

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

SYNOPSIS

#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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org