The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Crypt::RSA::ES::PKCS1v15 - PKCS #1 v1.5 padded encryption scheme based on RSA.

SYNOPSIS

    my $pkcs = new Crypt::RSA::ES::PKCS1v15; 

    my $ct = $pkcs->encrypt( Key => $key, Message => $message ) || 
                die $pkcs->errstr; 

    my $pt = $pkcs->decrypt( Key => $key, Cyphertext => $ct )   || 
                die $pkcs->errstr; 

DESCRIPTION

This module implements PKCS #1 v1.5 padded encryption scheme based on RSA. See [13] for details on the encryption scheme.

METHODS

new()

Constructor.

version()

Returns the version number of the module.

encrypt()

Encrypts a string with a public key and returns the encrypted string on success. encrypt() takes a hash argument with the following mandatory keys:

Message

A string to be encrypted. The length of this string should not exceed k-10 octets, where k is the octet length of the RSA modulus. If Message is longer than k-10, the method will fail and set $self->errstr to "Message too long."

Key

Public key of the recipient, a Crypt::RSA::Key::Public object.

decrypt()

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:

Cyphertext

A string encrypted with encrypt(). The length of the cyphertext must be k octets, where k is the length of the RSA modulus.

Key

Private key of the receiver, a Crypt::RSA::Key::Private object.

ERROR HANDLING

See ERROR HANDLING in Crypt::RSA(3) manpage.

BIBLIOGRAPHY

See BIBLIOGRAPHY in Crypt::RSA(3) manpage.

AUTHOR

Vipul Ved Prakash, <mail@vipul.net>

SEE ALSO

Crypt::RSA(3), Crypt::RSA::Primitives(3), Crypt::RSA::Keys(3), Crypt::RSA::SSA::PSS(3)