# $Id: DES.pm,v 1.7 2001/05/02 21:59:33 btrott Exp $
package Net::SSH::Perl::Cipher::DES;
use strict;
use Net::SSH::Perl::Cipher;
use base qw( Net::SSH::Perl::Cipher );
use Net::SSH::Perl::Cipher::CBC;
use Crypt::DES;
sub new {
my $class = shift;
my $ciph = bless { }, $class;
$ciph->init(@_) if @_;
$ciph;
}
sub init {
my $ciph = shift;
my($key, $iv) = @_;
my $des = Crypt::DES->new(substr $key, 0, 8);
$ciph->{cbc} = Net::SSH::Perl::Cipher::CBC->new($des, $iv);
}
sub encrypt {
my($ciph, $text) = @_;
$ciph->{cbc}->encrypt($text);
}
sub decrypt {
my($ciph, $text) = @_;
$ciph->{cbc}->decrypt($text);
}
1;
__END__
=head1 NAME
Net::SSH::Perl::Cipher::DES - Wrapper for SSH DES support
=head1 SYNOPSIS
use Net::SSH::Perl::Cipher;
my $cipher = Net::SSH::Perl::Cipher->new('DES', $key);
print $cipher->encrypt($plaintext);
=head1 DESCRIPTION
I<Net::SSH::Perl::Cipher::DES> provides DES encryption
support for I<Net::SSH::Perl>. To do so it wraps around
I<Crypt::DES>, a C/XS implementation of the DES algorithm.
The DES algorithm used here is in CBC filter mode with a
key length of 8 bytes.
=head1 AUTHOR & COPYRIGHTS
Please see the Net::SSH::Perl manpage for author, copyright,
and license information.
=cut