Crypt::Mode::ECB - Block cipher mode ECB [Electronic codebook]
use Crypt::Mode::ECB; my $m = Crypt::Mode::ECB->new('AES'); #(en|de)crypt at once my $ciphertext = $m->encrypt($plaintext, $key); my $plaintext = $m->decrypt($ciphertext, $key); #encrypt more chunks $m->start_encrypt($key); my $ciphertext = $m->add('some data'); $ciphertext .= $m->add('more data'); $ciphertext .= $m->finish; #decrypt more chunks $m->start_decrypt($key); my $plaintext = $m->add($some_ciphertext); $plaintext .= $m->add($more_ciphertext); $plaintext .= $m->finish;
This module implements ECB cipher mode. NOTE: it works only with ciphers from CryptX (Crypt::Cipher::NNNN). BEWARE: ECB is inherently insecure, if you are not sure go for Crypt::Mode::CBC!
my $m = Crypt::Mode::ECB->new('AES'); #or my $m = Crypt::Mode::ECB->new('AES', $padding); #or my $m = Crypt::Mode::ECB->new('AES', $padding, $cipher_rounds); # $padding .... 0 no padding (plaintext size has to be myltiple of block length) # 1 PKCS5 padding, Crypt::CBC's "standard" - DEFAULT # 2 Crypt::CBC's "oneandzeroes" # $cipher_rounds ... optional num of rounds for given cipher
my $ciphertext = $m->encrypt($plaintext, $key);
my $plaintext = $m->decrypt($ciphertext, $key);
See example below "finish".
#encrypt more chunks $m->start_encrypt($key); my $ciphertext = ''; $ciphertext .= $m->add('some data'); $ciphertext .= $m->add('more data'); $ciphertext .= $m->finish; #decrypt more chunks $m->start_decrypt($key); my $plaintext = ''; $plaintext .= $m->add($some_ciphertext); $plaintext .= $m->add($more_ciphertext); $plaintext .= $m->finish;
CryptX, Crypt::Cipher
Crypt::Cipher::AES, Crypt::Cipher::Blowfish, ...
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_.28ECB.29
To install CryptX, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CryptX
CPAN shell
perl -MCPAN -e shell install CryptX
For more information on module installation, please visit the detailed CPAN module installation guide.