第33卷
L33
第22期
No 22
计算机工程
Computer Engineering
2007年l1月
November 2OO7
・安全技术・ 文章■号。1 78—o3 文■标识码l A 中圈分类号l TP309
一种基于BENES网络的可重构比特置换系统设计
向糖,囊紫彬,徐劲橙
(解放军信息工程大学电子技术学院,郑州450004)
摘要:采用ATM交换机中的BENES网络,提出了一种简洁正确的寻径算法,在可重构密码芯片上实现比特置换功能单元,能够完成Ⅳ,
种Ⅳ到Ⅳ的任意比特置换。该方法可以支持新的密码算法,加速分组密码,减少资源占用。
关t讨:比特置换;BENES网络;可重构
Reconfigurable System for Bit Permutation
Based on BENES Network
XIANG Nan,DAI Zi-bin,XU Jin・song
rInstitute of Electronic Technology,PLA Information Engineering University,Zhengzhou 450004)
[Abstract]This paper proposes a new way ofefficiently doing arbitrary N-bit permutations in reconfigurable cryptographic chip with very efficient
hardware implementation.The new method is based on the BENES multistage interconnection network which is widely used in ATM switcher.An
accurate and compact sorting routing algorithm is also described.This method can support new crypt algorithm,speed up execution,and reduce
resource consumption.
[Key wordsl bit permutation;BENES network;reconfigurable
1概述
无论是密码学还是计算机体系结构方面,比特置换都是
重要而有意义的。从密码学的角度来说,比特置换提供了字
节操作所无法实现的混乱扩散等功能。置换作为扩散的首要
手段,在密码算法中得到了广泛应用。从计算机体系结构的
角度来说,随着多媒体和信息安全技术的发展,快速比特置
换将成为面向字节的处理器的一个重要发展方向…。
本文主要介绍在可重构密码芯片中设计构造置换单元。
根据重构元素的最大适应性原则,一个NxN的置换单元应该
实现Ⅳ输入、Ⅳ输出的所有的选择变换,即NxN置换单元的
Ⅳ个输出中的任何一个能够选择Ⅳ个输入中的任何一个。按
照该原则设计的可重构比特置换单元所需要的可控编码的宽
度和它所能实现的选择变换的个数可由下述定理描述:
定理对于Ⅳ比特置换,需要从Ⅳ!的结果空间中挑选
出一个作为结果,因此至少需要log2(Ⅳ!)比特作为置换操作
指定。可以证明:Ⅳ!=0(Mv),log2(Ⅳ!)=O[Nlog2N] 。这
意味着用于指定一个置换的比特数是Nlog2N。设一个NxN
置换单元能够实现其输入到输出的所有选择变换,即其Ⅳ个
输出中的任何一个能够选择Ⅳ个输入中的任何一个,则该置
换单元需要Mog:N位可控编码,它能够实现的选择变换的个
数为 ,即Ⅳ个Ⅳ选1,见表1。
表1一些常用分组密码算法涉及的比特置换
一l78一
由于发现交换网络和密码学中的置换网络功能非常相
似,本文借鉴通信交换网络及其路由算法方面的研究方法和
成果,来进行密码学中比特置换单元的构造,在可重构密码
芯片中实现任意的比特置换操作。
2 BENES网络结构
随着通信技术和计算机技术的迅速发展,特别是www
和多媒体业务的爆炸式增长、Internet的数据流量急剧增加,
对交换网络的研究也日益深入,出现了BENES、CLOS、
BUTTERFLY、BANYAN等形式的交换网络”j。许多互联网
络被用于解决众多领域的交换排序问题。这些网络为了适应
不同的应用需求,具有各自不同的性质。由于交换网络和密
码学中的置换网络功能非常相似,笔者借鉴通信交换网络方
面的研究方法和系统架构来实现密码学中的比特置换,期望
找到一种合适密码算法中比特置换的网络。对于NxN的任意
比特置换,这种网络的硬件实现要比文献【4】中用Ⅳ个Ⅳ选1
的交叉开关实现节省面积。
根据互联交换网络的阻塞特点,一般将其分为无阻塞型、
广义无阻塞型、可重排无阻塞型 。绝对无阻塞型的互联网
络是最为理想的实现方式,但是它对网络的级联级数以及相
关的硬件设施要求很高,所以在比特置换系统的设计中,没
有采用这种网络而是采用可重排无阻塞的BENES网络。
BENES网是一种可重排网,能实现输入端到输出端的所
有置换,作为非阻塞开关网络在通信领域得到广泛的应用。
这种网络的特点是可以通过具体的寻径路由算法,根据全通
道排序的要求,实时改变各级节点开关的状态(直通或交叉),
作者筒介:向楠(1982--),女,硕士研究生,主研方向:信息安全;
戴紫彬,教授;徐劲松,讲师
收藕日期:2006—11-30 E・mail:thincat2001@126.com
维普资讯
从而有效避免路径冲突。由于它能实现输入到输出的所有置
换,因此利用它来实现需要能实现输入端到输出端所有置换
的可重构比特置换单元。
BENES网的结构在文献【6】中有详细的描述,这里就不再
赘述。8输入的BENES网结构见图1。这种网络具有以下一
些很好的特性,可以用于解决可重构密码芯片中任意比特置
换的问题。
(1)BENES网络由两个背靠背的BANYAN网络连接而
成。该网络可以通过开关状态的改变实现NxN的任意交换。
因此可以利用它来构造能完成任意比特置换的可重构比特置
换单元。应用于比特置换操作时,这种网络的特点就表现为
可以通过寻径算法,产生各个开关的控制信息,实时改变各
级节点开关的状态(直通或交叉),实现Ⅳ!种置换中要求的
任何一种。
(2)BENES网络可以被拆分成不同的级,因此可以逐级利
用和控制这个网络。
(3)规模为Ⅳ的BENES网是由2log2Ⅳ-1级2x2的开关构
成,开关总数是Nlog2N-NI2。每个开关由两个2选1的数据
选择器构成。与文献【4]中用Ⅳ个Ⅳ选1的数据选择器来实现
的方法相比,能有效地节省面积。
(4)BENES网的每一个2x2开关,2个输入和2个输出定
义为互斥对。这些互斥对可以由一个比特配置。即每一级的
N/2个开关可以由NI2个比特来配置,决定其状态(交叉或直
通),进而决定数据在网络中的路径。利用网络寻径算法,给
定一个置换即可得出每个开关的状态。通过改变这些开关的
状态可以实现不同的置换。
(5)BENES网络是一种递归结构。可以用较小的BENES
网构成较大的BENES网。
匪1 8x8的BENES网络及其开关状态
3 BENES网络的寻径算法
由于BENES网络是一种可重排的网络,如何控制网络
中各个开关的状态(直通或交叉),进而决定各个待置换的比
特如何在网络中选路,而不至于发生阻塞,就需要有一种正
确简洁的寻径算法。
本文借鉴一种光互联网络排序算法,改进之后用于比特
置换网络寻径。这种算法本来是利用二分法构造二分图依次
确定内外各级开关的连接状态,可以在BENES、OMEGA等
网络中实现NxN信号全排列无阻塞的输出和排序 j。将这种
算法中利用二分法构造二分图的步骤加以改进,使原有算法
更简洁和有效,因而更适合编程实现。
算法描述如下:
利用该算法确定每级开关的状态。对于2x2节点开关,
定义同一节点开关中,2输入互斥,2输出互斥,而任意属于
不同开关的输入或输出不互斥;根据实际的输入和输出互斥
对,得到一个二分图,确定两互斥对点集x和y。x中的元
素开关连线接上,y中的元素开关连线接下。这样确定出最
左最右两级开关的状态。根据这2列开关状态把待置换的比
特通过级间连线送往左边第2级和右边第2级。由此得到新
的互斥对,由互斥对确定新的x、y集合,进而确定两列开
关的状态。循环这个过程,直到所有的开关状态都确定完毕。
描述如下:
(1)输入待置换的比特序列1,2,3,…,Ⅳ-1,N;输出
1(1),I1(2),1(3),…,1(N-1),兀(Jv)。定义兀为置换变换关系。
(2)输入互斥对:O1={1,2},02={3,4},…,Oivl2={N-1,N};
(3)输出互斥对:P产{兀(1),1(2)},P2={兀(3),兀(4)J,…,
PNI2={兀(Ⅳ-1),兀(1V3};
(4)构造x、y,每组均包含NI2个元素,满足条件
I XNP I=I XNO I=1 (1)
I YNPI l=I YNOi I=1 (2)
其中,1<i<NI2。
具体操作如下:
任选一个P ,在 中选择一个元素a作为x中的一个元
素,令a∈oj,找出符合条件岣oi;设b为除去a之外的另
一个元素,令b∈P ,则b不 被选为x的元素,而只能选
择P 中的另一个元素作为x的元素。依次对每个P (1<i<NI2)
作筛选,如此循环,可得x。则不在x中的元素就组成了
(5)X、Y用来确定位置左右对称的两级开关的状态(交叉
或直通)。对于左边的一级2x2开关,x中的元素对应接开关
两输出端中上面的一个输出,y中的元素对应接开关两输出
端中下面的一个输出;对于右边的一级开关,x中的元素对
应接开关两输入端中上面的一个输入,y中的元素对应接开
关两输入端中下面的一个输入。由此左右两列开关状态得到
确定。
(6)根据步骤(5)确定的两列开关,把待置换的比特通过开
关经过级问连线送到中间两级开关的输入和输出。由此得到
新的互斥对。重复步骤(4)和步骤(5)。直到所有开关的状态都
被确定。
8x8置换在BENES网络上的举例见图2。
圈2 8x8置换在BENES网络上的举倒
用8x8的BENES网络实现8x8的置换。输入信号序列1,
2,3,4,5,6,7,8;输出8,3,1,5,4,2,7,6。
(1)兀(1):8,II(2)=3,11(3)=1,11(4)=5,11(5)=4,11(6)=2,
1(7)=7,兀(8)=6;
(2)输入互斥对:
O1=( ,2},02={3,4},03={5,6},O4=(7,墨};
(3)输出互斥对:
P1={墨,3},P2=( ,5},P3={4,2},P4={7,6};
(4)构造x、y,每组均包含4个元素,满足条件
I XNP。I=I XNO。I=1 f3)
维普资讯
l yn l=f YNOi l=l (4)
其中,1<i<4。
l-f ,4,鱼,墨},y=f2,3,5,7};
(5)得到网络中最左和最右两级开关状态;
(6)得到新的互斥对;重复步骤(4)和步骤(5),得到中问两
级开关状态;最后得到最中问一级开关状态。
该算法用VC实现,用来提取用于进行比特置换的
BENES网各个开关的控制信息。结果为2log2M1列,N/2行
的矩阵,0表示对应位置的开关状态为直通,1表示对应位置
开关状态为交叉,见表2。
表2控■信息矩阵
0 0 0 1 0
l 0 ’ 1 1 0
1 0 1 1 O
1 0 0 0 1
4 网络的硬件实现和性能分析
本文基于Altera的FPGA器件实现了128x128比特置换
电路。电路由13 ̄64的开关矩阵组成,每个开关由两个数据
选择器构成,由控制信息con控制其数据的选通,每个开关
对应1bit控制信息,整个置换电路共832bit控制信息。当其
为1时,数据交叉通过开关,当其为0时,数据直接通过开
关。如图3所示,128bit待置换的数据Datain[0…127]在
con]0…831】的控制下,经过置换电路运算后得到128bit置换
结果Dataout[0…127】。
Con[O…63】 Con[64…127】 Con[708.767JCon[768…831】
图3 128x128的置换单元电路绪构
Dataout[0】
Dataout[1】
Dataout[2】
Dataout[3】
Dataout[126】
Dataout[127】
下面将本文中JV比特任意置换的实现方法和文献【4】中
的实现方法进行比较。对于NxN的置换,本文以21og2N-I
级BENES网络来实现,而文献【4】用JV个JV选1的数据选择
器来实现。以128x128的置换为例,本文需要13级2x2的
开关,文献【4】中需要128个128选1的数据选择器,见表3。
表3 128x128的置换单元硬件性簟参数
一个JV选1的多路选择器的功能可以由log2N级共N-1
个2选1的选择器实现。那么一个128选1的多路选择器就
相当于7级127个2选1数据选择器。而128个128选1的
数据选择器就相当于128x127=16256个2选1数据选择器。
这样的电路结构,延迟和资源占用都是相当大的。而本文提
出的置换单元的电路要相对简单得多。每个开关相当于两个
2选1的数据选择器,一共是13开关,2x64xl3=1 664个
2选1的选择器,见表4。
表4以不同方法实现128x128置换赉豫占用情况比较
5结束语 .
本文基于ATM交换机中的BENES网,提出了一种简洁
正确的寻径算法,构造出能够实现任意置换的可重构比特置
换单元。该单元不仅能实现现有分组密码算法中的所有置换
表,而且任意置换还能支持新的密码算法。完成同种功能,
资源占用仅是文献【4】中所用方法的10.2%。不仅能有效完成
任意置换,而且大幅度节省了面积。
参考文献
1 Shi Z J.Bit Permutation Instructiong:Architecture,Implementation,
and Cryptographic Properties]D].U.S.A:Princeton University.
2004—06.
2 Abramowitz M,Stegun I A.Handbook of Mathematica]Functions]Z].
Washington,D.C.,US:Dept.of Commerce and National Bureau of
Standards,1970.
3 Co ̄en T H,Leiserson C E,Rivest R L,Introduction to Algorithms
[M].Cambridge,Mass:MIT Press,1994.
4曲英杰.可重组密码逻辑的设计原理[D].北京:北京科技大学,
2OHD3.
5金惠文.现代交换原理[M].北京:电子工业出版社,2000—03.
6 Zhong Jiling.Upper Bound Analysis and Routing in Optical BENES
Networks]D].Department of Computer Science,Georgia State
University,2005—1 1—10.
7杨俊波.光互联网络中排序算法研究[J】_光电工程,2004,31(增
刊).
(上接第150页)
参考文献
1 Rosenberg J.SIP:Session Initiation Protoco1]S].RFC 3261,2002.
2雷为民,张 伟.SIPNAT问题阐述及其解决方案[Jj.通信世界,
2005,6(4):38—39.
3 Koski P,Ylinen J,Loula P.The SIP-based System Used in
Connection with a Firewall[C]//Proc.of AICT—ICIW’06.2006.
4 Arango M.Media Gateway Control Protocol(MGCP)[S].RFC 2705,
l999.
5 Rosenberg J.An Extension to the Session Initiation Protocol(SIP)for
Symmetric Response Routing]S].RFC 3581,2003.
6张波,胡瑞敏,边学工.一种实现SIP穿越NAT的新方案[J】_计
算机工程,2005,31(2):119—121.
维普资讯
本文发布于:2023-01-30 19:36:36,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/163388.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |