NAME
Crypt::Stream::Salsa20 - Stream cipher Salsa20
SYNOPSIS
# encrypt
$key
=
"1234567890123456"
;
$iv
=
"12345678"
;
$stream
= Crypt::Stream::Salsa20->new(
$key
,
$iv
);
$ct
=
$stream
->
crypt
(
"plain message"
);
# decrypt
$key
=
"1234567890123456"
;
$iv
=
"12345678"
;
$stream
= Crypt::Stream::Salsa20->new(
$key
,
$iv
);
$pt
=
$stream
->
crypt
(
$ct
);
DESCRIPTION
Provides an interface to the Salsa20 stream cipher.
METHODS
new
$stream
= Crypt::Stream::Salsa20->new(
$key
,
$iv
);
#or
$stream
= Crypt::Stream::Salsa20->new(
$key
,
$iv
,
$counter
,
$rounds
);
# $key .. 32 or 16 bytes
# $iv .. 8 bytes
# $counter .. initial counter value (DEFAULT: 0)
# $rounds .. rounds (DEFAULT: 20)
crypt
$ciphertext
=
$stream
->
crypt
(
$plaintext
);
#or
$plaintext
=
$stream
->
crypt
(
$ciphertext
);
keystream
$random_key
=
$stream
->keystream(
$length
);
clone
$stream
->clone();