chiark / gitweb /
Add fill for encryption schemes.
[catacomb-perl] / Catacomb / Crypto.pm
index c4e886d2f1f25b0aadce4a74ad18fdb05a6feb2b..85c7a3cf78b064b080f0a87a8cdfad192d34475a 100644 (file)
@@ -78,6 +78,19 @@ sub encrypt {
   return $c->encrypt($p);
 }
 
+sub fill {
+  croak("Usage: Catacomb::CipherClass::fill(cc, k, [iv], len)")
+    if @_ < 3 || @_ > 4;
+  my ($cc, $k, $iv, $len) = @_;
+  if (@_ == 3) {
+    $len = $iv;
+    $iv = undef;
+  }
+  my $c = $cc->init($k);
+  $c->setiv($iv) if defined($iv);
+  return $c->fill($len);
+}
+
 sub decrypt {
   croak("Usage: Catacomb::CipherClass::decrypt(cc, k, [iv], cipher)")
     if @_ < 3 || @_ > 4;
@@ -91,6 +104,19 @@ sub decrypt {
   return $c->decrypt($p);
 }
 
+sub filldecrypt {
+  croak("Usage: Catacomb::CipherClass::filldecrypt(cc, k, [iv], len)")
+    if @_ < 3 || @_ > 4;
+  my ($cc, $k, $iv, $len) = @_;
+  if (@_ == 3) {
+    $len = $iv;
+    $iv = undef;
+  }
+  my $c = $cc->init($k);
+  $c->setiv($iv) if defined($iv);
+  return $c->filldecrypt($len);
+}
+
 package Catacomb::HashClass;
 use Carp;