1*b077aed3SPierre Pronchery=pod 2*b077aed3SPierre Pronchery 3*b077aed3SPierre Pronchery=head1 NAME 4*b077aed3SPierre Pronchery 5*b077aed3SPierre ProncheryEVP_KEM-RSA 6*b077aed3SPierre Pronchery- EVP_KEM RSA keytype and algorithm support 7*b077aed3SPierre Pronchery 8*b077aed3SPierre Pronchery=head1 DESCRIPTION 9*b077aed3SPierre Pronchery 10*b077aed3SPierre ProncheryThe B<RSA> keytype and its parameters are described in L<EVP_PKEY-RSA(7)>. 11*b077aed3SPierre ProncherySee L<EVP_PKEY_encapsulate(3)> and L<EVP_PKEY_decapsulate(3)> for more info. 12*b077aed3SPierre Pronchery 13*b077aed3SPierre Pronchery=head2 RSA KEM parameters 14*b077aed3SPierre Pronchery 15*b077aed3SPierre Pronchery=over 4 16*b077aed3SPierre Pronchery 17*b077aed3SPierre Pronchery=item "operation" (B<OSSL_KEM_PARAM_OPERATION>) <UTF8 string> 18*b077aed3SPierre Pronchery 19*b077aed3SPierre ProncheryThe OpenSSL RSA Key Encapsulation Mechanism only currently supports the 20*b077aed3SPierre Proncheryfollowing operation 21*b077aed3SPierre Pronchery 22*b077aed3SPierre Pronchery=over 4 23*b077aed3SPierre Pronchery 24*b077aed3SPierre Pronchery=item "RSASVE" 25*b077aed3SPierre Pronchery 26*b077aed3SPierre ProncheryThe encapsulate function simply generates a secret using random bytes and then 27*b077aed3SPierre Proncheryencrypts the secret using the RSA public key (with no padding). 28*b077aed3SPierre ProncheryThe decapsulate function recovers the secret using the RSA private key. 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery=back 31*b077aed3SPierre Pronchery 32*b077aed3SPierre ProncheryThis can be set using EVP_PKEY_CTX_set_kem_op(). 33*b077aed3SPierre Pronchery 34*b077aed3SPierre Pronchery=back 35*b077aed3SPierre Pronchery 36*b077aed3SPierre Pronchery 37*b077aed3SPierre Pronchery=head1 CONFORMING TO 38*b077aed3SPierre Pronchery 39*b077aed3SPierre Pronchery=over 4 40*b077aed3SPierre Pronchery 41*b077aed3SPierre Pronchery=item SP800-56Br2 42*b077aed3SPierre Pronchery 43*b077aed3SPierre ProncherySection 7.2.1.2 RSASVE Generate Operation (RSASVE.GENERATE). 44*b077aed3SPierre ProncherySection 7.2.1.3 RSASVE Recovery Operation (RSASVE.RECOVER). 45*b077aed3SPierre Pronchery 46*b077aed3SPierre Pronchery=back 47*b077aed3SPierre Pronchery 48*b077aed3SPierre Pronchery=head1 SEE ALSO 49*b077aed3SPierre Pronchery 50*b077aed3SPierre ProncheryL<EVP_PKEY_CTX_set_kem_op(3)>, 51*b077aed3SPierre ProncheryL<EVP_PKEY_encapsulate(3)>, 52*b077aed3SPierre ProncheryL<EVP_PKEY_decapsulate(3)> 53*b077aed3SPierre ProncheryL<EVP_KEYMGMT(3)>, 54*b077aed3SPierre ProncheryL<EVP_PKEY(3)>, 55*b077aed3SPierre ProncheryL<provider-keymgmt(7)> 56*b077aed3SPierre Pronchery 57*b077aed3SPierre Pronchery=head1 HISTORY 58*b077aed3SPierre Pronchery 59*b077aed3SPierre ProncheryThis functionality was added in OpenSSL 3.0. 60*b077aed3SPierre Pronchery 61*b077aed3SPierre Pronchery=head1 COPYRIGHT 62*b077aed3SPierre Pronchery 63*b077aed3SPierre ProncheryCopyright 2020 The OpenSSL Project Authors. All Rights Reserved. 64*b077aed3SPierre Pronchery 65*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 66*b077aed3SPierre Proncherythis file except in compliance with the License. You can obtain a copy 67*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at 68*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>. 69*b077aed3SPierre Pronchery 70*b077aed3SPierre Pronchery=cut 71