RC4密码(RC4 cipher),理学-计算机科学技术-信息安全-密码学-密码编码学-序列密码,一种可变密钥长度面向字节操作的流密码算法。在1987年由美国学者R.利维斯特(Ron Rivest)设计。RC4起初是商业机密,但在1994年9月,它的算法细节被公布在互联网上。因为RSA公司没有正式发布过该算法,所以RC4也被称为ARC4(Alleged RC4)。RC4采用分组密码中的S盒,具有很高的非线性度,因此对普通的线性分析和差分分析具有很高的免疫性。相较于基于线性移位寄存器的流密码算法,RC4的软件实现非常简单,只需要很少的代码,而且算法的效率非常高。RC4曾在许多协议中得到应用,例如WEP、WPA、SSL。RC4算法是二元加法流密码算法。算法的密钥为key,长度为keylength(典型长度为5~256字节)。RC4算法由两部分组成:①KSA(密钥调度算法)。由输入的随机密钥key生成一个混淆的数组S,S是一个内部状态长度为N(典型长度为256字节)的S盒。②PRGA(伪随机密钥序列生成算法)。PRGA基于KSA产生的S盒生成伪随机密钥流k。