Crypt::OpenPGP::Cipher - PGP symmetric cipher factory |

- NAME
- SYNOPSIS
- DESCRIPTION
- USAGE
- Crypt::OpenPGP::Cipher->
`new($cipher)`

- $cipher->
`encrypt($plaintext)`

- $cipher->
`decrypt($ciphertext)`

- $cipher->alg
- $cipher->alg_id
- $cipher->blocksize
- $cipher->keysize
- AUTHOR & COPYRIGHTS

Crypt::OpenPGP::Cipher - PGP symmetric cipher factory

use Crypt::OpenPGP::Cipher;

my $cipher = Crypt::OpenPGP::Cipher->new($name);

my $ct = $cipher->encrypt($plaintext); my $pt = $cipher->decrypt($ct);

*Crypt::OpenPGP::Cipher* is a factory class for PGP symmetric ciphers.
All cipher objects are subclasses of this class and share a common
interface; when creating a new cipher object, the object is blessed
into the subclass to take on algorithm-specific functionality.

A *Crypt::OpenPGP::Cipher* object is a wrapper around a
*Crypt::OpenPGP::CFB* object, which in turn wraps around the actual
cipher implementation (eg. *Crypt::Blowfish* for a Blowfish cipher).
This allows all ciphers to share a common interface and a simple
instantiation method.

`new($cipher)`

Creates a new symmetric cipher object of type *$cipher*; *$cipher*
can be either the name of a cipher (in *Crypt::OpenPGP* parlance) or
the numeric ID of the cipher (as defined in the OpenPGP RFC). Using
a cipher name is recommended, for the simple reason that it is easier
to understand quickly (not everyone knows the cipher IDs).

Valid cipher names are: `IDEA`

, `DES3`

, `Blowfish`

, `Rijndael`

,
`Rijndael192`

, `Rijndael256`

, `Twofish`

, and `CAST5`

.

Returns the new cipher object on success. On failure returns `undef`

;
the caller should check for failure and call the class method *errstr*
if a failure occurs. A typical reason this might happen is an
unsupported cipher name or ID.

`encrypt($plaintext)`

Encrypts the plaintext *$plaintext* and returns the encrypted text
(ie. ciphertext). The encryption is done in CFB mode using the
underlying cipher implementation.

`decrypt($ciphertext)`

Decrypts the ciphertext *$ciphertext* and returns the plaintext. The
decryption is done in CFB mode using the underlying cipher
implementation.

Returns the name of the cipher algorithm (as listed above in *new*).

Returns the numeric ID of the cipher algorithm.

Returns the blocksize of the cipher algorithm (in bytes).

Returns the keysize of the cipher algorithm (in bytes).

Please see the Crypt::OpenPGP manpage for author, copyright, and license information.

Crypt::OpenPGP::Cipher - PGP symmetric cipher factory |