| =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 |