一种高速多模式循环移位的电路的制作方法

文档序号:10957766阅读:326来源:国知局
一种高速多模式循环移位的电路的制作方法
【专利摘要】本实用新型提供了一种高速多模式循环移位的电路,包括顺次连接的参数产生逻辑电路、参数寄存器、inverse butterfly结构数据交换网络。inverse butterfly结构数据交换网络由若干级mux层构成,最后一级mux层为输出位置层,每级包含若干mux,每个mux具有指向下级两个mux的传输路径。参数产生逻辑电路用于根据待移位数据的比特数、循环移位数、预定的输入位置及输出位置之间的路由路径信息产生各个mux路径选择的控制编码。参数寄存器用于对控制编码进行存储,并传输到相关的mux层。本实用新型高效快速实现各种粒度的循环移位运算,为高速密码实现提供强力支撑。
【专利说明】
一种高速多模式循环移位的电路
技术领域
[0001] 本实用新型对称密码算法领域,尤其涉及一种高速多模式循环移位的电路。
【背景技术】
[0002] 循环移位运算是对称密码算法中最常见的运算之一,常见的有8/16/32比特数据 的循环,高效快速实现各种粒度的循环移位运算可为高速密码实现提供强力支撑。

【发明内容】

[0003] 为解决上述问题,本实用新型提供了一种高速多模式循环移位的电路,包括顺次 连接的参数产生逻辑电路、参数寄存器、inverse butterfly结构数据交换网络。该电路可 实现并行4个8比特数据的循环右移、并行2个16比特数据的循循环右移或者1个32比特数据 的循环右移,其中循环右移位数为5比特;当移位模式为8比特时,移位位数的最高2比特数 据控制4个8比特数据以8比特为粒度的循环右移,移位位数的最低3比特数据控制4个8比特 数据内部比特粒度的循环右移;当移位模式为16比特时,移位位数的最高1比特数据控制2 个16比特数据以16比特为粒度的循环右移,移位位数的最低4比特数据控制2个16比特数据 内部比特粒度的循环右移;当移位模式为32比特时,移位位数整个5比特数据控制32比特数 据内部比特粒度的循环右移。
[0004] inverse butterfly结构数据交换网络由若干级mux层构成,最后一级mux层为输 出位置层,每级包含若干mux,每个mux具有指向下级两个mux的传输路径。
[0005] 参数产生逻辑电路用于根据待移位数据的比特数、循环移位数、预定的输入位置 及输出位置之间的路由路径产生每层各个mux路径选择的控制编码。
[0006] 参数寄存器用于对控制编码进行存储,并传输到相关的mux层。
[0007] 进一步的,2n比特数据循环左移或右移s比特需要η层mux层,在第j层,2^个数据完 成循环右移8Π?〇(12·Μ立,在j+Ι层,f +1个数据完成循环右移smod〗·^1位,j+Ι层的控制编码cbj+i 为
[0009]其中,j大于或者等于1,小于n;s[j]为将S换算为二进制字符串时第j位数值。
【附图说明】
[0010]图1为本实用新型电路结构框图。
[0011] 图2为本实用新型inverse butterfly结构数据交换网络示例。
[0012] 图3为单比特数据在图2所示结构中的交换过程示例。
[0013]图4为循环右移s位示意图。
[0014] 图5为参数产生逻辑电路示例。
【具体实施方式】
[0015]如图1所示,本实用新型所述电路包括顺次连接的参数产生逻辑电路、参数寄存 器、inverse butterfly结构数据交换网络。
[0016] 如图2所示,inverse butterfly结构数据交换网络由若干级mux层构成,最后一级 mux层为移位输出层,每级包含若干mux。除最后一级外,每级的各个mux具有指向下级两个 mux的传输路径,以构成了移位输入层任意指定位置到移位输出层任意位置的路由路径; [0017] inverse butterfly结构数据交换网络接收移位输入,并进行移位输出。各级到下 一级路径的选择受到控制编码控制。
[0018] 参数产生逻辑电路用于根据控制输入信号产生每级各个mux路由路径选择的控制 编码。控制输入信号包含的输入待移位数据的比特数、循环移位数、预定的输入位置及输出 位置之间的路由路径信息。
[0019] 参数寄存器用于对产生的控制编码进行存储,并传输到相关的mux层进行移位控 制。
[0020] inverse butterfly网络结构传输过程为:在第一级mux层,将数据交换到kmod2(K 为循环移位数);在第二级mux层,将数据交换到kmod4的位置……在第j级,将数据交换到 kmod2%9 位置。
[0021]如图3所示为单比特数据在图2所示结构中的交换过程。预先指定该单比特数据的 输入位置为〇,输出位置为移动输出层标号为6的mux。在第一级mux层,将数据交换到6mod2 的位置,在第二级mux层,将数据交换到6mod4的位置,根据上述规则,在最后一级,数据就被 交换到了位置k。
[0022] 2n比特数据的循环右移s比特需要η层的inverse butterfly结构。在任意j层,2」个 数据完成循环右移smod2^i,在j + Ι层,网络通过如图4所示的交换,得到f+1个数据完成循 环右移sm〇c^+1位。因此,j+Ι层的控制编码为
[0024]
的含义为:产生2j比特数据,其中左边最高的 smoc^位均为"1",右边最低的2hsmoc^位都为"0"。参数产生逻辑电路示例如图5所示。 [0025]图5实现的是32比特数据的循环移位,采用的是的5级规模的inverse butterfly 结构。当实现8比特粒度的循环移位时,第1、2、3级已经实现了4个8比特数据内部的循环右 移,第4、5级则实现四个8比特数据按8比特粒度的循环右移,其控制参数与4比特数据的循 环移位控制参数产生逻辑类似,仅需要对产生的参数进行比特位扩展,即每比特参数扩展 为8比特;当实现16比特粒度的循环移位时,第1、2、3、4级已经实现了两个16比特数据内部 的循环右移,第5级则实现两个16比特数据按16比特粒度的循环右移,其控制参数与2比特 数据的循环移位控制参数产生逻辑类似,仅需要对产生的参数进行比特位扩展,即每比特 参数扩展为16比特。
[0026]本实用新型的有益效果为:
[0027]本实用新型提出了一种高速多模式循环移位的电路,其关键路径仅为5级二选一 mux,支持以下功能:
[0028] 1)支持32比特数据的循环移位。
[0029] 2)支持两个16比特数据的循环移位,移位位数的最高1比特数据控制两个16比特 数据以16比特为粒度的循环右移,移位位数的最低4比特数据控制两个16比特数据内部比 特粒度的循环右移。
[0030] 3)支持四个8比特数据的循环移位,移位位数的最高2比特数据控制4个8比特数据 以8比特为粒度的循环右移,移位位数的最低3比特数据控制4个8比特数据内部比特粒度的 循环右移。
[0031] 本实用新型高效快速实现各种粒度的循环移位运算,为高速密码实现提供强力支 撑。
【主权项】
1. 一种高速多模式循环移位的电路,其特征在于,包括顺次连接的参数产生逻辑电路、 参数寄存器、inverse butterfly结构数据交换网络, inverse butterfly结构数据交换网络由若干级mux层构成,最后一级mux层为输出位 置层,每级包含若干mux,每个mux具有指向下级两个mux的传输路径; 参数产生逻辑电路用于根据待移位数据的比特数、循环移位数、预定的输入位置及输 出位置之间的路由路径信息产生各个mux路径选择的控制编码; 参数寄存器用于对控制编码进行存储,并传输到相关的mux层。2. 如权利要求1所述的高速多模式循环移位的电路,其特征在于,2n比特数据循环左移 或右移s比特需要η层mux层,在第j层,2=个数据完成循环右移s mod 2^立,在j+Ι层,2#1个数 据完成循环右移s mod 2j+1位,j+Ι层的控制编码cbj+1S其中,j大于或者·等tli小tn;sLj」为WS秧算为二进制子付申时弟j位数值。
【文档编号】H04L9/08GK205647537SQ201620065134
【公开日】2016年10月12日
【申请日】2016年1月22日
【发明人】李军, 张文沛, 司焕丽
【申请人】成都三零嘉微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1