mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
55 lines
1.1 KiB
Groff
55 lines
1.1 KiB
Groff
.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)
|