浅记RC4加密算法的过程(不含代码编写)
基本原理RC4属于对称密码算法中的流密码加密算法。密钥长度可变,面向字节操作。它以一个足够大的表S为基础,对表进行非线性变换,产生密钥流。
对称密码:加密与解密使用的是同一个密钥. 即明文和密钥异或生成密文,密文再和密钥异或可以还原明文.
流密码:逐个字节加密和它对应的就是块加密,也叫分组加密算法,例如DES加密算法
接下来我们来看看它是如何产生密钥流的呢?它以一个足够大的表S为基础,对表进行非线性变换,产生密钥流。
加密过程一、初始化S表Step1:对S表进行线性填充,一般为256个字节;Step2:用种子密钥填充另一个256字节的K表;如果长度不够,则循环填充.
Step3:用K表对S表进行初始置换。
二、密钥流的生成(为每个待加密的字节生成一个伪随机数,用来异或)
注:不同的密钥生成不同的S表,每一轮的表S都不同,表S一旦完成初始化,种子密钥就不再被使用。