Crypt::Rijndael - Crypt::CBC compliant Rijndael encryption module |
Crypt::Rijndael - Crypt::CBC compliant Rijndael encryption module
use Crypt::Rijndael;
# keysize() is 32, but 24 and 16 are also possible # blocksize() is 16
$cipher = new Crypt::Rijndael "a" x 32, Crypt::Rijndael::MODE_CBC;
$cipher->set_iv($iv); $crypted = $cipher->encrypt($plaintext); # - OR - $plaintext = $cipher->decrypt($crypted);
This module implements the Rijndael cipher, which has just been selected as the Advanced Encryption Standard.
Crypt::CBC
.
Crypt::Rijndael
cipher object with the given key
(which must be 128, 192 or 256 bits long). The additional $mode
argument is the encryption mode, either MODE_ECB
(electronic
codebook mode, the default), MODE_CBC
(cipher block chaining, the
same that Crypt::CBC
does), MODE_CFB
(128-bit cipher feedback),
MODE_OFB
(128-bit output feedback), or MODE_CTR
(counter mode).
ECB mode is very insecure (read a book on cryptography if you dont know why!), so you should probably use CBC mode.
set_iv($iv)
encrypt($data)
$data
must be a multiple of blocksize
(16 bytes), otherwise this function will croak. Apart from that, it
can be of (almost) any length.
decrypt($data)
$data
.
L<Crypt::CBC>, http://www.csrc.nist.gov/encryption/aes/
Should EXPORT or EXPORT_OK the MODE constants.
Rafael R. Sevilla <sevillar@team.ph.inter.net>
The Rijndael Algorithm was developed by Vincent Rijmen and Joan Daemen, and has been selected as the US Government's Advanced Encryption Standard.
Crypt::Rijndael - Crypt::CBC compliant Rijndael encryption module |