脚本加解密

关注公众号 jb51net

关闭
首页 > 网络编程 > 脚本加解密 > RC4加密关键变量算法

RC4加密关键变量及算法特点原理详解

作者:青花鲤鱼

这篇文章主要为大家介绍了RC4加密关键变量及算法特点原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

什么是RC4

RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。RC4算法是一种在电子信息领域加密的技术手段,用于无线通信网络,是一种电子密码,只有经过授权的用户才能享受该服务。

RC4 流密码是使用最广泛的流密码之一,它通过算法一次一个字节地加密消息,简单并且操作速度快。 RC4是一种在电子信息领域加密的技术手段,用于无线通信网络,是一种电子密码,只有经过授权的用户才能享受该服务,使用 64 位或 128 位密钥大小。它通常用于安全套接层 (SSL)、传输层安全 (TLS) 等应用,也用于 IEEE 802.11 无线 LAN 标准。

RC4加密是一种典型的对称加密算法。

RC4算法特点

(1)、算法简洁易于软件实现,加密速度快,安全性比较高;

(2)、密钥长度可变,一般用256个字节。

RC4加密的几个关键变量

1、密钥流:RC4算法的关键是根据明文和密钥生成相应的密钥流,密钥流的长度和明文的长度是对应的,也就是说明文的长度是500字节,那么密钥流也是500字节。当然,加密生成的密文也是500字节,因为密文第i字节=明文第i字节^密钥流第i字节

2、状态向量S:长度为256,S[0],S[1].....S[255]。每个单元都是一个字节,算法运行的任何时候,S都包括0-255的8比特数的排列组合,只不过值的位置发生了变换;

3、临时向量T:长度也为256,每个单元也是一个字节。如果密钥的长度是256字节,就直接把密钥的值赋给T,否则,轮转地将密钥的每个字节赋给T;

4、密钥K:长度为1-256字节,注意密钥的长度keylen 与明文长度、密钥流的长度没有必然关系,通常密钥的长度取为16字节(128比特)。

RC4加密原理

1、初始化S和T

for i=0 to 255 do
   S[i] =i;
   T[i]=K[ imodkeylen ];

2、初始排列S

for i=0 to 255 do
   j= ( j+S[i]+T[i])mod256;
   swap(S[i],S[j]);

3、产生密钥流

for r=0 to len do  //r为明文长度,r字节
   i=(i+1) mod 256;
   j=(j+S[i])mod 256;
   swap(S[i],S[j]);
   t=(S[i]+S[j])mod 256;
   k[r]=S[t];

通过知道RC4加密的原理,可以根据具体情境写出加密或者解密的脚本

以上就是RC4加密关键变量及算法特点原理详解的详细内容,更多关于RC4加密关键变量算法的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文