This note reconsiders the design of the stream cipher
RC4, and proposes an improved variant, which we
call “Spritz” (since the output comes in fine drops
rather than big blocks.)
Our work leverages the considerable cryptanalytic
work done on the original RC4 and its proposed variants.
It also uses simulations extensively to search
for biases and to guide the selection of intermediate
expressions.
We estimate that Spritz can produce output with
about 24 cycles/byte of computation. Furthermore,
our statistical tests suggest that about 281 bytes of
output are needed before one can reasonably
distinguish Spritz output from random output; this is a
marked improvement over RC4.
In addition, we formulate Spritz as a “sponge (or
sponge-like) function,”[5], which can Absorb new
data at any time, and from which one can Squeeze
pseudorandom output sequences of arbitrary length.
Spritz can thus btographic hash function, an encryption algorithm, or
a message-authentication code generator. (However,
in hash-function mode, Spritz is rather slow.)
more here.............http://people.csail.mit.edu/rivest/pubs/RS14.pdf
RC4, and proposes an improved variant, which we
call “Spritz” (since the output comes in fine drops
rather than big blocks.)
Our work leverages the considerable cryptanalytic
work done on the original RC4 and its proposed variants.
It also uses simulations extensively to search
for biases and to guide the selection of intermediate
expressions.
We estimate that Spritz can produce output with
about 24 cycles/byte of computation. Furthermore,
our statistical tests suggest that about 281 bytes of
output are needed before one can reasonably
distinguish Spritz output from random output; this is a
marked improvement over RC4.
In addition, we formulate Spritz as a “sponge (or
sponge-like) function,”[5], which can Absorb new
data at any time, and from which one can Squeeze
pseudorandom output sequences of arbitrary length.
Spritz can thus btographic hash function, an encryption algorithm, or
a message-authentication code generator. (However,
in hash-function mode, Spritz is rather slow.)
more here.............http://people.csail.mit.edu/rivest/pubs/RS14.pdf