RC4算法


RC4加密算法

一、算法介绍

  • RC4加密算法时Ron Rivest于1987年设计出的可变密钥长度的加密算法簇。该算法起初时商业机密,后来由未知神秘人在某处公开,各企业便开始应用,这也宣告着RC4加密算法的公之于众。

  • RC4算法属于对称加密算法中的序列加密或称流加密算法。它是面向字节操作的序列密码,一次对一个字节进行处理,以一个足够大的数据表为基础,对表进行非线性变换,从而产生非线性的序列密钥。

二、RC4算法相关变量

  1. 密钥流:RC4算法根据明文和密钥生成相应的密钥流,密钥流的长度和铭文的长度是对应的。

  2. 状态向量S:长度为256,每个单元都是一个字节。算法运行的任何时候,S的值都是0-255的8比特数的排列组合。

  3. 临时向量T:长度为256,每个单元都是一个字节。若密钥的长度为256字节,则将密钥的值赋给T;否则轮转地将密钥的每个字节赋给T。

  4. 密钥K:长度为1-256字节,其长度keylen与明文长度和密钥流的长度无必然联系,通常取16字节即128比特。

三、KSA和PRGA

  • RC4加密算法由KSA(Key Scheduling Algorithm)即密钥调度算法和PRGA(Pseudo-Random Generation-Algorithm)即伪随机密钥序列生成算法组成

1.密钥调度算法KSA


文章作者: Moyon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Moyon !
评论
  目录