ref: fc4bfd57d261e5c99c5d4367adf5c72e8c7e6496
dir: /sys/man/2/rc4/
.TH RC4 2 .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 /sys/src/libsec .SH SEE ALSO .IR mp (2), .IR aes (2), .IR blowfish (2), .IR des (2), .IR dsa (2), .IR elgamal (2), .IR rsa (2), .IR sechash (2), .IR prime (2), .IR rand (2)