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

文档序号:9754232阅读:367来源:国知局
一种高速多模式循环移位的电路的制作方法
【技术领域】
[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 为
[0008]
[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的传输路径,以构成了移位输入层任意指定位置到移位输出层任意位置的路由路径; inverse butterfly结构数据交换网络接收移位输入,并进行移位输出。各级到下一级路径 的选择受到控制编码控制。
[0017] 参数产生逻辑电路用于根据控制输入信号产生每级各个mux路由路径选择的控制 编码。控制输入信号包含的输入待移位数据的比特数、循环移位数、预定的输入位置及输出 位置之间的路由路径信息。
[0018] 参数寄存器用于对产生的控制编码进行存储,并传输到相关的mux层进行移位控 制。
[0019] inverse butterfly网络结构传输过程为:在第一级mux层,将数据交换到kmod2(K 为循环移位数);在第二级mux层,将数据交换到k mod 4的位置……在第j级,将数据交换到 k mod 23的位置。
[0020]如图3所示为单比特数据在图2所示结构中的交换过程。预先指定该单比特数据的 输入位置为〇,输出位置为移动输出层标号为6的mux。在第一级mux层,将数据交换到6mod2 的位置,在第二级mux层,将数据交换到6mod4的位置,根据上述规则,在最后一级,数据就被 交换到了位置k。
[0021 ] 2n比特数据的循环右移s比特需要η层的inverse butterfly结构。在任意j层,23个 数据完成循环右移s mod 2M立,在j+Ι层,网络通过如图4所示的交换,得到f+1个数据完成 循环右移s mod 2#1位。因此,j+Ι层的控制编码为
[0022]
的循环右移,第5级则实现两个16比特数据按16比特粒度的循环右移,其控制参数与2比特 数据的循环移位控制参数产生逻辑类似,仅需要对产生的参数进行比特位扩展,即每比特 参数扩展为16比特。
[0025] 本发明的有益效果为:
[0026] 本发明提出了一种高速多模式循环移位的电路,其关键路径仅为5级二选一mux, 支持以下功能:
[0027] 1)支持32比特数据的循环移位。
[0028] 2)支持两个16比特数据的循环移位,移位位数的最高1比特数据控制两个16比特 数据以16比特为粒度的循环右移,移位位数的最低4比特数据控制两个16比特数据内部比 特粒度的循环右移。
[0029] 3)支持四个8比特数据的循环移位,移位位数的最高2比特数据控制4个8比特数据 以8比特为粒度的循环右移,移位位数的最低3比特数据控制4个8比特数据内部比特粒度的 循环右移。
[0030]本发明高效快速实现各种粒度的循环移位运算,为高速密码实现提供强力支撑。
【主权项】
1. 一种高速多模式循环移位的电路,其特征在于,包括顺次连接的参数产生逻辑电路、 参数寄存器、inverse butterfly结构数据交换网络, inverse butte计Iy结构数据交换网络由若干级mux层构成,最后一级mux层为输出位 置层,每级包含若干皿IX,每个mux具有指向下级两个mux的传输路径; 参数产生逻辑电路用于根据待移位数据的比特数、循环移位数、预定的输入位置及输 出位置之间的路由路径信息产生各个mux路径选择的控制编码; 参数寄存器用于对控制编码进行存储,并传输到相关的mux层。2. 如权利要求1所述的高速多模式循环移位的电路,其特征在于,2"比特数据循环左移 或右移s比特需要n层mux层,在第j层,2^个数据完成循环右移s mod 2叫立,在j+l层,2W个数 据完成循环右移S mod 位,j+1层的控制编码Cbw为其中,j大于或者等于1且小于n;s[j]为将S换算为二进制字符串时第j位数值。
【专利摘要】本发明提供了一种高速多模式循环移位的电路,包括顺次连接的参数产生逻辑电路、参数寄存器、inverse?butterfly结构数据交换网络。?inverse?butterfly结构数据交换网络由若干级mux层构成,最后一级mux层为输出位置层,每级包含若干mux,每个mux具有指向下级两个mux的传输路径。参数产生逻辑电路用于根据待移位数据的比特数、循环移位数、预定的输入位置及输出位置之间的路由路径信息产生各个mux路径选择的控制编码。参数寄存器用于对控制编码进行存储,并传输到相关的mux层。本发明高效快速实现各种粒度的循环移位运算,为高速密码实现提供强力支撑。
【IPC分类】H04L9/08, H04L9/06
【公开号】CN105515761
【申请号】CN201610044514
【发明人】李军, 张文沛, 司焕丽
【申请人】成都三零嘉微电子有限公司
【公开日】2016年4月20日
【申请日】2016年1月22日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1