Blame


1 cfa37a7b 2004-04-10 devnull .TH RC4 3
2 cfa37a7b 2004-04-10 devnull .SH NAME
3 cfa37a7b 2004-04-10 devnull setupRC4state, rc4, rc4skip, rc4back - alleged rc4 encryption
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
6 cfa37a7b 2004-04-10 devnull .br
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
8 cfa37a7b 2004-04-10 devnull .br
9 cfa37a7b 2004-04-10 devnull .B #include <mp.h>
10 cfa37a7b 2004-04-10 devnull .br
11 cfa37a7b 2004-04-10 devnull .B #include <libsec.h>
12 cfa37a7b 2004-04-10 devnull .PP
13 cfa37a7b 2004-04-10 devnull .B
14 cfa37a7b 2004-04-10 devnull void setupRC4state(RC4state *s, uchar *seed, int slen)
15 cfa37a7b 2004-04-10 devnull .PP
16 cfa37a7b 2004-04-10 devnull .B
17 cfa37a7b 2004-04-10 devnull void rc4(RC4state *s, uchar *data, int dlen)
18 cfa37a7b 2004-04-10 devnull .PP
19 cfa37a7b 2004-04-10 devnull .B
20 cfa37a7b 2004-04-10 devnull void rc4skip(RC4state *s, int nbytes)
21 cfa37a7b 2004-04-10 devnull .PP
22 cfa37a7b 2004-04-10 devnull .B
23 cfa37a7b 2004-04-10 devnull void rc4back(RC4state *s, int nbytes)
24 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
25 cfa37a7b 2004-04-10 devnull .PP
26 cfa37a7b 2004-04-10 devnull This is an algorithm alleged to be Rivest's RC4 encryption function. It is
27 cfa37a7b 2004-04-10 devnull a pseudo-random number generator with a 256 byte state and a long
28 cfa37a7b 2004-04-10 devnull cycle. The input buffer is XOR'd with the output of the
29 cfa37a7b 2004-04-10 devnull generator both to encrypt and to decrypt. The seed, entered
30 cfa37a7b 2004-04-10 devnull using
31 cfa37a7b 2004-04-10 devnull .IR setupRC4state ,
32 cfa37a7b 2004-04-10 devnull can be any length. The generator can be run forward using
33 cfa37a7b 2004-04-10 devnull .IR rc4 ,
34 cfa37a7b 2004-04-10 devnull skip over bytes using
35 cfa37a7b 2004-04-10 devnull .I rc4skip
36 cfa37a7b 2004-04-10 devnull to account lost transmissions,
37 cfa37a7b 2004-04-10 devnull or run backwards using
38 cfa37a7b 2004-04-10 devnull .I rc4back
39 cfa37a7b 2004-04-10 devnull to cover retransmitted data.
40 cfa37a7b 2004-04-10 devnull The
41 cfa37a7b 2004-04-10 devnull .I RC4state
42 cfa37a7b 2004-04-10 devnull structure keeps track of the algorithm.
43 cfa37a7b 2004-04-10 devnull .SH SOURCE
44 c3674de4 2005-01-11 devnull .B \*9/src/libsec
45 cfa37a7b 2004-04-10 devnull .SH SEE ALSO
46 bf8a59fa 2004-04-11 devnull .IR mp (3),
47 bf8a59fa 2004-04-11 devnull .IR aes (3),
48 bf8a59fa 2004-04-11 devnull .IR blowfish (3),
49 bf8a59fa 2004-04-11 devnull .IR des (3),
50 bf8a59fa 2004-04-11 devnull .IR dsa (3),
51 bf8a59fa 2004-04-11 devnull .IR elgamal (3),
52 bf8a59fa 2004-04-11 devnull .IR rsa (3),
53 bf8a59fa 2004-04-11 devnull .IR sechash (3),
54 bf8a59fa 2004-04-11 devnull .IR prime (3),
55 bf8a59fa 2004-04-11 devnull .IR rand (3)