Chinaunix首页 | 论坛 | 博客
  • 博客访问: 438634
  • 博文数量: 78
  • 博客积分: 2030
  • 博客等级: 大尉
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 15:25
文章分类

全部博文(78)

文章存档

2012年(1)

2011年(1)

2010年(4)

2009年(12)

2008年(60)

我的朋友

分类: LINUX

2009-09-09 22:02:12

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
下载: 下载
 
 
 
阅读(4632) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2010-07-26 20:41:08

简洁独到!!!!