EVP_DES_CBC(3ossl)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… NAME

okay so bestie, gather round, because this page is literally the whole DES cipher family in EVP. Like, the entire squad:

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_des_ede3_wrap

…and together they're the EVP DES cipher. πŸ’– We're in the 3ossl manual, btw β€” OpenSSL energy only, iykyk.


✨ SYNOPSIS ✨

Like, the vibe of every single one of these is the same, bestie:

#include <openssl/evp.h>

const EVP_CIPHER *EVP_ciphername(void)

EVP_ciphername is just a silly little placeholder for any of the cipher functions described below β€” for example EVP_des_cbc. So when you see it, mentally swap in whichever one you actually want. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

It's the DES encryption algorithm for EVP. That's the whole premise, bestie.

🌸 EVP_des_cbc(), EVP_des_ecb(), EVP_des_cfb(), EVP_des_cfb1(), EVP_des_cfb8(), EVP_des_cfb64(), EVP_des_ofb()

okay so these are DES in:

  • CBC mode
  • ECB mode
  • CFB with 64-bit shift
  • CFB with 1-bit shift
  • CFB with 8-bit shift
  • OFB mode
🚨 the important part, no cap: none of these algorithms are provided by the OpenSSL default provider. Like, zero of them. To use them you literally have to load either the OpenSSL legacy provider or another implementation. Don't come crying to me when it's not there by default, I warned you. 😭

πŸ’œ EVP_des_ede(), EVP_des_ede_cbc(), EVP_des_ede_cfb(), EVP_des_ede_cfb64(), EVP_des_ede_ecb(), EVP_des_ede_ofb()

These cuties are two key triple DES, in:

  • ECB mode
  • CBC mode
  • CFB with 64-bit shift
  • OFB mode

πŸ”₯ 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()

And these icons are three-key triple DES, in:

  • ECB mode
  • CBC mode
  • CFB with 64-bit shift
  • CFB with 1-bit shift
  • CFB with 8-bit shift
  • OFB mode

πŸ‘‘ EVP_des_ede3_wrap()

Triple-DES key wrap according to RFC 3217 Section 3. That's it, that's the function. Slay. ✨


🧚 NOTES 🧚

ngl bestie, listen up: developers should be aware of the negative performance implications of calling these functions multiple times 😬 and should consider using EVP_CIPHER_fetch(3) with EVP_CIPHER-DES(7) instead. For the full tea, see "Performance" in crypto(7).


πŸŽ€ RETURN VALUES πŸŽ€

These functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher. If you wanna know what's inside that structure, see EVP_CIPHER_meth_new(3) for the details. 🫢


🌈 SEE ALSO 🌈


Copyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


okay that's the whole page, bestie, you ate that πŸ’…βœ¨ this was OpenSSL 3.5.6, dated 2026-04-07 β€” now go forth and load that legacy provider fr fr πŸ¦‹πŸ’–

πŸ“¦ where this page comes from