一种可配置的比特置换运算系统及方法转让专利

申请号 : CN201110234891.3

文献号 : CN102355407A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 单伟伟陆寅超朱佳梁田朝轩伏星源时龙兴

申请人 : 无锡东集电子有限责任公司

摘要 :

本发明公开了一种可配置的比特置换运算系统及方法,该系统包括依次连接的路径选择算法单元、配置信息存储器与比特置换运算单元,其中:路径算法选择单元,用于根据预设的网络配置原则,生成相应的配置信息后,将所述配置信息发送至配置信息存储器;配置信息存储器,用于接收路径算法选择单元发送的配置信息,进行存储,并将配置信息发送至比特置换运算单元;比特置换运算单元,用于接收配置信息存储器发送的配置信息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果。本发明所述可配置的比特置换运算系统及方法,具有结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。

权利要求 :

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,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。

说明书 :

一种可配置的比特置换运算系统及方法

技术领域

[0001] 本发明涉及信息安全技术和计算机技术领域,具体地,涉及一种可配置的比特置换运算系统及方法。

背景技术

[0002] 随着现代社会的日益信息化、数字化与网络化,人们对信息安全技术的需求越来越广泛和深入。信息安全技术的应用领域,已从传统的军事、政治部门,逐步扩展到社会经济生活的各个角落;信息安全产品成为整个社会良性运转的重要保障,保护信息的安全也
已经成为科学技术领域的重要课题。
[0003] 信息安全体系中,密码算法是信息安全的基础和核心技术,比特置换在密码算法中有重要意义。比特置换提供了字节操作所无法实现的混乱扩散等功能。置换作为扩散的
首要手段,在密码算法中得到了广泛应用。此外,在计算机体系结构中,随着多媒体和信息安全技术的发展,快速比特置换也将成为面向字节的处理器的一个重要发展方向。
[0004] 现在采用的置换网络有GRP、OMFLIP、BFLY、IBFLY 和BENES等。GRP网络用log2N级N选1数据选择器,每一级都需要N位配置比特,因为整个网络展开多个置换单元,采用
多路选择器,所以结构复杂,电路实现面积非常大,配置算法复杂,扩展性差;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网络的优点,并且
不会产生阻塞现象,但存在电路实现面积较大的问题。
[0005] 综上所述,在实现本发明的过程中,发明人发现现有技术中至少存在结构复杂、电路实现面积大、配置算法复杂、扩展性差与置换过程易发生阻塞等缺陷。

发明内容

