RSA_BLINDING_ON(3ossl)

✨ RSA_BLINDING_ON ✨

okay bestie, welcome to the RSA_BLINDING_ON(3ossl) page from the OpenSSL manual πŸ’– this one's all about RSA_blinding_on, RSA_blinding_off β€” and yes, they are deprecated, we'll get to that, don't panic 🫢


🌸 NAME 🌸

RSA_blinding_on, RSA_blinding_off β€” protect the RSA operation from timing attacks πŸ”₯


πŸŽ€ SYNOPSIS πŸŽ€

#include <openssl/rsa.h>

The following functions have been deprecated since OpenSSL 3.0, and can be hidden entirely by defining OPENSSL_API_COMPAT with a suitable version value, see openssl_user_macros(7):

int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);

void RSA_blinding_off(RSA *rsa);

πŸ’… DESCRIPTION πŸ’…

So. All of the functions described on this page are deprecated. Every single one. That's the vibe. 🫠

Here's the tea though, because the why is actually iconic: RSA is vulnerable to timing attacks. Like, in a setup where attackers can measure the time of RSA decryption or signature operations, blinding must be used to protect the RSA operation from that attack. Not "should", not "it'd be cute if" β€” must. It's giving side-channel chaos 😭

  • RSA_blinding_on() β€” turns blinding on for key rsa and generates a random blinding factor ✨. ctx is NULL or a preallocated and initialized BN_CTX.
  • RSA_blinding_off() β€” turns blinding off and frees the memory used for the blinding factor 🧚

⭐ RETURN VALUES ⭐

  • RSA_blinding_on() β€” returns 1 on success, and 0 if an error occurred. classic binary moment, ate πŸ’€
  • RSA_blinding_off() β€” returns no value. it's a void, it simply does not return things, main character energy of it honestly πŸ‘‘

🌈 HISTORY 🌈

All of these functions were deprecated in OpenSSL 3.0. periodt. πŸ“œ


Copyright 2000-2021 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>.


bestie reminder: this page is from OpenSSL 3.5.9, dated 2026-09-29 β€” so if you're reading this in the future, hi, hope the blinding factor is still random πŸ’– no cap, go read the source, it's right there. slay πŸŽ€βœ¨πŸ¦‹
πŸ“¦ where this page comes from