table of contents
- Tumbleweed 0.89.0-1.1
- Leap-16.0
- Leap-15.6
| Crypt::Cipher::AES(3) | User Contributed Perl Documentation | Crypt::Cipher::AES(3) |
NAME¶
Crypt::Cipher::AES - Symmetric cipher AES (aka Rijndael), key size: 128/192/256 bits
SYNOPSIS¶
### example 1
use Crypt::Mode::CBC;
my $key = '...'; # length must be a valid key size for this cipher
my $iv = '...'; # 16 bytes
my $cbc = Crypt::Mode::CBC->new('AES');
my $ciphertext = $cbc->encrypt("secret data", $key, $iv);
### example 2 (slower)
use Crypt::CBC;
use Crypt::Cipher::AES;
my $key = '...'; # length must be a valid key size for this cipher
my $iv = '...'; # 16 bytes
my $cbc = Crypt::CBC->new( -cipher=>'Cipher::AES', -key=>$key, -iv=>$iv );
my $ciphertext = $cbc->encrypt("secret data");
DESCRIPTION¶
This module implements the AES cipher. Its interface is compatible with Crypt::CBC.
Note: This module only implements single-block encryption and decryption. For general data, use a block mode such as Crypt::Mode::CBC, Crypt::Mode::CTR, or Crypt::CBC (which is slower).
METHODS¶
Unless noted otherwise, assume $c is an existing cipher object created via "new", for example:
my $c = Crypt::Cipher::AES->new($key);
new¶
my $c = Crypt::Cipher::AES->new($key); #or my $c = Crypt::Cipher::AES->new($key, $rounds); # $key .... [binary string] key of an accepted length (see keysize, min_keysize, max_keysize) # $rounds . [integer] optional, number of rounds (if supported by the cipher; croaks on invalid value)
encrypt¶
Encrypts exactly one block of plaintext. The length of $plaintext must equal "blocksize"; croaks otherwise. An empty string is accepted and returned unchanged.
my $ciphertext = $c->encrypt($plaintext);
Returns the encrypted block as a binary string (raw bytes).
decrypt¶
Decrypts exactly one block of ciphertext. The length of $ciphertext must equal "blocksize"; croaks otherwise. An empty string is accepted and returned unchanged.
my $plaintext = $c->decrypt($ciphertext);
Returns the decrypted block as a binary string (raw bytes).
keysize¶
Just an alias for "max_keysize".
$c->keysize; #or Crypt::Cipher::AES->keysize; #or Crypt::Cipher::AES::keysize;
blocksize¶
Returns the cipher block size (in bytes).
$c->blocksize; #or Crypt::Cipher::AES->blocksize; #or Crypt::Cipher::AES::blocksize;
max_keysize¶
Returns the maximum key size (in bytes).
$c->max_keysize; #or Crypt::Cipher::AES->max_keysize; #or Crypt::Cipher::AES::max_keysize;
min_keysize¶
Returns the minimum key size (in bytes).
$c->min_keysize; #or Crypt::Cipher::AES->min_keysize; #or Crypt::Cipher::AES::min_keysize;
default_rounds¶
Returns the cipher's default round count.
$c->default_rounds; #or Crypt::Cipher::AES->default_rounds; #or Crypt::Cipher::AES::default_rounds;
SEE ALSO¶
- CryptX, Crypt::Cipher
- <https://en.wikipedia.org/wiki/Advanced_Encryption_Standard>
| 2026-05-11 | perl v5.42.1 |