.TH RC4 3
.SH NAME
setupRC4state, rc4, rc4skip, rc4back  - alleged rc4 encryption
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.br
.B #include <mp.h>
.br
.B #include <libsec.h>
.PP
.B
void	setupRC4state(RC4state *s, uchar *seed, int slen)
.PP
.B
void	rc4(RC4state *s, uchar *data, int dlen)
.PP
.B
void	rc4skip(RC4state *s, int nbytes)
.PP
.B
void	rc4back(RC4state *s, int nbytes)
.SH DESCRIPTION
.PP
This is an algorithm alleged to be Rivest's RC4 encryption function.  It is
a pseudo-random number generator with a 256 byte state and a long
cycle.  The input buffer is XOR'd with the output of the
generator both to encrypt and to decrypt.  The seed, entered
using
.IR setupRC4state ,
can be any length.  The generator can be run forward using
.IR rc4 ,
skip over bytes using
.I rc4skip 
to account lost transmissions,
or run backwards using
.I rc4back
to cover retransmitted data.
The
.I RC4state
structure keeps track of the algorithm.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR des (3),
.IR dsa (3),
.IR elgamal (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
