WEP是802.11种使用的最简单的数据加密方法。学习WLAN这么长时间了,是时间分析一下它了。
WEP的基本思想是把明文数据一个一个字节的和随机字节流进行异或,就生成了密文。解密的过程就是把密文与相同的随机字节流再异或一下就可以了。这个随机字节流就是采用RC4算法产生的。
RC4这个东西其实是一种利用计算机生成随机字节流的方法,它的算法目前都是知道的。RC4分为两个阶段,密匙安装和伪随机数生成。基本上就是通过对s-box和k-box的数学运算产生的。sbox和kbox都是256字节的数组,kbox用密匙填满。WEP的密匙分为40bit(5字节)和104bit(13字节)两种。
大家在AP的设定中可以看到WEP密码分为长度一般都写64bit和128bit两种。为什么不是40和104呢?在WEP中还有一个IV(24bit)的东西,IV和用户密匙组合在一起就成为64bit和128bit了。为什么要设计这个IV呢?原因是为了避免相同的明文产生相同的密文。IV是变化的,在WEP数据包中明文传输的。
RC4算法在WLAN设备中是硬件实现的,因为很简单,没有乘法运算而且可靠性高。所以最初被选用在运算能力不强的WLAN MAC处理器上运行。
WEP作用于每一个MPDU,也就是说对每一个MPDU,RC4就要初始化一次sbox,IV是由软件生成的。MAC层驱动把IV和用户密匙组合后安装到RC4硬件,数据加解密就自动开始了。IV位于用户密匙的前面,举个例子,IV是0x6e6635,用户选择64bit密匙16进制数10位(1234567890)那么安装给RC4的密匙就应该表述成
unsigned char key[8] = {0x6e, 0x66, 0x35,0x12, 0x34, 0x56, 0x78, 0x90}
附件是一个软件RC4算法解密抓包抓到的WEP数据,RC4取自Jouni的hostapd。
文件: |
rc4-jouni.rar |
大小: |
5KB |
下载: |
下载 |
阅读(4710) | 评论(1) | 转发(1) |