[0006] 本发明的目的在于,针对上述问题,提出一种可配置的比特置换运算系统,以实现结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。
[0007] 为实现上述目的,本发明采用的技术方案是:一种可配置的比特置换运算系统,包括依次连接的路径选择算法单元、配置信息存储器与比特置换运算单元,其中:所述路径算法选择单元,用于根据预设的网络配置原则,生成相应的配置信息后,将所
述配置信息发送至配置信息存储器;预设的网络配置原则,具体可以为:每一级网络配置
中,分别对输入输出比特进行分组,互斥比特对中比特不同组。
[0008] 所述配置信息存储器,用于接收所述路径算法选择单元发送的配置信息,进行存储,并将所述配置信息发送至比特置换运算单元;
所述比特置换运算单元,用于接收所述配置信息存储器发送的配置信息,对相应的网
络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果。
[0009] 进一步地,所述比特置换运算单元,包括可任意扩展、且上下对称组合设置的所述多级基本比特置换运算子单元,设置在相邻两级基本比特置换运算子单元之间、且可交叉互换的级联网络,以及用于根据级别向所述多级基本比特置换运算子单元发送控制信号的
分级递归互斥配置算法;所述可交叉互换的级联网络,上下结构完全对称。
[0010] 进 一 步 地,每 级 基 本 比 特 置 换 运 算 子 单 元,包 括 左 右 配合 设 置 的 交 换 网 络 与 任 意 位 宽 的 置 换 网 络;所 述 每 级 基 本 比 特 置换 运 算 子 单 元,根 据 排 列 组 合 规 则,完 成N 位 数 据 置 换,需 要 执 行 操作;其中,所述交换网络执行 操作,置换网络执行
操作。
[0011] 进一步地,所述置换网络,包括结构相同、且上下对称级联设置的多级比特置换子网络;所述多级比特置换子网络上下对称排列,组成所在置换网络的主体网络;在所述主体网络的前端,设有前置交换网络;在主体网络的后端,设有后端设有后置交
换网络;所述前置交换网络、主体网络与后置交换网络,依次通过上下对称的交叉级联线连接,组成整体级联网络。
[0012] 进一步地,所述每级基本比特置换运算子单元为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的控制信号。
[0013] 进一步地,所述第一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,构成置换网络。
[0014] 进一步地,所述前置交换网络的第一个输入比特,不需要连接相应的2选1数据选择器,与第一级比特置换子网络直接连接;前置交换网络的最后一个输入比特,不需要连接相应的2选1数据选择器,与最后一级比特置换子网络直接连接。
[0015] 同时,本发明采用的另一技术方案是:一种可配置的比特置换运算方法,包括以下步骤:a、根据分级递归互斥配置要求,将整体级联网络划分成不同级别的各个子网络;
b、按照分级递归互斥配置算法,对第一级网络进行配置,直至整体级联网络中均不包
含子网络,则整体级联网络配置完成。
[0016] 进一步地,在步骤b中,对各级网络中的第一级网络进行配置的操作,具体包括以下步骤:b1、确定第一级网络的输入比特与输出比特;
b2、将所述输入比特与输出比特,按照对应关系,配对生成互斥比特对;同时,将所述输
入比特与输出比特划分为两个互斥集合;
b3、对划分后的两个互斥集合进行判定:
若划分后的任一集合中包含互斥比特对,则重新将所述输入比特与输出比特划分为两
个互斥集合,直至划分后的任一集合中均不包含互斥比特对时,生成第一级网络的配置信
息;
b4、对已生成配置信息的第一级网络进行判定:
若已生成配置信息的本级网络中包含子网络,则根据已生成的配置信息,计算获得本
级网络包含的两个子网络的输入比特与输出比特;
b5、返回步骤b2,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网
络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。
[0017] 本发明各实施例的可配置的比特置换运算系统及方法,由于该系统包括依次连接的路径选择算法单元、配置信息存储器与比特置换运算单元,其中:路径算法选择单元,用于根据预设的网络配置原则,生成相应的配置信息后,将所述配置信息发送至配置信息存
储器;配置信息存储器,用于接收所述路径算法选择单元发送的配置信息,进行存储,并将所述配置信息发送至比特置换运算单元;比特置换运算单元,用于接收所述配置信息存储
器发送的配置信息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果;可以将基本比特置换运算子单元用交叉互
换的级联网络进行扩展,可以生成任意位宽的比特置换运算单元;采用分级的递归互斥配
置算法,将整体级联网络分成不同级别的各级网络进行配置,操作简单;从而可以克服现
有技术中结构复杂、电路实现面积大、配置算法复杂、扩展性差与置换过程易发生阻塞的缺陷,以实现结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。
[0018] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0019] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0020] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明可配置的比特置换运算系统工作原理示意图;
图2为根据本发明可配置的比特置换运算系统的4×4级联网络结构示意图;
图3与图4为根据本发明可配置的比特置换运算系统的8×8级联网络结构示意图;
图5a与图5b为根据本发明可配置的比特置换运算方法的流程示意图。
[0021] 结合附图,本发明实施例中附图标记如下:1-路径算法选择单元;2-配置信息存储器;3-比特置换运算单元。

具体实施方式

