EVP_SEED_CBC(3ossl)

πŸ’– EVP_SEED_CBC β€” the EVP SEED cipher, bestie edition πŸ’–

okay so this is the EVP_SEED_CBC(3ossl) page from the OpenSSL manual, and we're gonna get you fluent in it, no cap. it's giving crypto, it's giving Korean block cipher, it's giving five little functions that all return ciphers. let's go πŸ¦‹


✨ NAME ✨

EVP_seed_cbc, EVP_seed_cfb, EVP_seed_cfb128, EVP_seed_ecb, EVP_seed_ofb β€” the EVP SEED cipher family. that's the whole vibe. five functions, one cipher algorithm, different modes. slay. πŸ’…


✨ SYNOPSIS ✨

#include <openssl/evp.h>

const EVP_CIPHER *EVP_seed_cbc(void);
const EVP_CIPHER *EVP_seed_cfb(void);
const EVP_CIPHER *EVP_seed_cfb128(void);
const EVP_CIPHER *EVP_seed_ecb(void);
const EVP_CIPHER *EVP_seed_ofb(void);

look at them. five icons. all const EVP_CIPHER *, all (void), all just sitting there ready to hand you a cipher. 🌸


✨ DESCRIPTION ✨

so basically: the SEED encryption algorithm for EVP. that's the whole thing. 🫢

and here's the tea that applies to every single mode below β€” write this on your hand:

  • every mode uses a key length of 128 bits πŸ”‘
  • every mode acts on blocks of 128 bits 🧱

the five functions, one by one

  • EVP_seed_cbc(), EVP_seed_cfb(), EVP_seed_cfb128(), EVP_seed_ecb(), EVP_seed_ofb() β€” these give you the SEED encryption algorithm in CBC, CFB, ECB and OFB modes respectively. yes, CFB gets two whole functions, it's the main character, we don't make the rules. πŸ‘‘

✨ NOTES ✨

bestie, listen, this part matters, don't scroll past it πŸ™ˆ

calling these functions over and over has negative performance implications β€” like, it's not free, it's not cute, it adds up. developers should be aware of that and should consider using EVP_CIPHER_fetch(3) together with EVP_CIPHER-SEED(7) instead. way more efficient, way more modern.

for the full breakdown, go read "Performance" in crypto(7). it's all there. iykyk. πŸ“š


✨ RETURN VALUES ✨

these functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher. πŸ’«

want the deets on what's actually inside an EVP_CIPHER structure? that's EVP_CIPHER_meth_new(3). go peek. πŸ‘€


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


⚠️ real talk: that license paragraph is not a vibe, it's a rule. use it within the License or don't use it at all, fr fr. and don't skip the EVP_CIPHER_fetch(3) note either, your CPU will thank you. πŸ”₯

and that's the whole page, bestie!! we did it!! πŸŽ€βœ¨ this was OpenSSL 3.5.9, dated 2026-09-29, and it's literally the EVP_SEED_CBC(3ossl) man page in a cuter outfit. go encrypt something responsibly. mwah. πŸ’–πŸ¦‹πŸŒˆ

πŸ“¦ where this page comes from