These functions implement the stream encryption algorithm that is claimed to
be equivalent to RSA Security's RC4.
It is a pseudo-random number generator with a 256
byte state and a long cycle.
**Rc4setup
**
sets the initial
*seed*,
which can be any non-zero length, and
returns a representation of the initial state of the algorithm,
which is used in subsequent calls.

**Rc4
**
runs the generator starting with the given
*state*,
and XORs the output of the generator with
the first
*n
*
bytes of
*buf*,
updating the
*state*.
**Rc4
**
is symmetric and is used both to encrypt and decrypt.
**Rc4skip
**
skips over bytes (eg, to account for lost transmissions);
**rc4back
**
runs the generator backwards (eg, to account for retransmissions).