| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EVP_KEM-RSA | 
					
						
							|  |  |  | - EVP_KEM RSA keytype and algorithm support | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 DESCRIPTION | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The B<RSA> keytype and its parameters are described in L<EVP_PKEY-RSA(7)>. | 
					
						
							|  |  |  | See L<EVP_PKEY_encapsulate(3)> and L<EVP_PKEY_decapsulate(3)> for more info. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head2 RSA KEM parameters | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =over 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =item "operation" (B<OSSL_KEM_PARAM_OPERATION>) <UTF8 string> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The OpenSSL RSA Key Encapsulation Mechanism only currently supports the | 
					
						
							| 
									
										
										
										
											2025-02-23 12:21:14 +08:00
										 |  |  | following default operation (operating mode): | 
					
						
							| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =over 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =item "RSASVE" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The encapsulate function simply generates a secret using random bytes and then | 
					
						
							|  |  |  | encrypts the secret using the RSA public key (with no padding). | 
					
						
							|  |  |  | The decapsulate function recovers the secret using the RSA private key. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =back | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This can be set using EVP_PKEY_CTX_set_kem_op(). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-15 09:06:45 +08:00
										 |  |  | =item "fips-indicator" (B<OSSL_KEM_PARAM_FIPS_APPROVED_INDICATOR>) <integer> | 
					
						
							| 
									
										
										
										
											2024-07-01 09:36:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-15 09:06:45 +08:00
										 |  |  | =item "key-check" (B<OSSL_KEM_PARAM_FIPS_KEY_CHECK>) <integer> | 
					
						
							| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:36:58 +08:00
										 |  |  | These parameters are described in L<provider-kem(7)>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =back | 
					
						
							| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 CONFORMING TO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =over 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =item SP800-56Br2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Section 7.2.1.2 RSASVE Generate Operation (RSASVE.GENERATE). | 
					
						
							|  |  |  | Section 7.2.1.3 RSASVE Recovery Operation (RSASVE.RECOVER). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =back | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | L<EVP_PKEY_CTX_set_kem_op(3)>, | 
					
						
							|  |  |  | L<EVP_PKEY_encapsulate(3)>, | 
					
						
							|  |  |  | L<EVP_PKEY_decapsulate(3)> | 
					
						
							|  |  |  | L<EVP_KEYMGMT(3)>, | 
					
						
							|  |  |  | L<EVP_PKEY(3)>, | 
					
						
							|  |  |  | L<provider-keymgmt(7)> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-17 05:26:06 +08:00
										 |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This functionality was added in OpenSSL 3.0. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-23 12:21:14 +08:00
										 |  |  | The C<operation> (operating mode) was a required parameter prior to OpenSSL 3.5. | 
					
						
							|  |  |  | As of OpenSSL 3.5, C<RSASVE> is the default operating mode, and no explicit | 
					
						
							|  |  |  | value need be specified. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-12 21:35:59 +08:00
										 |  |  | Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2020-09-19 16:08:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							|  |  |  | this file except in compliance with the License.  You can obtain a copy | 
					
						
							|  |  |  | in the file LICENSE in the source distribution or at | 
					
						
							|  |  |  | L<https://www.openssl.org/source/license.html>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =cut |