EVP_RC5_32_12_16_CBC(3ossl)

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

πŸ’… NAME πŸ’…

okay so bestie, welcome to EVP_RC5_32_12_16_CBC(3ossl) β€” the OpenSSL manual page for the EVP RC5 cipher πŸŽ€

the whole squad of functions on this page is: EVP_rc5_32_12_16_cbc, EVP_rc5_32_12_16_cfb, EVP_rc5_32_12_16_cfb64, EVP_rc5_32_12_16_ecb, and EVP_rc5_32_12_16_ofb β€” and they're all literally just the EVP RC5 cipher ✨


✨ SYNOPSIS ✨

#include <openssl/evp.h>

const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
const EVP_CIPHER *EVP_rc5_32_12_16_cfb(void);
const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void);
const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);

πŸŽ€ DESCRIPTION πŸŽ€

it's the RC5 encryption algorithm, but for EVP 🫢

🌸 the five functions 🌸

  • EVP_rc5_32_12_16_cbc(), EVP_rc5_32_12_16_cfb(), EVP_rc5_32_12_16_cfb64(), EVP_rc5_32_12_16_ecb(), EVP_rc5_32_12_16_ofb() β€” these bad boys give you the RC5 encryption algorithm in CBC, CFB, ECB and OFB modes respectively πŸ’«

and here's the iconic part: this is a variable key length cipher with an extra "number of rounds" parameter πŸ‘‘

  • by default the key length is set to 128 bits and 12 rounds ⭐
  • you can set alternative key lengths with EVP_CIPHER_CTX_set_key_length(3) πŸ”§
  • the maximum key length is 2040 bits πŸ”₯

πŸ¦‹ the rc5-specific ctrls πŸ¦‹

these are supported too β€” see EVP_CIPHER_CTX_ctrl(3) for the deets:

EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC5_ROUNDS, rounds, NULL)

sets the number of rounds to rounds. no cap, this must be one of RC5_8_ROUNDS, RC5_12_ROUNDS or RC5_16_ROUNDS πŸ’€

EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GET_RC5_ROUNDS, 0, &rounds)

stores the number of rounds currently configured in *rounds, where *rounds is an int πŸ™ˆ


πŸ”₯ NOTES πŸ”₯

bestie, hear me out β€” there are negative performance implications of calling these functions multiple times 😭 so maybe consider using EVP_CIPHER_fetch(3) with EVP_CIPHER-RC5(7) instead ✨ see "Performance" in crypto(7) for the full tea β˜•


🌈 RETURN VALUES 🌈

these functions return an EVP_CIPHER structure that contains the implementation of the symmetric cipher 🫢 see EVP_CIPHER_meth_new(3) if you wanna know what's inside that EVP_CIPHER structure πŸ‘€


🧚 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, mwah πŸ’‹ β€” this was version 3.5.0, dated 2026-09-25, and yes the title is still EVP_RC5_32_12_16_CBC(3ossl) because we don't do name changes around here πŸŽ€βœ¨πŸŒΈ

πŸ“¦ where this page comes from