[0022] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0023] 系统实施例根据本发明实施例,如图1-图4所示,提供了一种可配置的比特置换运算系统。
[0024] 如图1所示,本实施例的可配置的比特置换运算系统,包括依次连接的路径选择算法单元、配置信息存储器2与比特置换运算单元3,其中:路径算法选择单元1,用于根据预设的网络配置原则,生成相应的配置信息后,将配置信息发送至配置信息存储器2;配置信息存储器2,用于接收路径算法选择单元1发送的配置信息,进行存储,并将配置信息发
送至比特置换运算单元3;比特置换运算单元3,用于接收配置信息存储器2发送的配置信
息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元3,根据置换输入数据进行处理,生成置换输出结果。
[0025] 这里,配置原则,即预设的网络配置原则,具体可以为:每一级网络配置中,分别对输入输出比特进行分组,互斥比特对中比特不同组。
[0026] 具体地,上述比特置换运算单元3,包括可任意扩展、且上下对称组合设置的多级基本比特置换运算子单元,设置在相邻两级基本比特置换运算子单元之间、且可交叉互换的级联网络,以及用于根据级别向多级基本比特置换运算子单元发送控制信号的分级递归
互斥配置算法;可交叉互换的级联网络,上下结构完全对称。
[0027] 在上述多级基本比特置换运算子单元中,每级基本比特置换运算子单元,包括左右配合设置的交换网络与任意位宽的置换网络;每级基本比特置换运算子单元,根据排列
组合规则,完成N位数据置换,需要执行 操作;其中,交换网络执行
操作,置换网络执行 操作。
[0028] 上述置换网络,包括结构相同、且上下对称级联设置的多级比特置换子网络;多级比特置换子网络上下对称排列,组成所在置换网络的主体网络;在主体网络的前端,设有前置交换网络;在主体网络的后端,设有后端设有后置交换网络;前置交换网络、主体网络与后置交换网络,依次通过上下对称的交叉级联线连接,组成整体级联网络。
[0029] 这里,前置交换网络的第一个输入比特,不需要连接相应的2选1数据选择器,与第一级比特置换子网络直接连接;前置交换网络的最后一个输入比特,不需要连接相应的
2选1数据选择器,与最后一级比特置换子网络直接连接。
[0030] 在上述多级基本比特置换运算子单元中,每级基本比特置换运算子单元为4×4比特置换运算子单元;如图2所示,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。
[0031] 在图2中,第一输入比特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的第二输入端连接。
[0032] 在图2中,第一2选1数据选择器Mux1的输出端,分别与第三2选1数据选择器Mux3的第二输入端、以及第五2选1数据选择器Mux5的第二输入端连接;第二2选1数据
选择器Mux2的输出端,分别与第四2选1数据选择器Mux4的第一输入端、以及第六2选1
数据选择器Mux6的第一输入端连接。
[0033] 在图2中,第三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的第二输入端连接。
[0034] 在图2中,第七2选1数据选择器Mux7的输出端,输出第一输出比特O1;第八2选1数据选择器Mux8的输出端,输出第二输出比特O2;第九2选1数据选择器Mux9的输出端,
输出第三输出比特O3;第十2选1数据选择器Mux10的输出端,输出第四输出比特O4。
[0035] 在图2中,第一配置比特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的控制信号。
[0036] 如图2和图4所示,上述第一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,构成置换网络。
[0037] 根据排列组合理论,在图2所示的4×4比特置换运算子单元中,完成4位置换操作需要 操作,左半部分交换网络实现 ,右半部比特分置换网络分别实现

