Crypt-Spritz
view release on metacpan or search on metacpan
$another_cipher = $cipher->clone
Make an exact copy of the cipher state. This can be useful to cache
states for reuse later, for example, to avoid expensive key setups.
While there might be use cases for this feature, it makes a lot more
sense for "Crypt::Spritz::AEAD" and "Crypt::Spritz::AEAD::XOR", as
they allow you to specify the IV/nonce separately.
$constant_32 = $cipher->keysize
$constant_64 = $cipher->blocksize
These methods are provided for Crypt::CBC compatibility and simply
return 32 and 64, respectively.
Note that it is pointless to use Spritz with Crypt::CBC, as Spritz
is not a block cipher and already provides an appropriate mode.
THE Crypt::Spritz::Cipher CLASS
This class is pretty much the same as the "Crypt::Spritz::Cipher::XOR"
class, with two differences: first, it implements the "standard" Spritz
encryption algorithm, and second, while this variant is easier to
analyze mathematically, there is little else to recommend it for, as it
is slower, and requires lots of code duplication code.
So unless you need to be compatible with another implementation that
for reuse later, for example, to avoid expensive key setups.
While there might be use cases for this feature, it makes a lot more sense
for C<Crypt::Spritz::AEAD> and C<Crypt::Spritz::AEAD::XOR>, as they allow
you to specify the IV/nonce separately.
=item $constant_32 = $cipher->keysize
=item $constant_64 = $cipher->blocksize
These methods are provided for L<Crypt::CBC> compatibility and simply
return C<32> and C<64>, respectively.
Note that it is pointless to use Spritz with L<Crypt::CBC>, as Spritz is
not a block cipher and already provides an appropriate mode.
=back
=head2 THE Crypt::Spritz::Cipher CLASS
This class is pretty much the same as the C<Crypt::Spritz::Cipher::XOR>
class, with two differences: first, it implements the "standard" Spritz
encryption algorithm, and second, while this variant is easier to analyze
( run in 0.762 second using v1.01-cache-2.11-cpan-e1769b4cff6 )