skip book previous and next navigation links
go up to top of book: HP Open Source Security for OpenVMS Volume 2:... HP Open Source Security for OpenVMS Volume 2:...
go to beginning of reference: CRYPTO Application Programming Interface (API)... CRYPTO Application Programming Interface (API)...
go to previous page: RSA_private_encrypt RSA_private_encrypt
go to next page: RSA_set_default_methodRSA_set_default_method
end of book navigation links


RSA_public_encrypt
Description
Conforming To
History
 Return Values
See Also

NAME

RSA_public_encrypt, RSA_private_decrypt - RSA public key cryptography

Synopsis  

#include <openssl/rsa.h>
int RSA_public_encrypt(int flen, unsigned char *from, unsigned char *to, RSA *rsa, int padding);
int RSA_private_decrypt(int flen, unsigned char *from, unsigned char *to, RSA *rsa, int padding);


return to top DESCRIPTION  

RSA_public_encrypt() encrypts the flen bytes at from (usually a session key) using the public key rsa and stores the ciphertext in to. to must point to RSA_size(rsa) bytes of memory.

padding denotes one of the following modes:

flen must be less than RSA_size(rsa) - 11 for the PKCS #1 v1.5 based padding modes, and less than RSA_size(rsa) - 41 for RSA_PKCS1_OAEP_PADDING. The random number generator must be seeded prior to calling RSA_public_encrypt().

RSA_private_decrypt() decrypts the flen bytes at from using the private key rsa and stores the plaintext in to. to must point to a memory section large enough to hold the decrypted data (which is smaller than RSA_size(rsa)). padding is the padding mode that was used to encrypt the data.


return to top RETURN VALUES  

RSA_public_encrypt() returns the size of the encrypted data (i.e., RSA_size(rsa)). RSA_private_decrypt() returns the size of the recovered plaintext.

On error, -1 is returned; the error codes can be obtained by ERR_get_error(3) .


return to top CONFORMING TO  

SSL, PKCS #1 v2.0


return to top SEE ALSO  

ERR_get_error(3) , rand(3) , rsa(3) , RSA_size(3)


return to top HISTORY  

The padding argument was added in SSLeay 0.8. RSA_NO_PADDING is available since SSLeay 0.9.0, OAEP was added in OpenSSL 0.9.2b.
go to previous page: RSA_private_encrypt RSA_private_encrypt
go to next page: RSA_set_default_methodRSA_set_default_method