aboutsummaryrefslogtreecommitdiff
path: root/openssl/doc/crypto/RSA_blinding_on.pod
blob: fd2c69abd8671ddd7bea1677a8d5e4e271361d9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
=pod

=head1 NAME

RSA_blinding_on, RSA_blinding_off - protect the RSA operation from timing attacks

=head1 SYNOPSIS

 #include <openssl/rsa.h>

 int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);

 void RSA_blinding_off(RSA *rsa);

=head1 DESCRIPTION

RSA is vulnerable to timing attacks. In a setup where attackers can
measure the time of RSA decryption or signature operations, blinding
must be used to protect the RSA operation from that attack.

RSA_blinding_on() turns blinding on for key B<rsa> and generates a
random blinding factor. B<ctx> is B<NULL> or a pre-allocated and
initialized B<BN_CTX>. The random number generator must be seeded
prior to calling RSA_blinding_on().

RSA_blinding_off() turns blinding off and frees the memory used for
the blinding factor.

=head1 RETURN VALUES

RSA_blinding_on() returns 1 on success, and 0 if an error occurred.

RSA_blinding_off() returns no value.

=head1 SEE ALSO

L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)>

=head1 HISTORY

RSA_blinding_on() and RSA_blinding_off() appeared in SSLeay 0.9.0.

=cut