RC4(2)                                                     RC4(2)

     NAME
          setupRC4state, rc4, rc4skip, rc4back  - alleged rc4
          encryption

     SYNOPSIS
          #include <u.h>
          #include <libc.h>
          #include <mp.h>
          #include <libsec.h>

          void setupRC4state(RC4state *s, uchar *seed, int slen)

          void rc4(RC4state *s, uchar *data, int dlen)

          void rc4skip(RC4state *s, int nbytes)

          void rc4back(RC4state *s, int nbytes)

     DESCRIPTION
          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 setupRC4state, can be any length.
          The generator can be run forward using rc4, skip over bytes
          using rc4skip to account lost transmissions, or run back-
          wards using rc4back to cover retransmitted data.  The
          RC4state structure keeps track of the algorithm.

     SOURCE
          /sys/src/libsec

     SEE ALSO
          mp(2), aes(2), blowfish(2), des(2), dsa(2), elgamal(2),
          rsa(2), sechash(2), prime(2), rand(2)