RC4序列密码

注意:该密码算法存在安全漏洞,建议不要使用。

#define RC4_MIN_KEY_BITS	40
#define RC4_STATE_NUM_WORDS	256

规定了RC4算法使用的最小密钥长度和算法中的状态数量。

typedef struct {
	unsigned char d[RC4_STATE_NUM_WORDS];
} RC4_STATE;

RC4算法状态结构由256个8比特数据组成。

void rc4_init(RC4_STATE *state, const uint8_t *key, size_t keylen);

rc4_init函数通过给定的密钥数组key(长度keylen)对RC4状态结构state进行初始化。

void rc4_generate_keystream(RC4_STATE *state, size_t outlen, uint8_t *out);

rc4_generate_keystream函数从当前的RC4状态结构state生成长度为outlen的密钥流并存放在out指向的数组中。