[发明专利]实现RC4加/解密的装置及其方法有效
申请号: | 201110097917.4 | 申请日: | 2011-04-19 |
公开(公告)号: | CN102752107A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 尉志伟;马洪亮;吴斌;程鹏;杨坤;周玉梅 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | H04L9/18 | 分类号: | H04L9/18 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 王建国 |
地址: | 100029 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 rc4 解密 装置 及其 方法 | ||
技术领域
本发明涉及无线局域网(WLAN:Wireless Local Area Network)领域中媒体访问层(MAC:Medium Access Control)的设计及实现技术领域,尤其涉及一种高吞吐率、低延迟的RC4加/解密的装置及其方法。
背景技术
无线局域网正以惊人的速度日益普及并深入到日常生活和工作的各个领域。在当今信息爆炸的时代,高的数据传输速率是其发展的一个重要方向。2009年通过的IEEE 802.11n标准的最高吞吐率达到600Mbps以上,目前吞吐率超过1Gbps的IEEE 802.11ac标准也已在起草中。
无线网络是开放的网络,任何人都可以监听通信的过程,因此其安全性尤为重要。IEEE 802.11i标准详细规定了无线局域网的安全方案,包括TKIP和CCMP两种安全协议。TKIP是对最初的WEP安全协议的升级,使用RC4算法进行数据的加/解密。RC4是一种分组对称加密算法,具有安全性高、实现简单等优点,广泛应用于无线网络安全中。RC4加密的基本思想是,生成一个叫密钥流的伪随机序列字节流,然后与明文数据相异或,生成密文。解密算法与加密算法一致,使用相同的密钥流与密文异或得到明文。RC4加密算法关键在于生成伪随机的密钥流。
RC4实际上包含两个算法:一个是密钥调度算法(Key Scheduling Algorithm),它是将RC4加密密钥(64位或128位)按一定算法与S盒中的初始状态S{0,1,□,N-1}运算,得到新的置乱后的状态序列。具体说,这个算法的步骤是:
1)建立一个1字节×256的阵列,称为S-BOX,先用0-255按顺序依次填充S-BOX。然后再建立一个1字节×256的阵列,叫做K-BOX,用RC4加密密钥(64位或128位)顺序填充K-BOX,密钥用完后重复使用直到填满为止。
2)将S-BOX中的每个字节依次(从第1个字节开始)与S-BOX中的另外一个字节(该字节的地址由特定算法给出)互换,完成S-BOX的初始化。密钥调度算法的伪代码描述如下,其中,S[i]是S-BOX中第i个单元的值,S[j]是S-BOX中第j个单元的值:
另一个算法是伪随机序列产生算法(Pseudo-Random Generation Algorithm),是利用上一步产生的打乱后的S-BOX来产生一个伪随机序列,使用该随机序列加/解密数据。算法的伪代码描述如下,其中Z[i]即为生成的密钥流:
在算法的硬件实现中,每次S-BOX交换都要进行两次读操作与两次写操作,如何提高S-BOX交换效率成为提高加密吞吐率的关键因素。在传统的实现方式中[1][2],通常需要3个时钟周期完成一次S-BOX交换操作。在文献[3]中,使用一块256×8的双端口RAM作为S-BOX存储,在RAM两端口采用相位相反的时钟,实现了两个时钟周期完成一次交换。但是由于这种实现方法需要两个不同的时钟,在逻辑综合时需要将两个不同的时钟分别作用的逻辑施加不同的约束。另外,该实现方法对两个时钟的相位有着较为严格的要求,如果时钟出现偏差,将导致更新失效。
算法实现时的另外一个问题是,S-BOX初始化需要较长的时间,而在初始化完成之后,才能够开始产生密钥流。在传统设计中,顺序处理KSA和PRNA过程,这样势必会造成加密帧流相对明文帧流有一个较大的延迟,同时也会减小加密引擎的吞吐率。在WLAN中,进行加密过程时,发送站点能够知道下一个数据包的计数序号,并能够通过该序号以及给定的密钥计算出用于下一个数据包加密的密钥;而在解密过程中,接收站点从一个发送站点接收连续的数据包,在接收到扩展的MAC头部分之后,能够得知帧序号,将该帧序号加1可以推断出下一个要接收数据包的解密密钥。因此,在接收到扩展的MAC头之后,就可以开始下一个要接收的数据包的密钥初始化。通过这种预处理下一个数据包的密钥的方式,可以减少因为密钥预处理过程而引起的延迟,同时提高数据包吞吐率。
发明内容
本发明目的之一在于提供一种适用于1Gbps高速无线局域网MAC控制器的RC4加/解密装置及其方法。
根据本发明的一个方面,提供实现RC4加/解密的装置包括:
第一密钥盒子、第二密钥盒子,及构成数据流乒乓结构的第一密钥调度控制单元、第二密钥调度控制单元、第一S-BOX存储器、第二S-BOX存储器、第三S-BOX存储器、第一伪随机序列产生控制单元、第二伪随机序列产生控制单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110097917.4/2.html,转载请声明来源钻瓜专利网。