97ac64131794500c54a85497e8b8f8d87c7ddcb1
[openssl.git] / doc / crypto / RSA_blinding_on.pod
1 =pod
2
3 =head1 NAME
4
5 RSA_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
17 RSA is vulnerable to timing attacks. In a setup where attackers can
18 measure the time of RSA decryption or signature operations, blinding
19 must be used to protect the RSA operation from that attack.
20
21 RSA_blinding_on() turns blinding on for key B<rsa> and generates a
22 random blinding factor. B<ctx> is B<NULL> or a pre-allocated and
23 initialized B<BN_CTX>. The random number generator must be seeded
24 prior to calling RSA_blinding_on().
25
26 RSA_blinding_off() turns blinding off and frees the memory used for
27 the blinding factor.
28
29 =head1 RETURN VALUES
30
31 RSA_blinding_on() returns 1 on success, and 0 if an error occurred.
32
33 RSA_blinding_off() returns no value.
34
35 =head1 SEE ALSO
36
37 L<rsa(3)>, L<rand(3)>
38
39 =cut
40
41 =head1 COPYRIGHT
42
43 Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
44
45 Licensed under the OpenSSL license (the "License").  You may not use
46 this file except in compliance with the License.  You can obtain a copy
47 in the file LICENSE in the source distribution or at
48 L<https://www.openssl.org/source/license.html>.
49
50 =cut