EVP_DES_CBC(3)

NAME
EVP_des_cbc, EVP_des_cfb, EVP_des_cfb1, EVP_des_cfb8, EVP_des_cfb64, EVP_des_ecb, EVP_des_ofb, EVP_des_ede, EVP_des_ede_cbc, EVP_des_ede_cfb, EVP_des_ede_cfb64, EVP_des_ede_ecb, EVP_des_ede_ofb, EVP_des_ede3, EVP_des_ede3_cbc, EVP_des_ede3_cfb, EVP_des_ede3_cfb1, EVP_des_ede3_cfb8, EVP_des_ede3_cfb64, EVP_des_ede3_ecb, EVP_des_ede3_ofb, EVP_desx_cbc - EVP DES cipher

SYNOPSIS
#include <openssl/evp.h>
const EVP_CIPHER *
EVP_des_cbc(void);
const EVP_CIPHER *
EVP_des_cfb(void);
const EVP_CIPHER *
EVP_des_cfb1(void);
const EVP_CIPHER *
EVP_des_cfb8(void);
const EVP_CIPHER *
EVP_des_cfb64(void);
const EVP_CIPHER *
EVP_des_ecb(void);
const EVP_CIPHER *
EVP_des_ofb(void);
const EVP_CIPHER *
EVP_des_ede(void);
const EVP_CIPHER *
EVP_des_ede_cbc(void);
const EVP_CIPHER *
EVP_des_ede_cfb(void);
const EVP_CIPHER *
EVP_des_ede_cfb64(void);
const EVP_CIPHER *
EVP_des_ede_ecb(void);
const EVP_CIPHER *
EVP_des_ede_ofb(void);
const EVP_CIPHER *
EVP_des_ede3(void);
const EVP_CIPHER *
EVP_des_ede3_cbc(void);
const EVP_CIPHER *
EVP_des_ede3_cfb(void);
const EVP_CIPHER *
EVP_des_ede3_cfb1(void);
const EVP_CIPHER *
EVP_des_ede3_cfb8(void);
const EVP_CIPHER *
EVP_des_ede3_cfb64(void);
const EVP_CIPHER *
EVP_des_ede3_ecb(void);
const EVP_CIPHER *
EVP_des_ede3_ofb(void);
const EVP_CIPHER *
EVP_desx_cbc(void);

DESCRIPTION
These functions provide the DES encryption algorithm in the evp(3) framework. DES is a block cipher operating on 64 bit blocks. The key length to be used for EVP_EncryptInit(3) is 64 bits. However, only 56 of these bits are used in the encryption algorithm. The least significant bit in each of the eight bytes is only used for checking parity. Using this algorithm is discouraged because the short key length makes it vulnerable to brute force attacks.

EVP_des_cbc(), EVP_des_cfb1(), EVP_des_cfb8(), EVP_des_cfb64(), EVP_des_ecb(), and EVP_des_ofb() provide DES in CBC, CFB with 1-bit shift, CFB with 8-bit shift, CFB with 64-bit shift, ECB, and OFB modes. EVP_des_cfb() is an alias for EVP_des_cfb64(), implemented as a macro.

EVP_des_ede_cbc(), EVP_des_ede_cfb64(), EVP_des_ede_ecb(), and EVP_des_ede_ofb() provide two key triple DES in CBC, CFB with 64-bit shift, ECB, and OFB modes. EVP_des_ede_cfb() is an alias for EVP_des_ede_cfb64(), implemented as a macro. EVP_des_ede() is an alias for EVP_des_ede_ecb().

EVP_des_ede3_cbc(), EVP_des_ede3_cfb1(), EVP_des_ede3_cfb8(), EVP_des_ede3_cfb64(), EVP_des_ede3_ecb(), EVP_des_ede3_ofb() provide three key triple DES in CBC, CFB with 1-bit shift, CFB with 8-bit shift, CFB with 64-bit shift, ECB, and OFB modes. EVP_des_ede3_cfb() is an alias for EVP_des_ede3_cfb64(), implemented as a macro. EVP_des_ede3() is an alias for EVP_des_ede3_ecb().

EVP_desx_cbc() provides the DES-X encryption algorithm in CBC mode. It uses a key length of 128 bits and acts on blocks of 128 bits.

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

SEE ALSO
evp(3), EVP_EncryptInit(3)

HISTORY
EVP_des_cbc(), EVP_des_cfb(), EVP_des_ecb(), EVP_des_ofb(), EVP_des_ede(), EVP_des_ede_cbc(), EVP_des_ede_cfb(), EVP_des_ede_ofb(), EVP_des_ede3(), EVP_des_ede3_cbc(), EVP_des_ede3_cfb(), and EVP_des_ede3_ofb() first appeared in SSLeay 0.5.1. EVP_desx_cbc() first appeared in SSLeay 0.6.2. These functions have been available since OpenBSD 2.4.

EVP_des_ede_ecb() and EVP_des_ede3_ecb() first appeared in OpenSSL 0.9.7 and have been available since OpenBSD 3.2.

EVP_des_cfb1(), EVP_des_cfb8(), EVP_des_cfb64(), EVP_des_ede_cfb64(), EVP_des_ede3_cfb1(), EVP_des_ede3_cfb8(), and EVP_des_ede3_cfb64() first appeared in OpenSSL 0.9.7e and have been available since OpenBSD 3.8.