#!/usr/bin/perl -w use Crypt::ECB; my @ciphers = ( 'Blowfish', 'Blowfish_PP', 'Camellia', 'Camellia_PP', 'CAST5', 'CAST5_PP', 'DES', 'DES_PP', 'IDEA', 'Rijndael', 'Rijndael_PP', 'Twofish2', ); print "1..", $#ciphers+1, "\n"; my ($crypt, $cipher, $ks, $len, $nok, $enc, $dec, $test); my $text = "0"; my $key = "This is an at least 56 Byte long test key!!! It really is."; $crypt = Crypt::ECB->new; $crypt->padding(PADDING_AUTO); foreach $cipher (@ciphers) { unless ($crypt->cipher($cipher)) { print "ok ".(++$test)." # skip, $cipher not installed\n"; next; } $ks = ($crypt->{Keysize} or 8); $crypt->key(substr($key,0,$ks)); $nok = 0; $enc = $crypt->encrypt($text); $nok++ unless $crypt->decrypt($enc) eq $text; print "not " if $nok; print "ok ".(++$test)."\n"; }