Crypt::OpenSSL::AES - A Perl wrapper around OpenSSL's AES library
use Crypt::OpenSSL::AES; my $cipher = new Crypt::OpenSSL::AES($key); $encrypted = $cipher->encrypt($plaintext) $decrypted = $cipher->decrypt($encrypted)
This module implements a wrapper around OpenSSL. Specifically, it wraps the methods related to the US Government's Advanced Encryption Standard (the Rijndael algorithm).
This module is compatible with Crypt::CBC (and likely other modules that utilize a block cipher to make a stream cipher).
This module is an alternative to the implementation provided by Crypt::Rijndael which implements AES itself. In contrast, this module is simply a wrapper around the OpenSSL library.
The Crypt::Rijndael implementation seems to produce inaccurate results on 64-bit x86 machines. By using OpenSSL, this module aims to avoid architecture specific problems, allowing the OpenSSL maintainers to overcome such issues.
Encrypt data. The size of $data must be exactly blocksize in length (16 bytes), otherwise this function will croak.
$data
blocksize
You should use Crypt::CBC or something similar to encrypt/decrypt data of arbitrary lengths.
Decrypts $data. The size of $data must be exactly blocksize in length (16 bytes), otherwise this function will croak.
This method is used by Crypt::CBC to verify the key length. This module actually supports key lengths of 16, 24, and 32 bytes, but this method always returns 32 for Crypt::CBC's sake.
This method is used by Crypt::CBC to check the block size. The blocksize for AES is always 16 bytes.
use Crypt::CBC $cipher = Crypt::CBC->new( -key => $key, -cipher => "Crypt::OpenSSL::AES" ); $encrypted = $cipher->encrypt($plaintext) $decrypted = $cipher->decrypt($encrypted)
Crypt::CBC
http://www.openssl.org/
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
http://www.csrc.nist.gov/encryption/aes/
Need more (and better) test cases.
Tolga Tarhan, <cpan at ttar dot org>
The US Government's Advanced Encryption Standard is the Rijndael Algorithm and was developed by Vincent Rijmen and Joan Daemen.
Copyright (C) 2006 DelTel, Inc.
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.5 or, at your option, any later version of Perl 5 you may have available.
To install Crypt::OpenSSL::AES, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Crypt::OpenSSL::AES
CPAN shell
perl -MCPAN -e shell install Crypt::OpenSSL::AES
For more information on module installation, please visit the detailed CPAN module installation guide.