Codebase list libcrypt-twofish-perl / HEAD
HEAD

Tree @HEAD (Download .tar.gz)

NAME
    Crypt::Twofish - The Twofish Encryption Algorithm

SYNOPSIS
    use Crypt::Twofish;

    $cipher = Crypt::Twofish->new($key);

    $ciphertext = $cipher->encrypt($plaintext);

    $plaintext = $cipher->decrypt($ciphertext);

DESCRIPTION
    Twofish is a 128-bit symmetric block cipher with a variable
    length (128, 192, or 256-bit) key, developed by Counterpane
    Labs. It is unpatented and free for all uses, as described at
    <URL:http://www.counterpane.com/twofish.html>.

    This module implements Twofish encryption. It supports the
    Crypt::CBC interface, with the functions described below. It also
    provides an interface that is call- compatible with Crypt::Twofish
    1.0, but its use in new code is strongly discouraged.

  Functions

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

    keysize
        Returns the size (in bytes) of the key. Although the module
        understands 128, 192, and 256-bit keys, it returns 16 for
        compatibility with Crypt::CBC.

    new($key)
        This creates a new Crypt::Twofish object with the specified
        key (which should be 16, 24, or 32 bytes long).

    encrypt($data)
        Encrypts blocksize() bytes of $data and returns the
        corresponding ciphertext.

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

SEE ALSO
    Crypt::CBC, Crypt::Blowfish, Crypt::TEA

ACKNOWLEDGEMENTS
    Nishant Kakani
        For writing Crypt::Twofish 1.0 (this version is a complete
        rewrite).

    Tony Cook
        For making the module work under Activeperl, testing on
        several platforms, and suggesting that I probe for features
        via %Config.

AUTHOR
    Abhijit Menon-Sen <ams@toroid.org>

    Copyright 2001 Abhijit Menon-Sen.

    This module is free software; you can redistribute it and/or modify
    it under the same terms as Perl itself.