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>.
24
25RSA_blinding_off() turns blinding off and frees the memory used for
26the blinding factor.
27
28=head1 RETURN VALUES
29
30RSA_blinding_on() returns 1 on success, and 0 if an error occurred.
31
32RSA_blinding_off() returns no value.
33
34=head1 COPYRIGHT
35
36Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
37
38Licensed under the OpenSSL license (the "License").  You may not use
39this file except in compliance with the License.  You can obtain a copy
40in the file LICENSE in the source distribution or at
41L<https://www.openssl.org/source/license.html>.
42
43=cut
44