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 SEE ALSO 36 37L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)> 38 39=head1 HISTORY 40 41RSA_blinding_on() and RSA_blinding_off() appeared in SSLeay 0.9.0. 42 43=cut 44