From aa4d426b4d3527d7e166df1a05058c9a4a0f6683 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 00:33:56 +0200 Subject: initial/final commit --- openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod | 95 ++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod (limited to 'openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod') diff --git a/openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod b/openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod new file mode 100644 index 0000000..b1dd50d --- /dev/null +++ b/openssl-1.1.0h/doc/crypto/RSA_public_encrypt.pod @@ -0,0 +1,95 @@ +=pod + +=head1 NAME + +RSA_public_encrypt, RSA_private_decrypt - RSA public key cryptography + +=head1 SYNOPSIS + + #include + + int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + + int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); + +=head1 DESCRIPTION + +RSA_public_encrypt() encrypts the B bytes at B (usually a +session key) using the public key B and stores the ciphertext in +B. B must point to RSA_size(B) bytes of memory. + +B denotes one of the following modes: + +=over 4 + +=item RSA_PKCS1_PADDING + +PKCS #1 v1.5 padding. This currently is the most widely used mode. + +=item RSA_PKCS1_OAEP_PADDING + +EME-OAEP as defined in PKCS #1 v2.0 with SHA-1, MGF1 and an empty +encoding parameter. This mode is recommended for all new applications. + +=item RSA_SSLV23_PADDING + +PKCS #1 v1.5 padding with an SSL-specific modification that denotes +that the server is SSL3 capable. + +=item RSA_NO_PADDING + +Raw RSA encryption. This mode should I be used to implement +cryptographically sound padding modes in the application code. +Encrypting user data directly with RSA is insecure. + +=back + +B must be less than RSA_size(B) - 11 for the PKCS #1 v1.5 +based padding modes, less than RSA_size(B) - 41 for +RSA_PKCS1_OAEP_PADDING and exactly RSA_size(B) for RSA_NO_PADDING. +The random number generator must be seeded prior to calling +RSA_public_encrypt(). + +RSA_private_decrypt() decrypts the B bytes at B using the +private key B and stores the plaintext in B. B must point +to a memory section large enough to hold the decrypted data (which is +smaller than RSA_size(B)). B is the padding mode that +was used to encrypt the data. + +=head1 RETURN VALUES + +RSA_public_encrypt() returns the size of the encrypted data (i.e., +RSA_size(B)). RSA_private_decrypt() returns the size of the +recovered plaintext. + +On error, -1 is returned; the error codes can be +obtained by L. + +=head1 WARNING + +Decryption failures in the RSA_PKCS1_PADDING mode leak information +which can potentially be used to mount a Bleichenbacher padding oracle +attack. This is an inherent weakness in the PKCS #1 v1.5 padding +design. Prefer RSA_PKCS1_OAEP_PADDING. + +=head1 CONFORMING TO + +SSL, PKCS #1 v2.0 + +=head1 SEE ALSO + +L, L, +L + +=head1 COPYRIGHT + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (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. + +=cut -- cgit v1.2.3