NAME
Crypt::DES_EDE3 - DES-EDE3 encryption/decryption
SYNOPSIS
use Crypt::DES_EDE3;
my $ede3 = Crypt::DES_EDE3->new($key);
$ede3->encrypt($block);
DESCRIPTION
Crypt::DES_EDE3 implements DES-EDE3 encryption. This is triple-DES encryption where an encrypt operation is encrypt-decrypt-encrypt, and decrypt is decrypt-encrypt-decrypt. This implementation uses Crypt::DES to do its dirty DES work, and simply provides a wrapper around that module: setting up the individual DES ciphers, initializing the keys, and performing the encryption/decryption steps.
DES-EDE3 encryption requires a key size of 24 bytes.
You're probably best off not using this module directly, as the encrypt and decrypt methods expect 8-byte blocks. You might want to use the module in conjunction with Crypt::CBC, for example (or Convert::PEM::CBC, since it's part of that distribution). This would be DES-EDE3-CBC, or triple-DES in outer CBC mode.
USAGE
$ede3 = Crypt::DES_EDE3->new($key)
Creates a new Crypt::DES_EDE3 object (really, a collection of three DES ciphers), and initializes each cipher with part of $key, which should be at least 24 bytes. If it's longer than 24 bytes, the extra bytes will be ignored.
Returns the new object.
$ede3->encrypt($block)
Encrypts an 8-byte block of data $block using the three DES ciphers in an encrypt-decrypt-encrypt operation.
Returns the encrypted block.
$ede3->decrypt($block)
Decrypts an 8-byte block of data $block using the three DES ciphers in a decrypt-encrypt-decrypt operation.
Returns the decrypted block.
$ede3->blocksize
Returns the block size (8).
$ede3->keysize
Returns the key size (24).
AUTHOR & COPYRIGHTS
Benjamin Trott, ben@rhumba.pair.com
Except where otherwise noted, Crypt::DES_EDE3 is Copyright 2001 Benjamin Trott. All rights reserved. Crypt::DES_EDE3 is free software; you may redistribute it and/or modify it under the same terms as Perl itself.