EVP_BF_CBC(3SSL)
π EVP_BF_CBC β the OpenSSL Blowfish cipher moment
okay bestie, we're in the 3SSL section of the OpenSSL manual, and today's main character is EVP_BF_CBC β aka the EVP Blowfish cipher. yes, that Blowfish. the smol round boy who will absolutely still serve. let's get into it π‘β¨
πΈ NAME πΈ
EVP_bf_cbc, EVP_bf_cfb, EVP_bf_cfb64, EVP_bf_ecb, EVP_bf_ofb β it's giving EVP Blowfish cipher. like, the whole squad. 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);
five lil functions, all returning a const EVP_CIPHER *, all taking absolutely nothing. low maintenance queens fr fr π
π¦ DESCRIPTION π¦
So. The Blowfish encryption algorithm for EVP. that's the whole vibe. that's the assignment. π‘
It's a variable key length cipher, which is exactly as it sounds β the key length isn't locked down to one single number. flexibility, she's iconic π
Here's the squad, and what each one is doing:
EVP_bf_cbc()β Blowfish encryption algorithm in CBC modeEVP_bf_cfb()β Blowfish encryption algorithm in CFB modeEVP_bf_cfb64()β Blowfish encryption algorithm in CFB mode (the64version, bestie)EVP_bf_ecb()β Blowfish encryption algorithm in ECB modeEVP_bf_ofb()β Blowfish encryption algorithm in OFB mode
respectively. very "each one ate and left no crumbs" of them π
π«Ά NOTES π«Ά
okay listen. real talk. no cutesy voice for this one because it actually matters:
Developers should be aware of the negative performance implications of calling these functions multiple times. Like, repeatedly. In a loop. You know what you did. π
Instead, you should consider using EVP_CIPHER_fetch(3) with EVP_CIPHER-BLOWFISH(7). that's the upgrade arc, bestie.
And if you want the full deets on that, go read "Performance" in crypto(7) for further information. iykyk π
not me telling you to stop calling the same function over and over... anyway. consider the fetch route. your perf will thank you π₯²
π₯ RETURN VALUES π₯
These functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher.
that's it. that's the return. one struct, doing its lil thing, holding the symmetric cipher implementation like it's carrying the whole group project. she's doing her best and honestly? she's doing great πΈ
π SEE ALSO π
go be nosy, bestie, the lore goes deep π¦
π COPYRIGHT π
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 whole page, angel π
this was OpenSSL 4.0.3, dated 2026-09-29, filed under the manual name EVP_BF_CBC(3SSL) β go forth, encrypt responsibly, and remember: variable key length, five modes, one absolutely slaying Blowfish. periodt πβ¨
π¦ where this page comes from
- ubuntu stonking: libssl-doc 4.0.3-1ubuntu1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms