RC4 - NSR@HEU 哈尔滨工程大学网络与信息安全研究团队
RC4算法的起源
RC4加密算法是大名鼎鼎的RSA三人组加密算法大名的
中头年
中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S box长度可
S-box
为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右。
倍左右
RC4算法的S盒
RC4是一个典型的序列密码,它以一个足够大是个典型的序列密它以个足够大
的数组为基础,对其进行非线性变换,产生非线性的密钥序列般把这个大数组称盒
性的密钥序列,一般把这个大数组称S盒。S盒的大小根据n的值变化,一般RC4算法可以生成总数为N=2n个元素的S盒。一般n=8,即N=256.RC4
盒般即
的每个输出都是数组S中的一个元素,要实现这些,需要两个过程,一个是设置S的初始序列,些需要两个过程个是设置的初始序列
称为密钥调度算法,另一个是用来选取随机元素的原始编列顺序称为随机生成算法
并修改S的原始编列顺序,称为随机生成算法。
RC4算法的基本原理
S-box长度和密钥长度均为为n。先来看看算法的初假设S b先来看看算法的初始化部分(用类C伪代码表示):
for(i=0;i<n;i++){
for (i=0; i<n; i++){
s[i]=i;
}
j=0;
(;;)
for (i=0; i<n; i++)
{
j=(j+s[i]+T[i])%256;
swap(s[i], s[j]);
}
RC4算法的基本原理
是临时建立的一个向量,如果种子密钥K的T[i]是临时建立的个向量如果种子密钥
长度为256字节,则将K赋给T,否则将K的值赋给T的钱(|K|/8 )个元素,并不断重复加载K的
/8)个元素并不断重复加载
值,直到T被填满。
在初始化的过程中,密钥的主要功能是将S-box 搅乱,i确保S-box的每个元素都得到处理,j保证搅乱S box的每个元素都得到处理
S-box的搅乱是随机的。而不同的S-box在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,并且,该序列是随机的:
RC4算法的基本原理i=j=0;
i j0
while (明文未结束)
(明未束)
{
++i%=n;
++i%=n;
j=(j+s[i])%n;
swap(s[i], s[j]);
sub_k s((s[i]+s[j])%n);
sub k=s((s[i]+s[j])%n);
}
练习
已知条件:n=3
条件
种子密钥为5、6、7计算:sub_k
RC4算法的小结
加密时将的值字密时?加密时,将k的值与明文字节异或;解密时,k的值与密文字节异或
将值字节异
?为了安全强度,目前的RC4至少使用128位密钥防止穷举攻击
密钥,防止穷举攻击
?RC4算法可以看成一个有限状态的自动机,S-box和i、j索引的具体取值为RC4的一个
状态:T(S
0,S
1
,S
2
……S255,i,j)
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




