RC4算法加密

一:基本原理

RC4加密算法属于对称密码(加密和解密使用同一个密钥)加密中的流密码(逐字节加密),其特点是密匙长度可变,面向字节操作

它以一个足够大的表S为基础,对表进行非线性变换,产生密匙流

明文  异或   密钥=》密文

密文  异或   密钥=》明文

二:加密过程:

一:初始化s表

  1. 1.对s表进行线性填充,一般为256个字节(即1~256)

  1. 用种子密钥(一般比较短,当种子密钥长度小于256时循环使用(例如:4,5,6,4,5,6......),直到K表被填充完)填充另一个256字节的k表;

  1. 用k表对s表进行初始置换

RC4算法加密_第1张图片

二,密钥流的生成(为每个待加密的字节生成一个伪随机数值,用来异或(从s中找,表s一旦完成初始化,种子密钥就不再使用)

RC4算法加密_第2张图片

把明文data[]与密钥流K[]逐个异或即可得到最后的密文

你可能感兴趣的:(网络安全,安全)