DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

IDEA(3)





NAME

       Crypt::Anubis - Crypt::CBC-compliant block cipher


ABSTRACT

       Anubis is a variable-length key, 128-bit block cipher designed by Vin-
       cent Rijmen and Paulo S. L. M. Barreto.


SYNOPSIS

           use Crypt::Anubis;

           $cipher = new Crypt::Anubis $key;
           $ciphertext = $cipher->encrypt($plaintext);
           $plaintext  = $cipher->decrypt($ciphertext);


DESCRIPTION

       Anubis is a variable-length key, 128-bit block cipher designed by Vin-
       cent Rijmen and Paulo S. L. M. Barreto. Key length can be 128, 160,
       192, 224, 256, 288, or 320 bits. The default key length used in this
       implementation is 128 bits (16 bytes).

       This module supports the Crypt::CBC interface, with the following func-
       tions.

       Functions

       blocksize
           Returns the size (in bytes) of the block (16, in this case).

       keysize
           Returns the size (in bytes) of the key (16, in this case).

       encrypt($data)
           Encrypts 16 bytes of $data and returns the corresponding cipher-
           text.

       decrypt($data)
           Decrypts 16 bytes of $data and returns the corresponding plaintext.


EXAMPLE 1

           #!/usr/local/bin/perl

           use diagnostics;
           use strict;
           use warnings;
           use Crypt::Anubis;

           # key must be 16 bytes long
           my $key = "0123456789abcdef";

           my $cipher = new Crypt::Anubis $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);


EXAMPLE 2

           #!/usr/local/bin/perl

           use diagnostics;
           use strict;
           use warnings;
           use Crypt::CBC;  # CBC automatically loads Anubis 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' => 'Anubis',
                                         '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);


MORE EXAMPLES

       See Crypt::CBC for more examples using CBC mode. See also the "exam-
       ples" and "t" directories for some more examples.


SEE ALSO

       Crypt::Khazad and Crypt::Misty1


COPYRIGHT AND LICENSE

       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.

perl v5.8.8                       2003-06-19                         Anubis(3)
See also Crypt::Blowfish(3)
See also Crypt::Blowfish_PP(3)
See also Crypt::CAST5(3)
See also Crypt::CAST5_PP(3)
See also Crypt::CBC(3)
See also Crypt::DES(3)
See also Crypt::DES_EDE3(3)
See also Crypt::DES_EEE3(3)
See also Crypt::DES_PP(3)
See also Crypt::DH(3)
See also Crypt::DSA(3)
See also Crypt::DSA::Key(3)
See also Crypt::DSA::Key::PEM(3)
See also Crypt::DSA::Key::SSH2(3)
See also Crypt::DSA::KeyChain(3)
See also Crypt::DSA::Signature(3)
See also Crypt::DSA::Util(3)
See also Crypt::ECB(3)
See also Crypt::GOST(3)
See also Crypt::OpenPGP(3)
See also Crypt::OpenPGP::Armour(3)
See also Crypt::OpenPGP::Buffer(3)
See also Crypt::OpenPGP::CFB(3)
See also Crypt::OpenPGP::Certificate(3)
See also Crypt::OpenPGP::Cipher(3)
See also Crypt::OpenPGP::Ciphertext(3)
See also Crypt::OpenPGP::Compressed(3)
See also Crypt::OpenPGP::Constants(3)
See also Crypt::OpenPGP::Digest(3)
See also Crypt::OpenPGP::ErrorHandler(3)
See also Crypt::OpenPGP::Key(3)
See also Crypt::OpenPGP::KeyBlock(3)
See also Crypt::OpenPGP::KeyRing(3)
See also Crypt::OpenPGP::KeyServer(3)
See also Crypt::OpenPGP::MDC(3)
See also Crypt::OpenPGP::Marker(3)
See also Crypt::OpenPGP::Message(3)
See also Crypt::OpenPGP::OnePassSig(3)
See also Crypt::OpenPGP::PacketFactory(3)
See also Crypt::OpenPGP::Plaintext(3)
See also Crypt::OpenPGP::S2k(3)
See also Crypt::OpenPGP::SKSessionKey(3)
See also Crypt::OpenPGP::SessionKey(3)
See also Crypt::OpenPGP::Signature(3)
See also Crypt::OpenPGP::Trust(3)
See also Crypt::OpenPGP::UserID(3)
See also Crypt::OpenPGP::Util(3)
See also Crypt::OpenPGP::Words(3)
See also Crypt::OpenSSL::Bignum(3)
See also Crypt::OpenSSL::Bignum::CTX(3)
See also Crypt::OpenSSL::DSA(3)
See also Crypt::OpenSSL::DSA::Signature(3)
See also Crypt::OpenSSL::RSA(3)
See also Crypt::OpenSSL::Random(3)
See also Crypt::Primes(3)
See also Crypt::RIPEMD160(3)
See also Crypt::RIPEMD160::MAC(3)
See also Crypt::RSA(3)
See also Crypt::RSA::DataFormat(3)
See also Crypt::RSA::Debug(3)
See also Crypt::RSA::ES::OAEP(3)
See also Crypt::RSA::ES::PKCS1v15(3)
See also Crypt::RSA::Errorhandler(3)
See also Crypt::RSA::Key(3)
See also Crypt::RSA::Key::Private(3)
See also Crypt::RSA::Key::Private::SSH(3)
See also Crypt::RSA::Key::Public(3)
See also Crypt::RSA::Key::Public::SSH(3)
See also Crypt::RSA::Primitives(3)
See also Crypt::RSA::SS::PKCS1v15(3)
See also Crypt::RSA::SS::PSS(3)
See also Crypt::Random(3)
See also Crypt::Rijndael(3)
See also Crypt::Rot13(3)
See also Crypt::SEAL2(3)
See also Crypt::SSLeay(3)
See also Crypt::Salt(3)
See also Crypt::SmbHash(3)
See also Crypt::TripleDES(3)
See also Crypt::Twofish(3)
See also Crypt::Twofish2(3)
See also Crypt::UnixCrypt(3)

Man(1) output converted with man2html