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.