Matthew Byng-Maddick > Crypt-Blowfish_PP-1.12 > Crypt::Blowfish_PP

Download:
Crypt-Blowfish_PP-1.12.tar.gz

Dependencies

Annotate this POD

Related Modules

Crypt::Blowfish
Crypt::CBC
XML::Parser
Net::SFTP
Crypt::OpenPGP
XML::Twig
Net::SSH
Net::SSH::Perl
Crypt::TEA
IPC::Open3
more...
By perlmonks.org
View/Report Bugs
Module Version: 1.12   Source  

NAME ^

Crypt::Blowfish_PP - Blowfish encryption algorithm implemented purely in Perl

SYNOPSIS ^

use Crypt::Blowfish_PP;

$blowfish=new Crypt::Blowfish_PP($key);

$ciphertextBlock=$blowfish->encrypt($plaintextBlock);

$plaintextBlock=$blowfish->decrypt($ciphertextBlock);

DESCRIPTION ^

The Crypt::Blowfish_PP module provides for users to use the Blowfish encryption algorithm in perl. The implementation is entirely Object Oriented, as there is quite a lot of context inherent in making blowfish as fast as it is. The key is anywhere between 64 and 448 bits (8 and 56 bytes), and should be passed as a packed string. The transformation itself is a 16-round Feistel Network, and operates on a 64 bit block.

Object methods for the Crypt::Blowfish_PP module:

new(key)

The new() method initialises a blowfish object with the key that is passed. This is the slow part of doing a blowfish encryption or decryption, as it initialises the 18 p-boxes and the 1024 s-boxes that are used for the algorithm. It will return undef if the key is not of a valid length.

encrypt(block)

The encrypt() method uses the initialised blowfish object to encrypt 8 bytes of data of the string passed to it. It returns the encrypted block.

decrypt(block)

The decrypt() method uses the initialised blowfish object to decrypt 8 bytes of data of the string passed to it. It returns the decrypted block.

COMMENTS ^

This is probably crap software, but hey, its for general use. I'm happy to patch it with other people's code... :)

If you want speed, then see the Crypt::Blowfish module.

AUTHOR ^

Matthew Byng-Maddick <mbm@colondot.net>

SEE ALSO ^

http://www.counterpane.com/,Crypt::CBC

syntax highlighting: