NAME
Crypt::Mode::CBC - Block cipher mode CBC [Cipher-block chaining]
SYNOPSIS
my $m = Crypt::Mode::CBC->new( 'AES' );
my $ciphertext = $m ->encrypt( $plaintext , $key , $iv );
my $plaintext = $m ->decrypt( $ciphertext , $key , $iv );
$m ->start_encrypt( $key , $iv );
my $ciphertext = $m ->add( 'some data' );
$ciphertext .= $m ->add( 'more data' );
$ciphertext .= $m ->finish;
$m ->start_decrypt( $key , $iv );
my $plaintext = $m ->add( $some_ciphertext );
$plaintext .= $m ->add( $more_ciphertext );
$plaintext .= $m ->finish;
|
DESCRIPTION
This module implements CBC cipher mode. NOTE: it works only with ciphers from CryptX (Crypt::Cipher::NNNN).
METHODS
new
my $m = Crypt::Mode::CBC->new( $name );
my $m = Crypt::Mode::CBC->new( $name , $padding );
my $m = Crypt::Mode::CBC->new( $name , $padding , $cipher_rounds );
|
encrypt
my $ciphertext = $m ->encrypt( $plaintext , $key , $iv );
|
decrypt
my $plaintext = $m ->decrypt( $ciphertext , $key , $iv );
|
start_encrypt
$m ->start_encrypt( $key , $iv );
|
start_decrypt
$m ->start_decrypt( $key , $iv );
|
add
my $plaintext = $m ->add( $ciphertext );
my $ciphertext = $m ->add( $plaintext );
|
finish
$m ->start_encrypt( $key , $iv );
my $ciphertext = '' ;
$ciphertext .= $m ->add( 'some data' );
$ciphertext .= $m ->add( 'more data' );
$ciphertext .= $m ->finish;
$m ->start_decrypt( $key , $iv );
my $plaintext = '' ;
$plaintext .= $m ->add( $some_ciphertext );
$plaintext .= $m ->add( $more_ciphertext );
$plaintext .= $m ->finish;
|
SEE ALSO