table of contents
Twofish(3pm) | User Contributed Perl Documentation | 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@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.
2024-10-15 | perl v5.40.0 |