Crypt::Rijndael (3) - Linux Man Pages
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 = Crypt::Rijndael->new( "a" x 32, Crypt::Rijndael::MODE_CBC() ); $cipher->set_iv($iv); $crypted = $cipher->encrypt($plaintext); # - OR - $plaintext = $cipher->decrypt($crypted);
DESCRIPTIONThis module implements the Rijndael cipher, which has just been selected as the Advanced Encryption Standard.
- Returns the keysize, which is 32 (bytes). The Rijndael cipher actually supports keylengths of 16, 24 or 32 bytes, but there is no way to communicate this to "Crypt::CBC".
- The blocksize for Rijndael is 16 bytes (128 bits), although the algorithm actually supports any blocksize that is any multiple of our bytes. 128 bits, is however, the AES-specified block size, so this is all we support.
- $cipher = Crypt::Rijndael->new( $key [, $mode] )
Create a new "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 don't know why!), so you should probably use CBC mode.
- This allows you to change the initial value vector used by the chaining modes. It is not relevant for ECB mode.
- Encrypt data. The size of $data must be a multiple of "blocksize" (16 bytes), otherwise this function will croak. Apart from that, it can be of (almost) any length.
- Decrypts $data.
Encryption modesUse these constants to select the cipher type:
- MODE_CBC - Cipher Block Chaining
- MODE_CFB - Cipher feedback
- MODE_CTR - Counter mode
- MODE_ECB - Electronic cookbook mode
- MODE_OFB - Output feedback
- MODE_PCBC - ignore this one for now :)
BUGSShould EXPORT or EXPORT_OK the MODE constants.
AUTHORCurrently maintained by brian d foy, "<bdfoy [at] cpan.org>".
Original code by Rafael R. Sevilla.
SOURCEThis code is in Github:
LICENSEThis software is licensed under the Lesser GNU Public License v3 (29 June 2007). See the included COPYING file for details.