RC4(CTFshow re2)

基本原理

RC4属于对称密码算法中的流密码加密算法
什么是对称密码?
使用同一个密钥进行加密和解密
什么是流密码?
一个字节一个字节的进行加密/解密
RC4密钥长度是可以变的,面向字节操作
它以一个足够大的表s为基础
对表进行非线性变换,产生密钥流
什么是非线性?
可以这么理解
x变量经过一个函数到y
是否是线性变换,取决于这个函数,直观的可以看x,y图
非线性变换一定比线性变换更难以找到方式破解的

加密过程

一、初始化s表

  1. 对s表进行线性填充,一般为256个字节
  2. 用种子密钥填充另一个256字节的K表
  3. 用K表对S表进行初始置换

S表:
s[0]=0
s[1]=1

s[255]=255

K表:
例如种子密钥为1234,只有4个数
那么使用循环将K表填满
就是
123412341234…

K表对S表进行置换
在这里插入图片描述

二、密钥流的生成(为每个待加密的字节生成一个伪随机数,用来异或)
注:表s一旦完成初始化,种子密钥就不再被使用
在这里插入图片描述
看完到这里再去看CTFshow re2

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Back~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值