一种可配置的比特置换运算系统及方法转让专利
申请号 : CN201110234891.3
文献号 : CN102355407A
文献日 : 2012-02-15
发明人 : 单伟伟 , 陆寅超 , 朱佳梁 , 田朝轩 , 伏星源 , 时龙兴
申请人 : 无锡东集电子有限责任公司
摘要 :
权利要求 :
1.一种可配置的比特置换运算系统,其特征在于,包括依次连接的路径选择算法单元、配置信息存储器与比特置换运算单元,其中:所述路径算法选择单元,用于根据预设的网络配置原则,生成相应的配置信息后,将所述配置信息发送至配置信息存储器;
所述配置信息存储器,用于接收所述路径算法选择单元发送的配置信息,进行存储,并将所述配置信息发送至比特置换运算单元;
所述比特置换运算单元,用于接收所述配置信息存储器发送的配置信息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果。
2.根据权利要求1所述的可配置的比特置换运算系统,其特征在于,所述比特置换运算单元,包括可任意扩展、且上下对称组合设置的所述多级基本比特置换运算子单元,设置在相邻两级基本比特置换运算子单元之间、且可交叉互换的级联网络,以及用于根据级别向所述多级基本比特置换运算子单元发送控制信号的分级递归互斥配置算法;所述可交叉互换的级联网络,上下结构完全对称。
3.根据权利要求2所述的可配置的比特置换运算系统,其特征在于,每级基本比特置换运算子单元,包括左右配合设置的交换网络与任意位宽的置换网络;所述每级基本比特置换运算子单元,根据排列组合规则,完成N位数据置换,需要执行 操作;其中,所述交换网络执行 操作,置换网络执行操作。
4.根据权利要求3所述的可配置的比特置换运算系统,其特征在于,所述置换网络,包括结构相同、且上下对称级联设置的多级比特置换子网络;所述多级比特置换子网络上下对称排列,组成所在置换网络的主体网络;
在所述主体网络的前端,设有前置交换网络;在主体网络的后端,设有后端设有后置交换网络;所述前置交换网络、主体网络与后置交换网络,依次通过上下对称的交叉级联线连接,组成整体级联网络。
5.根据权利要求2所述的可配置的比特置换运算系统,其特征在于,所述每级基本比特置换运算子单元为4×4比特置换运算子单元;
所述4×4比特置换运算子单元包括第一至四输入比特I1、I2、I3与I4,第一至十网络节点、即第一至十2选1数据选择器Mux1、Mux2、Mux3、Mux4、Mux5、Mux6、Mux7、Mux8、Mux9与Mux10,第一至五配置比特C1、C2、C3、C4与C5,以及第一至四输出比特O1、O2、O3与O4;其中:所述第一输入比特I1,分别与第三2选1数据选择器Mux3的第一输入端、以及第五2选1数据选择器Mux5的第一输入端连接;第二输入比特I2,分别与第一2选1数据选择器Mux1的第一输入端、以及第二2选1数据选择器Mux2的第一输入端连接;第三输入比特I3,分别与第一2选1数据选择器Mux1的第二输入端、以及第二2选1数据选择器Mux2的第二输入端连接;第四输入比特I4,分别与第四2选1数据选择器Mux4的第二输入端、以及第六2选1数据选择器Mux6的第二输入端连接;
所述第一2选1数据选择器Mux1的输出端,分别与第三2选1数据选择器Mux3的第二输入端、以及第五2选1数据选择器Mux5的第二输入端连接;第二2选1数据选择器Mux2的输出端,分别与第四2选1数据选择器Mux4的第一输入端、以及第六2选1数据选择器Mux6的第一输入端连接;
所述第三2选1数据选择器Mux3的输出端,分别与第七2选1数据选择器Mux7的第一输入端、以及第八2选1数据选择器Mux8的第一输入端连接;第四2选1数据选择器Mux4的输出端,分别与第七2选1数据选择器Mux7的第二输入端、以及第八2选1数据选择器Mux8的第二输入端连接;第五2选1数据选择器Mux5的输出端,分别与第九2选1数据选择器Mux9的第一输入端、以及第十2选1数据选择器Mux10的第一输入端连接;第六2选
1数据选择器Mux6的输出端,分别与第九2选1数据选择器Mux9的第二输入端、以及第十
2选1数据选择器Mux10的第二输入端连接;
所述第七2选1数据选择器Mux7的输出端,输出第一输出比特O1;第八2选1数据选择器Mux8的输出端,输出第二输出比特O2;第九2选1数据选择器Mux9的输出端,输出第三输出比特O3;第十2选1数据选择器Mux10的输出端,输出第四输出比特O4;
所述第一配置比特C1作为第一2选1数据选择器Mux1与 第二2选1数据选择器Mux2的控制信号,第二配置比特C2作为第三2选1数据选择器Mux3与第五2选1数据选择器Mux5的控制信号,第三配置比特C3 作为第四2选1数据选择器Mux4与第六2选1数据选择器Mux6的控制信号,第四配置比特C4作为第七2选1数据选择器Mux7与第八2选1数据选择器Mux8的控制信号,第五配置比特C5 作为第九2选1数据选择器Mux9与第十2选
1数据选择器Mux10的控制信号。
6.根据权利要求3或5所述的可配置的比特置换运算系统,其特征在于,所述第一2选
1数据选择器Mux1、第二2选1数据选择器Mux2、第三2选1数据选择器Mux3、第四2选1数据选择器Mux4、第五2选1数据选择器Mux5与第六2选1数据选择器Mux6,构成交换网络;所述第七2选1数据选择器Mux7、第八2选1数据选择器Mux8、第九2选1数据选择器Mux9与第十2选1数据选择器Mux10,构成置换网络。
7.根据权利要求4或5所述的可配置的比特置换运算系统,其特征在于,所述前置交换网络的第一个输入比特,不需要连接相应的2选1数据选择器,与第一级比特置换子网络直接连接;前置交换网络的最后一个输入比特,不需要连接相应的2选1数据选择器,与最后一级比特置换子网络直接连接。
8.一种可配置的比特置换运算方法,其特征在于,包括以下步骤:
a、根据分级递归互斥配置要求,将整体级联网络划分成不同级别的各个子网络;
b、按照分级递归互斥配置算法,对第一级网络进行配置,直至整体级联网络中均不包含子网络,则整体级联网络配置完成。
9.根据权利要求1所述的可配置的比特置换运算方法,其特征在于,在步骤b中,对各级网络中的第一级网络进行配置的操作,具体包括以下步骤:b1、确定第一级网络的输入比特与输出比特;
b2、将所述输入比特与输出比特,按照对应关系,配对生成互斥比特对;同时,将所述输入比特与输出比特划分为两个互斥集合;
b3、对划分后的两个互斥集合进行判定:
若划分后的任一集合中包含互斥比特对,则重新将所述输入比特与输出比特划分为两个互斥集合,直至划分后的任一集合中均不包含互斥比特对时,生成第一级网络的配置信息;
b4、对已生成配置信息的第一级网络进行判定:
若已生成配置信息的本级网络中包含子网络,则根据已生成的配置信息,计算获得本级网络包含的两个子网络的输入比特与输出比特;
b5、返回步骤b2,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。
说明书 :
一种可配置的比特置换运算系统及方法
技术领域
背景技术
已经成为科学技术领域的重要课题。
首要手段,在密码算法中得到了广泛应用。此外,在计算机体系结构中,随着多媒体和信息安全技术的发展,快速比特置换也将成为面向字节的处理器的一个重要发展方向。
多路选择器,所以结构复杂,电路实现面积非常大,配置算法复杂,扩展性差;OMFLIP网络由一个Omega网络连接一个Flip网络而组成。N位输入的Omega网络由相同的log2N层组
成,每一层有N个2选1数据选择器,N位输入的Flip网络是N位输入的Omega网络的反向
镜像,即也由相同的log2N层组成,所以,Omega-flip网络有2log2N层,电路实现面积大,
配置算法复杂。BFLY网络和IBFLY网络,N位输入的BFLY网络是N位输入的IBFLY网络
的反向镜像,都使用log2N级网络实现置换,每一级有N个2选1数据选择器,BFLY网络和
IBFLY网络结构简单,可扩展,易配置,但是在置换的过程中会发生阻塞,产生错误。BENES网络为一个BFLY和IBFLY网络串联而成,中间相邻2级合并为1级,所以一共有2log2N-1
级,每一级有N个2选1数据选择器,BENES网络具有BFLY网络和IBFLY网络的优点,并且
不会产生阻塞现象,但存在电路实现面积较大的问题。
发明内容
述配置信息发送至配置信息存储器;预设的网络配置原则,具体可以为:每一级网络配置
中,分别对输入输出比特进行分组,互斥比特对中比特不同组。
所述比特置换运算单元,用于接收所述配置信息存储器发送的配置信息,对相应的网
络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果。
分级递归互斥配置算法;所述可交叉互换的级联网络,上下结构完全对称。
操作。
换网络;所述前置交换网络、主体网络与后置交换网络,依次通过上下对称的交叉级联线连接,组成整体级联网络。
所述第一输入比特I1,分别与第三2选1数据选择器Mux3的第一输入端、以及第五2
选1数据选择器Mux5的第一输入端连接;第二输入比特I2,分别与第一2选1数据选择器
Mux1的第一输入端、以及第二2选1数据选择器Mux2的第一输入端连接;第三输入比特I3,
分别与第一2选1数据选择器Mux1的第二输入端、以及第二2选1数据选择器Mux2的第
二输入端连接;第四输入比特I4,分别与第四2选1数据选择器Mux4的第二输入端、以及第
六2选1数据选择器Mux6的第二输入端连接;
所述第一2选1数据选择器Mux1的输出端,分别与第三2选1数据选择器Mux3的第二
输入端、以及第五2选1数据选择器Mux5的第二输入端连接;第二2选1数据选择器Mux2
的输出端,分别与第四2选1数据选择器Mux4的第一输入端、以及第六2选1数据选择器
Mux6的第一输入端连接;
所述第三2选1数据选择器Mux3的输出端,分别与第七2选1数据选择器Mux7的第一
输入端、以及第八2选1数据选择器Mux8的第一输入端连接;第四2选1数据选择器Mux4
的输出端,分别与第七2选1数据选择器Mux7的第二输入端、以及第八2选1数据选择器
Mux8的第二输入端连接;第五2选1数据选择器Mux5的输出端,分别与第九2选1数据选
择器Mux9的第一输入端、以及第十2选1数据选择器Mux10的第一输入端连接;第六2选
1数据选择器Mux6的输出端,分别与第九2选1数据选择器Mux9的第二输入端、以及第十
2选1数据选择器Mux10的第二输入端连接;
所述第七2选1数据选择器Mux7的输出端,输出第一输出比特O1;第八2选1数据选
择器Mux8的输出端,输出第二输出比特O2;第九2选1数据选择器Mux9的输出端,输出第
三输出比特O3;第十2选1数据选择器Mux10的输出端,输出第四输出比特O4;
所述第一配置比特C1作为第一2选1数据选择器Mux1与 第二2选1数据选择器Mux2
的控制信号,第二配置比特C2作为第三2选1数据选择器Mux3与第五2选1数据选择器
Mux5的控制信号,第三配置比特C3 作为第四2选1数据选择器Mux4与第六2选1数据选
择器Mux6的控制信号,第四配置比特C4作为第七2选1数据选择器Mux7与第八2选1数
据选择器Mux8的控制信号,第五配置比特C5 作为第九2选1数据选择器Mux9与第十2选
1数据选择器Mux10的控制信号。
选1数据选择器Mux6,构成交换网络;所述第七2选1数据选择器Mux7、第八2选1数据选
择器Mux8、第九2选1数据选择器Mux9与第十2选1数据选择器Mux10,构成置换网络。
b、按照分级递归互斥配置算法,对第一级网络进行配置,直至整体级联网络中均不包
含子网络,则整体级联网络配置完成。
b2、将所述输入比特与输出比特,按照对应关系,配对生成互斥比特对;同时,将所述输
入比特与输出比特划分为两个互斥集合;
b3、对划分后的两个互斥集合进行判定:
若划分后的任一集合中包含互斥比特对,则重新将所述输入比特与输出比特划分为两
个互斥集合,直至划分后的任一集合中均不包含互斥比特对时,生成第一级网络的配置信
息;
b4、对已生成配置信息的第一级网络进行判定:
若已生成配置信息的本级网络中包含子网络,则根据已生成的配置信息,计算获得本
级网络包含的两个子网络的输入比特与输出比特;
b5、返回步骤b2,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网
络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。
储器;配置信息存储器,用于接收所述路径算法选择单元发送的配置信息,进行存储,并将所述配置信息发送至比特置换运算单元;比特置换运算单元,用于接收所述配置信息存储
器发送的配置信息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果;可以将基本比特置换运算子单元用交叉互
换的级联网络进行扩展,可以生成任意位宽的比特置换运算单元;采用分级的递归互斥配
置算法,将整体级联网络分成不同级别的各级网络进行配置,操作简单;从而可以克服现
有技术中结构复杂、电路实现面积大、配置算法复杂、扩展性差与置换过程易发生阻塞的缺陷,以实现结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为根据本发明可配置的比特置换运算系统工作原理示意图;
图2为根据本发明可配置的比特置换运算系统的4×4级联网络结构示意图;
图3与图4为根据本发明可配置的比特置换运算系统的8×8级联网络结构示意图;
图5a与图5b为根据本发明可配置的比特置换运算方法的流程示意图。
具体实施方式
送至比特置换运算单元3;比特置换运算单元3,用于接收配置信息存储器2发送的配置信
息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元3,根据置换输入数据进行处理,生成置换输出结果。
互斥配置算法;可交叉互换的级联网络,上下结构完全对称。
组合规则,完成N位数据置换,需要执行 操作;其中,交换网络执行
操作,置换网络执行 操作。
2选1数据选择器,与最后一级比特置换子网络直接连接。
据选择器Mux1的第一输入端、以及第二2选1数据选择器Mux2的第一输入端连接;第三输
入比特I3,分别与第一2选1数据选择器Mux1的第二输入端、以及第二2选1数据选择器
Mux2的第二输入端连接;第四输入比特I4,分别与第四2选1数据选择器Mux4的第二输入
端、以及第六2选1数据选择器Mux6的第二输入端连接。
选择器Mux2的输出端,分别与第四2选1数据选择器Mux4的第一输入端、以及第六2选1
数据选择器Mux6的第一输入端连接。
选择器Mux4的输出端,分别与第七2选1数据选择器Mux7的第二输入端、以及第八2选1
数据选择器Mux8的第二输入端连接;第五2选1数据选择器Mux5的输出端,分别与第九2
选1数据选择器Mux9的第一输入端、以及第十2选1数据选择器Mux10的第一输入端连接;
第六2选1数据选择器Mux6的输出端,分别与第九2选1数据选择器Mux9的第二输入端、
以及第十2选1数据选择器Mux10的第二输入端连接。
输出第三输出比特O3;第十2选1数据选择器Mux10的输出端,输出第四输出比特O4。
数据选择器Mux5的控制信号,第三配置比特C3 作为第四2选1数据选择器Mux4与第六2
选1数据选择器Mux6的控制信号,第四配置比特C4作为第七2选1数据选择器Mux7与第
八2选1数据选择器Mux8的控制信号,第五配置比特C5 作为第九2选1数据选择器Mux9
与第十2选1数据选择器Mux10的控制信号。
第六2选1数据选择器Mux6,构成交换网络;第七2选1数据选择器Mux7、第八2选1数据
选择器Mux8、第九2选1数据选择器Mux9与第十2选1数据选择器Mux10,构成置换网络。
。
置比特:C1、C2、C3、C4、C5、C6、C7、C8、C9、C10、C11、C12、C13、C14、C15、C16与C17,8个输入比特:I1、I2、I3、I4、I5、I6、I7与I8,8个输出比特:O1(I8)、O2 (I3)、O3 (I1) 、O4 (I5)、O5 (I4)、O6 (I2)、O7(I7)与O8 (I6),括号中为输出比特和输入比特的对应关系。前置交换网络将8个输入比
特交换后作为2个4×4比特置换子网络的输入,经过2个4×4比特置换子网络置换后的
比特作为后交换网络的输入,后置交换网络的输出的为最终的结构。根据排列组合理论,完成8位置换操作需要 操作,在该可配置的比特置换运算系统中,前置交换
网络和后置交换网络实现 ,2个4×4比特置换子网络分别实现 。
算单元3;采用分级的递归互斥配置算法将整个电路网络分成不同级别的网络进行配置,
操作简单;该可配置的比特置换运算系统,结构简单、电路实现面积小、易扩展、可配置、且配置算法简单,能够完成任意位宽的比特置换操作,满足多种密码算法的要求,适用于各种密码算法电路。
a、根据分级递归互斥配置要求,将整体级联网络划分成不同级别的各个子网络;
b、按照分级递归互斥配置算法,对第一级网络进行配置,直至整体级联网络中均不包
含子网络,则整体级联网络配置完成。
b2、将输入比特与输出比特,按照对应关系,配对生成互斥比特对;同时,将输入比特与
输出比特划分为两个互斥集合;
b3、对划分后的两个互斥集合进行判定:
若划分后的任一集合中包含互斥比特对,则重新将输入比特与输出比特划分为两个互
斥集合,直至划分后的任一集合中均不包含互斥比特对时,生成第一级网络的配置信息;
b4、对已生成配置信息的第一级网络进行判定:
若已生成配置信息的本级网络中包含子网络,则根据已生成的配置信息,计算获得本
级网络包含的两个子网络的输入比特与输出比特;
b5、返回步骤b2,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网
络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。
步骤101:将步骤100初始化后的输入比特与输出比特,配对为互斥比特对,执行步骤
102;
步骤102:将所有比特(即已配对为互斥比特对的输入比特与输出比特)划分成互斥集
合A与B,执行步骤103;
步骤103:判断集合A或B中是否包含同一互斥对的2个比特,若是,则执行步骤104;
否则,返回步骤102;
步骤104:生成本级网络配置信息,执行步骤105;
步骤105:判断本级网络是否包含子网络,若是,则执行步骤108;否则,执行步骤106
或步骤107;
步骤106:生成子网络A的输入比特与输出比特,并返回步骤101;
步骤107:生成子网络B的输入比特与输出比特,并返回步骤101;
步骤108:配置完成。
互斥集合A、B,A、B互斥,不包含相同比特,然后对生成的互斥集合进行判定同一集合内是否包含互斥比特对,若判定为否,则互斥集合中比特进行重新选择;若判定为是,则根据互斥集合中比特和输入输出的对应关系,生成第一级网络的配置信息,接着进行本级网络是
否包含子网络的判定,若判定为是,则用相同的配置方法对子网络进行配置,若判定为No,则已经完成整个网络的配置。
步骤201:将步骤200初始化后的输入比特与输出比特配对为互斥比特对,执行步骤
202;
步骤202:将所有比特(即已配对为互斥比特对的输入比特与输出比特)划分成互斥集
合A与B,执行步骤203;
步骤203:判断集合A或B中是否包含同一互斥对的2个比特,若是,则执行步骤204;
否则,返回步骤202;
步骤204:生成本级网络配置信息,执行步骤205;
步骤205:判断本级网络是否包含子网络,若是,则执行步骤208;否则,执行步骤206
或步骤207;
步骤206:生成第二级4×4子网络A的输入比特与输出比特,返回步骤201;
步骤207:生成第二级4×4子网络B的输入比特与输出比特,返回步骤201;
步骤208:8×8比特之后运算单元配置完成。
⑴第一级网络的配置:
后置交换网络拥有相同配置比特的Mux的输出比特,是一对互斥的比特,如下:
Q1={O1,O5}={I8,I4},配置比特为C14,
Q2={O2 ,O6}={I3,I2},配置比特为C15,
Q3={O3,O7}={I1,I7},配置比特为C16,
Q4={O4,O8}={I5,I6},配置比特为C17;
前置交换网络中拥有相同配置比特的Mux的输入比特,如果是一对互斥的比特,如下:
P2={I2,I7},配置比特为C1,
P3={I3,I6},配置比特为C2,
P4={I4,I5},配置比特为C3;
由此,将I1, I2, I3, I4 ,I5 ,I6, I7, I8分成2组,要求:I1在第一组,I8在第二组,任意一组中不会出现一对互斥的比特。
经判定,第一级网络还包含2个4×4比特置换子运算单元,为第二级网络,继续配置。
再次使用相同的方法对2个4×4比特置换子运算单元电路的配置比特进行计算,可
得:
C4=0,C5=1,C6=1,C7=1,C8=0,C9=0,C10=1,C11=1,C12=1,C13=1,完成第二级网络的配置;
经判定,第二级网络不包含子网络了,配置结束。
斥配置算法,将整体级联网络分成不同级别的各级网络进行配置,操作简单;从而可以克服现有技术中结构复杂、电路实现面积大、配置算法复杂、扩展性差与置换过程易发生阻塞的缺陷,以实现结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。
凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。