index 483d3d1bf29ab8237ca38e208f5e884b2b23126f..b1e118f0e258fe82824f761c1cc33bf5d6ff5fca 100755 (executable)
use Time::HiRes qw( gettimeofday );
use IO::Socket::INET;
use Time::HiRes qw( gettimeofday );
use IO::Socket::INET;
-use Crypt::Rijndael;
+use Crypt::CBC;
+use Digest::MD5 qw(md5 md5_hex md5_base64);
use XML::Simple;
use Data::Dumper;
use Sys::Syslog qw( :DEFAULT setlogsock);
use XML::Simple;
use Data::Dumper;
use Sys::Syslog qw( :DEFAULT setlogsock);
sub create_ciphering {
my ($passwd) = @_;
$passwd = substr("$passwd" x 32, 0, 32);
sub create_ciphering {
my ($passwd) = @_;
$passwd = substr("$passwd" x 32, 0, 32);
- my $my_cipher = Crypt::Rijndael->new($passwd , Crypt::Rijndael::MODE_CBC );
+ daemon_log("create_ciphering: new passwd: $passwd", 7);
+
+ my $iv = substr(md5_hex('GONICUS GmbH'),0, 16);
+
+ my $my_cipher = Crypt::CBC->new(-key=>$passwd ,
+ -cipher => 'Rijndael',
+ -iv => $iv,
+ -header => "none",
+ );
return $my_cipher;
}
return $my_cipher;
}
#===============================================================================
sub encrypt_msg {
my ($msg, $my_cipher) = @_;
#===============================================================================
sub encrypt_msg {
my ($msg, $my_cipher) = @_;
- $msg =~ s/[\n]+//g;
- my $msg_length = length($msg);
- my $multiplier = int($msg_length / 16) + 1;
- my $extension = 16*$multiplier - $msg_length;
- $msg = "0"x$extension.$msg;
+ if(not defined $my_cipher) { print "no cipher object\n"; }
+
my $crypted_msg = $my_cipher->encrypt($msg);
my $crypted_msg = $my_cipher->encrypt($msg);
- #my $crypted_msg = $msg;
+
return $crypted_msg;
}
return $crypted_msg;
}
# DESCRIPTION: decrypts the incoming message with the Crypt::Rijndael module
#===============================================================================
sub decrypt_msg {
# DESCRIPTION: decrypts the incoming message with the Crypt::Rijndael module
#===============================================================================
sub decrypt_msg {
- my ($crypted_msg, $my_cipher) =@_;
- my $len = length $crypted_msg;
- my $msg = $my_cipher->decrypt($crypted_msg);
- $msg =~ s/^0*//g;
+ my ($crypted_msg, $my_cipher) = @_ ;
+ my $msg = $my_cipher->decrypt($crypted_msg);
return $msg;
}
return $msg;
}