Convert::PEM::CBC man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Convert::PEM::CBC(3)  User Contributed Perl Documentation Convert::PEM::CBC(3)

NAME
       Convert::PEM::CBC - Cipher Block Chaining Mode implementation

SYNOPSIS
	   use Convert::PEM::CBC;
	   my $cbc = Convert::PEM::CBC->new(
				Cipher	   => 'Crypt::DES_EDE3',
				Passphrase => 'foo'
		  );

	   my $plaintext = 'foo bar baz';
	   $cbc->encrypt($plaintext);

DESCRIPTION
       Convert::PEM::CBC implements the CBC (Cipher Block Chaining) mode for
       encryption/decryption ciphers; the CBC is designed for compatability
       with OpenSSL and may not be compatible with other implementations (such
       as SSH).

USAGE
   $cbc = Convert::PEM::CBC->new(%args)
       Creates a new Convert::PEM::CBC object and initializes it.  Returns the
       new object.

       %args can contain:

       ·   Cipher

	   Either the name of an encryption cipher class (eg. Crypt::DES), or
	   an object already blessed into such a class. The class must support
	   the keysize, blocksize, encrypt, and decrypt methods. If the value
	   is a blessed object, it is assumed that the object has already been
	   initialized with a key.

	   This argument is mandatory.

       ·   Passphrase

	   A passphrase to encrypt/decrypt the content. This is different in
	   implementation from a key (Key), because it is assumed that a
	   passphrase comes directly from a user, and must be munged into the
	   correct form for a key. This "munging" is done by repeatedly
	   computing an MD5 hash of the passphrase, the IV, and the existing
	   hash, until the generated key is longer than the keysize for the
	   cipher (Cipher).

	   Because of this "munging", this argument can be any length (even an
	   empty string).

	   If you give the Cipher argument an object, this argument is
	   ignored. If the Cipher argument is a cipher class, either this
	   argument or Key must be provided.

       ·   Key

	   A raw key, to be passed directly to the new cipher object. Because
	   this is passed directly to the cipher itself, the length of the key
	   must be equal to or greater than the keysize for the Cipher.

	   As with the Passphrase argument, if you give the Cipher argument an
	   already-constructed cipher object, this argument is ignored. If the
	   Cipher argument is a cipher class, either this argument or
	   Passphrase must be provided.

       ·   IV

	   The initialization vector for CBC mode.

	   This argument is optional; if not provided, a random IV will be
	   generated. Obviously, if you're decrypting data, you should provide
	   this argument, because your IV should match the IV used to encrypt
	   the data.

   $cbc->encrypt($plaintext)
       Encrypts the plaintext $plaintext using the underlying cipher
       implementation in CBC mode, and returns the ciphertext.

       If any errors occur, returns undef, and you should check the errstr
       method to find out what went wrong.

   $cbc->decrypt($ciphertext)
       Decrypts the ciphertext $ciphertext using the underlying cipher
       implementation in CBC mode, and returns the plaintext.

       If any errors occur, returns undef, and you should check the errstr
       method to find out what went wrong.

   $cbc->iv
       Returns the current initialization vector. One use for this might be to
       grab the initial value of the IV if it's created randomly (ie.  you
       haven't provided an IV argument to new):

	   my $cbc = Convert::PEM::CBC->new( Cipher => $cipher );
	   my $iv = $cbc->iv;	## Generated randomly in 'new'.

       Convert::PEM uses this to write the IV to the PEM file when encrypting,
       so that it can be known when trying to decrypt the file.

   $cbc->errstr
       Returns the value of the last error that occurred. This should only be
       considered meaningful when you've received undef from one of the
       functions above; in all other cases its relevance is undefined.

AUTHOR & COPYRIGHTS
       Please see the Convert::PEM manpage for author, copyright, and license
       information.

perl v5.14.1			  2010-12-07		  Convert::PEM::CBC(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net