libressl-RSA_blinding_on(3)

libressl-RSA_blinding_on3

Protect the rsa operation from timing attacks

Usage

Crypto Library (libcrypto, -lcrypto)

#include <openssl/rsa.h>

int

RSA_blinding_on(RSA *rsa, BN_CTX *ctx);

void

RSA_blinding_off(RSA *rsa);

Overview

RSA is vulnerable to timing attacks. 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.

RSA_blinding_on() turns blinding on for key rsa and generates a random blinding factor. ctx is NULL or a pre-allocated 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.

History

RSA_blinding_on() and RSA_blinding_off() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4.

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.