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


Net-SSH-Perl documentation Contained in the Net-SSH-Perl distribution.

Index


Code Index:

NAME

Top

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

SYNOPSIS

Top

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

DESCRIPTION

Top

Net::SSH::Perl::Cipher::DES provides DES encryption support for Net::SSH::Perl. To do so it wraps around 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.

AUTHOR & COPYRIGHTS

Top

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


Net-SSH-Perl documentation Contained in the Net-SSH-Perl distribution.

# $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__