1=pod 2 3=head1 NAME 4 5RSA_blinding_on, RSA_blinding_off - protect the RSA operation from timing attacks 6 7=head1 SYNOPSIS 8 9 #include <openssl/rsa.h> 10 11 int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); 12 13 void RSA_blinding_off(RSA *rsa); 14 15=head1 DESCRIPTION 16 17RSA is vulnerable to timing attacks. In a setup where attackers can 18measure the time of RSA decryption or signature operations, blinding 19must be used to protect the RSA operation from that attack. 20 21RSA_blinding_on() turns blinding on for key B<rsa> and generates a 22random blinding factor. B<ctx> is B<NULL> or a pre-allocated and 23initialized B<BN_CTX>. The random number generator must be seeded 24prior to calling RSA_blinding_on(). 25 26RSA_blinding_off() turns blinding off and frees the memory used for 27the blinding factor. 28 29=head1 RETURN VALUES 30 31RSA_blinding_on() returns 1 on success, and 0 if an error occurred. 32 33RSA_blinding_off() returns no value. 34 35=head1 COPYRIGHT 36 37Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. 38 39Licensed under the OpenSSL license (the "License"). You may not use 40this file except in compliance with the License. You can obtain a copy 41in the file LICENSE in the source distribution or at 42L<https://www.openssl.org/source/license.html>. 43 44=cut 45