| 
									
										
										
										
											2000-01-12 06:35:21 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-02-24 19:55:57 +08:00
										 |  |  | RSA_blinding_on, RSA_blinding_off - protect the RSA operation from timing attacks | 
					
						
							| 
									
										
										
										
											2000-01-12 06:35:21 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  #include <openssl/rsa.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  void RSA_blinding_off(RSA *rsa); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-01-12 21:59:20 +08:00
										 |  |  | RSA is vulnerable to timing attacks. In a setup where attackers can | 
					
						
							| 
									
										
										
										
											2000-01-12 06:35:21 +08:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-01-27 09:25:31 +08:00
										 |  |  | L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)> | 
					
						
							| 
									
										
										
										
											2000-01-12 06:35:21 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RSA_blinding_on() and RSA_blinding_off() appeared in SSLeay 0.9.0. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =cut |