Twofish(3pm)
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@wiw.org>
Copyright 2001 Abhijit Menon-Sen. All rights reserved.
- This software is distributed under the terms of the Artistic License
<URL:http://ams.wiw.org/code/artistic.txt>.