Crypt::RSA::ES::OAEP - Plaintext-aware encryption with RSA.
my $oaep = new Crypt::RSA::ES::OAEP;
my $ct = $oaep->encrypt( Key => $key, Message => $message ) || die $oaep->errstr;
my $pt = $oaep->decrypt( Key => $key, Cyphertext => $ct ) || die $oaep->errstr;
This module implements Optimal Asymmetric Encryption, a plaintext-aware encryption scheme based on RSA. The notion of plaintext-aware implies it's computationally infeasible to obtain full or partial information about a message from a cyphertext, and computationally infeasible to generate a valid cyphertext without knowing the corresponding message. Plaintext-aware schemes, such as OAEP, are semantically secure, non-malleable and secure against chosen-ciphertext attack. For more information on OAEP and plaintext-aware encryption, see [3], [9] & [13].
Constructor.
Returns the version number of the module.
Encrypts a string with a public key and returns the encrypted string on success. encrypt() takes a hash argument with the following mandatory keys:
Decrypts cyphertext with a private key and returns plaintext on success. $self->errstr is set to "Decryption Error." or appropriate error on failure. decrypt() takes a hash argument with the following mandatory keys:
Version of the module that was used for creating the Cyphertext. This is an optional argument. When present, decrypt() will ensure before proceeding that the installed version of the module can successfully decrypt the Cyphertext.
See ERROR HANDLING in Crypt::RSA(3) manpage.
See BIBLIOGRAPHY in Crypt::RSA(3) manpage.
Vipul Ved Prakash, <mail@vipul.net>
Crypt::RSA(3), Crypt::RSA::Primitives(3), Crypt::RSA::Keys(3), Crypt::RSA::SSA::PSS(3)