NAME

Crypt::Camellia_PP - Pure Perl Camellia 128-bit block cipher module.

SYNOPSIS

 use Crypt::Camellia_PP;

 my $key = pack 'H*', '00000000000000000000000000000000'; 
 my $plain_text = pack 'H*', '00000000000000000000000000000000';
 my $c = Crypt::Camellia->new($key);
 my $cipher_text = $c->encrypt($plain_text);
 

DESCRIPTION

this module implements the Camellia cipher by Pure Perl.

Methods

new($key)

Create a new "Crypt::Camellia_PP" cipher object with the given key (which must be 128 or 192 or 256 bit long).

encrypt($data)

Encrypt data. The size of $data must be a 16 bytes.

decrypt($data)

Decrypts $data.

EXAMPLE

Encrypt and Decrypt

use Crypt::Camellia_PP;

my $key = pack 'H*', '00112233445566778899AABBCCDDEEFF';
my $src = pack 'H*', 'FFEEDDCCBBAA99887766554433221100';
my $camellia = Crypt::Camellia_PP->new($key);
my $cipher_string = $camellia->encrypt($src);

my $plain_string = $camellia->decrypt($cipher_string);
$plain_string eq $src;

With Crypt::CBC module

use Crypt::CBC;

my $cbc = Crypt::CBC->new({
    cipher => 'Crypt::Camellia_PP',
    key => pack('H*', '00112233445566778899aabbccddeeff'),
    iv  => pack('H*', '00000000000000000000000000000000'),
    literal_key => 1,
    header => 'none',
    padding => 'standard',
});
my $cipher_text = $cbc->encrypt('Hello World!');
my $plain_text = $cbc->decrypt($cipher_text);
$plain_text eq 'Hello World!';

SEE ALSO

Crypt::Camellia, http://search.cpan.org/dist/Crypt-Camellia/, http://info.isl.ntt.co.jp/crypt/camellia/

AUTHOR

Hiroyuki OYAMA <oyama@module.jp>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Hiroyuki OYAMA. Japan.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.