[0038] 在图3和图4中,8×8比特置换运算系统的级联网络图,由前置交换网络、2个4×4比特置换子网络(即4×4子CMT比特置换网络)、以及后置交换网络构成;有17个配
置比特: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比特置换子网络分别实现 。
[0039] 上述实施例的可配置的比特置换运算系统,基于排列组合理论设计了4×4组合对偶基本比特置换运算子单元,采用上下对称结构,由交换网络和置换网络连接组成;将基本比特置换运算子单元用交叉交换的级联网络进行扩展,可以生成任意位宽的比特置换运
算单元3;采用分级的递归互斥配置算法将整个电路网络分成不同级别的网络进行配置,
操作简单;该可配置的比特置换运算系统,结构简单、电路实现面积小、易扩展、可配置、且配置算法简单,能够完成任意位宽的比特置换操作,满足多种密码算法的要求,适用于各种密码算法电路。
[0040] 方法实施例根据本发明实施例,提供了一种可配置的比特置换运算方法,包括以下步骤:
a、根据分级递归互斥配置要求,将整体级联网络划分成不同级别的各个子网络;
b、按照分级递归互斥配置算法,对第一级网络进行配置,直至整体级联网络中均不包
含子网络,则整体级联网络配置完成。
[0041] 进一步地,在步骤b中,对各级网络中的第一级网络进行配置的操作,具体包括以下步骤:b1、确定第一级网络的输入比特与输出比特;
b2、将输入比特与输出比特,按照对应关系,配对生成互斥比特对;同时,将输入比特与
输出比特划分为两个互斥集合;
b3、对划分后的两个互斥集合进行判定:
若划分后的任一集合中包含互斥比特对,则重新将输入比特与输出比特划分为两个互
斥集合,直至划分后的任一集合中均不包含互斥比特对时,生成第一级网络的配置信息;
b4、对已生成配置信息的第一级网络进行判定:
若已生成配置信息的本级网络中包含子网络,则根据已生成的配置信息,计算获得本
级网络包含的两个子网络的输入比特与输出比特;
b5、返回步骤b2,根据相同的分级递归互斥配置要求,分别对本级网络包含的两个子网
络进行配置;直至本级网络中不包含子网络,则本级网络配置完成。
[0042] 例如,在图5a中,本实施例的可配置的比特置换运算方法,包括以下步骤:步骤100:初始化输入比特与输出比特,执行步骤101;
步骤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:配置完成。
[0043] 在步骤100至步骤108中,首先确定第一级网络的输入比特和输出比特,其次将输出比特和输出比特按照对应关系配对生成互斥比特对,接着将输入和输出比特划分为两个
互斥集合A、B,A、B互斥,不包含相同比特,然后对生成的互斥集合进行判定同一集合内是否包含互斥比特对,若判定为否,则互斥集合中比特进行重新选择;若判定为是,则根据互斥集合中比特和输入输出的对应关系,生成第一级网络的配置信息,接着进行本级网络是
否包含子网络的判定,若判定为是,则用相同的配置方法对子网络进行配置,若判定为No,则已经完成整个网络的配置。
[0044] 又如,在图5b中,本实施例的可配置的比特置换运算方法,包括以下步骤:步骤200:初始化第一级8×8网络的输入比特与输出比特,执行步骤201;
步骤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比特之后运算单元配置完成。
[0045] 在图5b中,通过步骤200至步骤208,可以实现8×8比特置换运算单元3电路的配置算法:需要17个配置比特,以及34个2选1数据选择器(Mux)。具体配置算法如下:
⑴第一级网络的配置:
后置交换网络拥有相同配置比特的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在第二组,任意一组中不会出现一对互斥的比特。
[0046] 由此得到2组比特集合:{ I1, I2 ,I4,I6},{ I3, I5 ,I7 ,I8}。{ I1, I2 ,I4,I6}为上半部分4×4比特置换子运算单元的置换比特的集合,{I3, I5 ,I7 ,I8}为下半部分4×4比特置换子运算单元的置换比特的集合,因此可以得到:C1=0,C2=1,C3=0,C14=1,C15=1,C16=0,C17=1,第一级网络配置完成;
经判定,第一级网络还包含2个4×4比特置换子运算单元,为第二级网络,继续配置。
[0047] ⑵第二级网络的配置:上半部分4×4比特置换子运算单元输入为:I1, I2 ,I6,I4,输出为:I4, I2 ,I1,I6;下半部分4×4比特置换子运算单元输入为:I5, I3 ,I7,I8,输出为:I8, I3 ,I7,I5;
再次使用相同的方法对2个4×4比特置换子运算单元电路的配置比特进行计算,可
得:
C4=0,C5=1,C6=1,C7=1,C8=0,C9=0,C10=1,C11=1,C12=1,C13=1,完成第二级网络的配置;
经判定,第二级网络不包含子网络了,配置结束。
[0048] 最终的到8×8比特置换运算单元3电路得17个配置比特为:C1=0,C2=1,C3=0,C4=0,C5=1,C6=1,C7=1,C8=0,C9=0,C10=1,C11=1,C12=1,C13=1,C14=1,C15=1,C16=0,C17=1,完成配置,生成配置信息。
[0049] 综上所述,本发明各实施例的可配置的比特置换运算系统及方法,由于该系统包括依次连接的路径选择算法单元、配置信息存储器与比特置换运算单元,其中:路径算法选择单元,用于根据预设的网络配置原则,生成相应的配置信息后,将所述配置信息发送至配置信息存储器;配置信息存储器,用于接收所述路径算法选择单元发送的配置信息,进行存储,并将所述配置信息发送至比特置换运算单元;比特置换运算单元,用于接收所述配置信息存储器发送的配置信息,对相应的网络进行配置;配置完成后,已配置的比特置换运算单元,根据置换输入数据进行处理,生成置换输出结果;可以将基本比特置换运算子单元用交叉互换的级联网络进行扩展,可以生成任意位宽的比特置换运算单元;采用分级的递归互
斥配置算法,将整体级联网络分成不同级别的各级网络进行配置,操作简单;从而可以克服现有技术中结构复杂、电路实现面积大、配置算法复杂、扩展性差与置换过程易发生阻塞的缺陷,以实现结构简单、电路实现面积小、易扩展、可配置与配置算法简单的优点。
[0050] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。
凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。