Multiple verifier reference identities.
[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)|rsa(3)>, L<rand(3)|rand(3)>
38
39 =head1 HISTORY
40
41 RSA_blinding_on() and RSA_blinding_off() appeared in SSLeay 0.9.0.
42
43 =cut