EVP_BF_CBC(3ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’– EVP_BF_CBC β€” the Blowfish era, but make it OpenSSL πŸ’–

okay so bestie, welcome to the OpenSSL manual page for EVP_BF_CBC(3ossl) β€” yes that's the title, and yes it's a whole vibe. it's all about the Blowfish cipher family in EVP, and honestly it's giving "my older cousin's cryptography." let's get into it 🐑✨


🌸 SYNOPSIS 🌸

first things first, you gotta pull in the header, no cap:

#include <openssl/evp.h>

and here are your five little icons, all returning a const EVP_CIPHER *:

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

periodt. that's the whole cast πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so, the Blowfish encryption algorithm for EVP β€” that's the main character energy right there.

it's a variable key length cipher, which is lowkey iconic of it.

and now the five functions, one by one, no skipping, i promised:

  • EVP_bf_cbc(), EVP_bf_cfb(), EVP_bf_cfb64(), EVP_bf_ecb(), EVP_bf_ofb() β€” these give you the Blowfish encryption algorithm in CBC, CFB, ECB and OFB modes respectively. yes bestie, all five, all listed, we don't do "etc." here 🫢

✨ NOTES ✨

okay this part's important so listen up πŸ™ˆ

developers should be aware of the negative performance implications of calling these functions multiple times. like, it's not it. instead, you should consider using EVP_CIPHER_fetch(3) with EVP_CIPHER-BLOWFISH(7). and if you want the whole story, check out "Performance" in crypto(7) for further information.

fr fr, if you're looping these calls, that's a vibe check you're failing. fetch it instead πŸ’€

πŸ‘‘ RETURN VALUES πŸ‘‘

these functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher. cute. and if you wanna know what's actually inside that structure, see EVP_CIPHER_meth_new(3) for details. the receipts are all there 🧾✨


🌈 SEE ALSO 🌈

go read these next, bestie, they're part of the lore:


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>.

pls respect the license, it's literally the bare minimum 🫢


and that's the whole page!! sign-off time: this absolute icon of a manpage is OpenSSL 3.5.0, dated 2026-09-25, page EVP_BF_CBC(3ossl). ate and left no crumbs πŸ”₯πŸ’œ πŸ¦‹

πŸ“¦ where this page comes from