# Crypt::DES_EDE3 - phpMan

## NAME
    [Crypt::DES_EDE3] - Triple-DES EDE 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-octet blocks. You might want to
    use the module in conjunction with *[Crypt::CBC]*, for example. 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).

## LICENSE
    [Crypt::DES_EDE3] is free software; you may redistribute it and/or modify
    it under the same terms as Perl itself.

AUTHOR & COPYRIGHTS
    [Crypt::DES_EDE3] is Copyright 2001 Benjamin Trott, <ben@rhumba.pair.com>.
    All rights reserved.

