NAME

Net::SSH::Perl::Cipher::Blowfish - Wrapper for SSH Blowfish support

SYNOPSIS

use Net::SSH::Perl::Cipher;
my $cipher = Net::SSH::Perl::Cipher->new('Blowfish', $key);
print $cipher->encrypt($plaintext);

DESCRIPTION

Net::SSH::Perl::Cipher::Blowfish provides Blowfish encryption support for Net::SSH::Perl. To do so it wraps around Crypt::Cipher::Blowfish from the CryptX module.

The blowfish used here is in CBC filter mode with a key length of 32 bytes.

SSH1 adds an extra wrinkle with respect to its blowfish algorithm: before and after encryption/decryption, we have to swap the bytes in the string to be encrypted/decrypted. The byte-swapping is done four bytes at a time, and within each of those four-byte blocks we reverse the bytes. So, for example, the string foobarba turns into boofabra. We swap the bytes in this manner in the string before we encrypt/decrypt it, and swap the encrypted/decrypted string again when we get it back.

This byte-swapping is not done when Blowfish is used in the SSH2 protocol.

AUTHOR & COPYRIGHTS

Please see the Net::SSH::Perl manpage for author, copyright, and license information.