Crypt::Noekeon - Crypt::CBC-compliant block cipher |
Crypt::Noekeon - Crypt::CBC-compliant block cipher
Noekeon is a 128-bit key, 128-bit block cipher designed by Joan Daemen, Michael Peeters, Vincent Rijmen, and Gilles Van Assche. Noekeon was submitted as a NESSIE candidate.
use Crypt::Noekeon;
$cipher = new Crypt::Noekeon $key; $ciphertext = $cipher->encrypt($plaintext); $plaintext = $cipher->decrypt($ciphertext);
Noekeon is a 128-bit key, 128-bit block cipher designed by Joan Daemen, Michael Peeters, Vincent Rijmen, and Gilles Van Assche. Noekeon was submitted as a NESSIE candidate.
This module supports the Crypt::CBC interface, with the following functions.
#!/usr/local/bin/perl
use diagnostics; use strict; use warnings; use Crypt::Noekeon;
# key must be 16 bytes long my $key = "0123456789abcdef";
my $cipher = new Crypt::Noekeon $key;
print "blocksize = ", $cipher->blocksize, " bytes \n"; print "keysize = ", $cipher->keysize, " bytes \n";
# block must be 16 bytes long my $plaintext1 = "0123456789abcdef";
my $ciphertext = $cipher->encrypt($plaintext1); my $plaintext2 = $cipher->decrypt($ciphertext);
print "Decryption OK\n" if ($plaintext1 eq $plaintext2);
#!/usr/local/bin/perl
use diagnostics; use strict; use warnings; use Crypt::CBC; # CBC automatically loads Noekeon for us
# when using Crypt::CBC, key may be of ANY length my $key = "0123456789abcdef";
# IV must be exactly 16 bytes long my $IV = pack "H32", 0;
my $cipher = Crypt::CBC->new({'key' => $key, 'cipher' => 'Noekeon', 'iv' => $IV, 'regenerate_key' => 1, 'padding' => 'standard', 'prepend_iv' => 0 });
# when using Crypt::CBC, plaintext may be of ANY length my $plaintext1 = "This is a test";
my $ciphertext = $cipher->encrypt($plaintext1); my $plaintext2 = $cipher->decrypt($ciphertext);
print "Decryption OK\n" if ($plaintext1 eq $plaintext2);
See Crypt::CBC for more examples using CBC mode. See also the ``examples'' and ``t'' directories for some more examples.
Crypt::Khazad, Crypt::Anubis and Crypt::Misty1
Copyright 2003 by Julius C. Duque <jcduque (AT) lycos (DOT) com>
This library is free software; you can redistribute it and/or modify it under the same terms as the GNU General Public License.
Crypt::Noekeon - Crypt::CBC-compliant block cipher |