Looks like the data must be padded to be mod 16bytes Here is I think where the error is coming from -- Crypt-Twofish2-0.06/Twofish2.xs: encrypt(self, data)
Crypt::Twofish2 self
SV * data
ALIAS:
decrypt = 1
CODE:
{
SV *res;
STRLEN size;
void *rawbytes = SvPV(data,size);
if (size)
{
if (size % (BLOCK_SIZE >> 3))
croak ("encrypt: datasize not multiple of blocksize (%
+d bits)", BLOCK_SIZE);
RETVAL = NEWSV (0, size);
SvPOK_only (RETVAL);
SvCUR_set (RETVAL, size);
if ((ix ? blockDecrypt : blockEncrypt)
(&self->ci, &self->ki, rawbytes, size << 3, (void
+*)SvPV_nolen(RETVAL)) < 0)
croak ("block(De|En)crypt: unknown error, please repor
+t");
}
else
RETVAL = newSVpv ("", 0);
}
OUTPUT:
RETVAL
|