EVP_BF_CBC(3ossl)

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

πŸ’– EVP_BF_CBC πŸ’–

okay so this is from the 3ossl manual fam β€” like, OpenSSL section 3, and it's all about the Blowfish ciphers in EVP. bestie, get comfy, we're meeting the fish 🐑✨


✨ NAME ✨

EVP_bf_cbc, EVP_bf_cfb, EVP_bf_cfb64, EVP_bf_ecb, EVP_bf_ofb β€” the EVP Blowfish cipher, no cap πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <openssl/evp.h>

const EVP_CIPHER *EVP_bf_cbc(void);
const EVP_CIPHER *EVP_bf_cfb(void);
const EVP_CIPHER *EVP_bf_cfb64(void);
const EVP_CIPHER *EVP_bf_ecb(void);
const EVP_CIPHER *EVP_bf_ofb(void);

like, five little functions, all void-taking, all handing you back a const EVP_CIPHER *. slay 🌸


πŸ¦‹ DESCRIPTION πŸ¦‹

So the Blowfish encryption algorithm, but for EVP. that's the whole vibe.

And listen β€” this is a variable key length cipher. yes bestie, the key length is a whole variable, it's giving flexible ✨

Here's the lineup, one bullet each, no skips:

  • EVP_bf_cbc() β€” Blowfish encryption algorithm in CBC mode πŸ’œ
  • EVP_bf_cfb() β€” Blowfish encryption algorithm in CFB mode πŸ’œ
  • EVP_bf_cfb64() β€” Blowfish encryption algorithm in CFB mode, the 64 one πŸ’œ
  • EVP_bf_ecb() β€” Blowfish encryption algorithm in ECB mode πŸ’œ
  • EVP_bf_ofb() β€” Blowfish encryption algorithm in OFB mode πŸ’œ

(and yeah, the doc lists them all together as "CBC, CFB, ECB and OFB modes respectively" β€” I just broke it out so your brain doesn't have to hold all five at once, you're welcome 🫢)


πŸ”₯ NOTES πŸ”₯

okay real talk, pay attention here because this is the part that matters:

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-BLOWFISH(7) instead.

and if you wanna know why, go read "Performance" in crypto(7) for the further information. iykyk 🧚


⭐ RETURN VALUES ⭐

These functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher. that's the whole return, that's the bag πŸ’°

Want the details of what's actually inside that EVP_CIPHER structure? See EVP_CIPHER_meth_new(3), it's all laid out there πŸ‘‘


🌈 SEE ALSO 🌈

go read these next, bestie, they're the friends of this page:


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>. πŸ“œ


and that's the page!! πŸ’– mwah, go encrypt something responsibly 🐑✨

sign-off szn: this lil beauty is from version 3.5.6, dated 2026-04-07, and it lives at the page name EVP_BF_CBC(3ossl) β€” see you in the group chat πŸŽ€πŸ«ΆπŸ’…

πŸ“¦ where this page comes from