Pure Perl implementation of the Twofish algorithm for encryption and decryption. This software utilizes the Twofish symmetric-key block cipher algorithm for secure data transmission.
The library supports a variety of Synopses, including use Crypt::Twofish_PP, which is used to initiate the cipher object. After that, a few simple methods can be used to encrypt and decrypt plaintext. For instance, $ciphertext = $cipher->encrypt ($key) will encrypt the plaintext passed as the $key parameter, while $plaintext = $cipher->decrypt ($ciphertext) will decrypt the ciphertext passed as the $ciphertext parameter.
Crypt::Twofish_PP also includes additional methods to retrieve the blocksize and keysize of the cipher. These can be accessed either from the object itself ($keysize = $cipher->keysize) or directly on the package ($keysize = Crypt::Twofish_PP->keysize).
The module is also compatible with the Crypt::CBC library, which is designed to provide a convenient interface for symmetric block encryption plus authentication. Configuring the cipher in CBC mode is extremely easy; one only needs to specify the cipher as 'Twofish_PP' or 'Twofish_PP::Key24' (or 'Twofish_PP::Key16')in the Crypt::CBC->new() function.
One point of note is that the Twofish algorithm supports a variable key length. It can use any of the following key lengths: 128, 192, or 256 bits. Being unpatented, it is available for free use under the license provided by the algorithm's developers at Counterpane Labs.
Furthermore, the fact that this implementation is written completely in Perl and does not require any additional libraries makes it tremendously versatile. I found that it ran smoothly and supported my needs across various platforms.
Overall, I found Crypt::Twofish_PP to be an excellent tool for encryption needs, and would recommend this library to users who are looking for a flexible and simple encryption tool.
Version 0.17: N/A