前言

密码学是很重要的一门学科,也是很复杂得学科,但同样是撑起信息安全的伟大学科。不管是在哪个方向,只要与信息有关,都会涉及到密码学。在二进制中会分析大量的加密算法,在web分析中也纯在很多加密方式,今天我就用通俗的语言来分析从浅入深的分析RC4加密算法,并且涉及到其实战中的算法分析。让我们在二进制分析中更加游刃有余。

什么是RC4加密算法?

对这种算法的描述有很多,曾经作为商业密码未被公开过,不过现在这种加密已经成为历史。但是其中很优秀的加密思想依然值得我们学习,除此之外,改良这种算法并加以利用依然很受欢迎。
RC4加密算法是一种对称加密算法。所谓对称加密算法,说得直白一点,就是加密与解密的过程一模一样。假设定义RC4的运算过程是rc4(key,data),那么,密文=rc4(key,明文),明文=rc4(key,密文)。这种对称性就是基于秘钥流的加密算法的特征之一,RC4本质上就是一种秘钥流生成算法。其特点就是简单、运行效率高,不会占用过多的CPU,因此常用在很多旧无线网卡的WEP加密。
用一张简图来阐明一下RC4加密的流程:

如何理解这张图——加密原理

KSA算法初始化长度为 256 的 S 盒。第一个 for 循环将 0 到 255 的互不重复的元素装入 S 盒;第二个 for 循环根据密钥打乱 S 盒。

PRGA(Pseudo-random generation algorithm)算法根据 S 盒生成与明文长度相同的秘钥流,使用秘钥流加密明文。

点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