CN112507644A - 优化的sm4算法线性层电路 - Google Patents
优化的sm4算法线性层电路 Download PDFInfo
- Publication number
- CN112507644A CN112507644A CN202011406329.XA CN202011406329A CN112507644A CN 112507644 A CN112507644 A CN 112507644A CN 202011406329 A CN202011406329 A CN 202011406329A CN 112507644 A CN112507644 A CN 112507644A
- Authority
- CN
- China
- Prior art keywords
- module
- algorithm
- output signal
- matrix
- exclusive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及优化的SM4算法线性层电路,具体包括第一模块、第二模块、第三模块、第四模块、第五模块和第六模块,第一模块的输出信号受部分总输入信号影响,第二模块的输出信号受部分总输入信号以及第一模块的部分输出信号影响,第三模块的输出信号受部分总输入信号以及第一模块和第二模块的部分输出信号影响,第四模块的输出信号受第一模块、第二模块以及第三模块的部分输出信号影响,第五模块的输出信号受第二模块以及第四模块的部分输出信号影响,第六模块的输出信号受第二模块以及第五模块的部分输出信号影响。本发明的SM4算法线性层电路中异或门电路数目前已知最少,降低了整体密码算法硬件实现的成本及面积。
Description
技术领域
本发明涉及SM4算法的加密实现技术,具体的涉及一种优化的SM4算法线性层电路。
背景技术
随着轻量级应用越来越普遍,为了适应资源受限平台,密码算法的优化实现越来越受到广泛关注,如图1所示,我国商用分组密码标准(SM4算法)属于常用密码算法的一种,是我国国家密码管理局发布的密码行业标准,适用于无线局域网和可信计算系统,在我国密码行业中占据着极其重要的地位。
扩散作为设计密码算法的两个基本准则之一,对于密码算法的安全性起着至关重要的作用,而密码算法的线性部件是实现扩散的主要组件。因此,在研究密码算法的硬件实现时,线性部件的硬件实现开销也不容忽视。
密码算法线性层可由矩阵表示,其实现代价也可由实现该矩阵所需异或数来评估。研究表明,求解线性矩阵的最少异或数实现(即最优实现)是一个NP-困难问题。因此,学者们提出了一系列高效的启发式算法搜索矩阵的优化实现,比如算法Paar1、RPaar1、Paar2、BP、BFI(Banik等人的方法)、RNBP、A1以及A2。值得注意的是,这些算法给出的矩阵实现与矩阵的大小以及稠密度有关,对于较大、较稠密的矩阵,上述搜索算法给出的实现仍有进一步优化的空间。
发明内容
本发明要解决的技术问题是针对以上不足,提供一种优化的SM4算法线性层电路,可减少电路所需异或门电路数量来降低密码算法线性层的实现成本以及所需硬件面积,从而达到优化整体密码算法硬件实现的目的。
为解决以上技术问题,本发明采用以下技术方案:
优化的SM4算法线性层电路,包括第一模块、第二模块、第三模块、第四模块、第五模块和第六模块,设线性层电路总输入信号为{x0,x1,…,x31},输出信号为{y0,y1,…,y31},寄存器记为ti,则所述第一模块的输入信号为:
x0,x1,x2,x3,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,输出信号为:
t32,t33,t34,t35,t36,t37,t38,t40,t41,t42,t43,t44,t45,t47,t48,t50,t54,t57,t58,t60,t66,具体包括21个异或门电路,分别为:
t32=x30⊕x14,t33=x14⊕x22,t34=x29⊕x13,t35=x25⊕x17,t36=x2⊕x7,t37=x26⊕x18,t38=x17⊕x9,t40=x24⊕x8,t41=x8⊕x0,t42=x9⊕x1,t43=x20⊕x28,t44=x28⊕x12,t45=x7⊕x31,t47=x18⊕x10,t48=x19⊕x27,t50=x10⊕x2,t54=x5⊕x3,t57=x27⊕x11,t58=x13⊕x21,t60=x6⊕x12,t66=x31⊕x15,
所述第二模块的输入信号为:
x0,x1,x2,x4,x5,x6,x11,x12,x15,x16,t32,t33,t34,t35,t36,t37,t38,t40,t41,t43,t44,t45,t47,t48,t54,t57,t58,t60,输出信号为:
t39,t46,t49,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92,具体包括21个异或门电路,分别为:
t39=x16⊕t33,t46=x1⊕t45,t49=t45⊕t34,t51=x2⊕t41,t52=t41⊕t32,t53=t34⊕x5,t55=t32⊕x6,t59=t54⊕x11,t61=x0⊕t33,t62=x12⊕t43,t63=t33⊕t44,t67=x11⊕t48,t69=t43⊕t47,t70=x15⊕t58,t71=t48⊕t38,t72=t58⊕t57,t73=t44⊕t37,t74=t57⊕t35,t75=t38⊕t36,t77=t60⊕x4,t92=t47⊕t40,
所述第三模块的输入信号为:
x3,x4,x21,x22,t35,t36,t37,t39,t40,t42,t43,t46,t48,t49,t50,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92,输出信号为:
t56,t64,y28,y27,y25,y18,y17,t80,t81,t82,y9,y29,t85,y26,t87,y10,y22,y4,y30,y31,y3,y0,具体包括22个异或门电路,分别为:
t56=x22⊕t55,t64=x21⊕t53,t65=t55⊕t43[y28],t68=t53⊕t48[y27],t76=t74⊕x3[y25],t78=t69⊕x4[y18],t79=x3⊕t71[y17],t80=t71⊕t42,t81=t36⊕t70,t82=t37⊕t51,t83=t67⊕t42[y9],t84=t70⊕t49[y29],t85=t35⊕t46,t86=x4⊕t73[y26],t87=t73⊕t50,t88=t62⊕t50[y10],t91=t61⊕t40[y22],t100=t77⊕t63[y4],t103=t39⊕t52[y30],t104=t46⊕t75[y31],t106=t59⊕t72[y3],t108=t51⊕t92[y0];
所述第四模块的输入信号为:
t40,t42,t50,t56,t59,t61,t63,t64,t65,t66,t68,t72,t76,t77,t78,t80,t81,t82,t85,t87;输出信号为y8,t90,y7,t94,y15,y21,y5,y11,y12,y20,y19,y1,y2;具体包括13个异或门电路,分别为:
t89=t50⊕t82[y8],t90=t82⊕t61,t93=t42⊕t85[y7],t94=t40⊕t56,t95=t85⊕t66[y15],t96=t66⊕t81[y21],t97=t81⊕t64[y5],t98=t64⊕t59[y11],t99=t56⊕t77[y12],t105=t63⊕t65[y20],t107=t72⊕t68[y19],t109=t80⊕t76[y1],t112=t87⊕t78[y2];
所述第五模块的输入信号为t39,t49,t75,t90,t94,t95,t97,输出信号为y16,y6,y23,y13,具体包括4个异或门电路,分别为:
t101=t90⊕t39[y16],t102=t94⊕t39[y6],t110=t75⊕t95[y23],t114=t49⊕t97[y13];
所述第六模块的输入信号为t52,t92,t101,t102,输出信号为y14,y24,具体包含两个异或门电路,分别为:t111=t52⊕t102[y14],t113=t92⊕t101[y24]。
本发明的有益效果为:本发明给出的优化的SM4算法线性层电路中异或门电路数目前已知最优(即最少)。本发明减少了SM4算法线性变换的实现代价,进而降低了整体密码算法硬件实现的成本及面积。
下面结合附图和实施例对本发明进行详细说明。
附图说明
图1为SM4算法原始实现流程图;
图2为SM4算法迭代搜索矩阵的优化实现框架图;
图3为本发明的优化的SM4算法线性层模块连接图;
图4为本发明的第一模块电路图;
图5为本发明的第二模块电路图;
图6为本发明的第三模块电路图;
图7为本发明的第四模块电路图;
图8为本发明的第五模块电路图;
图9为本发明的第六模块电路图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示为SM4密码算法流程图,本发明涉及的电路是优化整个算法中的线性层L部分对应电路。
本发明的线性层电路的得到方法为,扩充SM4算法线性部件对应的矩阵,得到该矩阵在二元域上的表示;优化矩阵的实现,减少实现该矩阵所需异或门电路数量;列出算法线性部件的门级硬件电路图。具体步骤为:
S1、扩充算法线性部件对应的矩阵,得到该矩阵在二元域上的表示
于是,矩阵L可扩充为二元域F2上的32×32矩阵,即
S2.优化矩阵的实现,减少实现该矩阵所需异或门电路数量
线性部件的输出为其输入的线性表达,相应的,在硬件实现其对应的矩阵时,任一输出信号可由输入信号线性表示。因此,目前的研究通常通过统计实现矩阵所有输出信号所消耗的异或门电路数目来评估算法线性层的实现代价。本发明沿用这种方法,设硬件实现时矩阵的输入信号为{x0,x1,…,x31},输出信号为{y0,y1,…,y31}。
本发明基于如图2所示框架,迭代搜索SM4算法线性层线性变换对应矩阵L的优化实现。
下面,我们介绍利用该框架搜索矩阵L的优化实现的步骤。
S2.1:将矩阵L作为该框架的输入,并从Paar1、RPaar1、BP、BFI、RNBP、A1以及A2中随机选择一个算法求解矩阵L的初始实现A。A由有限个(设为n)形如ti=tj⊕tk的异或操作构成,其中t为寄存器,其存储值为矩阵L的输入或异或操作得到的中间值;
S2.2:从上述实现A中截取长度为LEN(LEN∈[2,n-1],且初始值为n-1。)的连续片段,记为片段2,并依此恢复出矩阵L’。下面我们给出根据片段2恢复出矩阵L’的一般过程:
S2.2.1:求矩阵L’的输出;
片段2也是由若干形如ti=tj⊕tk的异或操作构成。设片段 我们将片段2中的所有异或操作等式左边的寄存器组成的集合记为SO,即从SO中剔除掉仅在片段2中被使用并且储存值不等于矩阵L的任意输出的寄存器,筛选后SO集合中的元素即为矩阵L’的输出。
S2.2.2:求矩阵L’的输入;
由步骤S2.2.1可得矩阵L’的输出集合SO,将SO中的元素展开为关于矩阵L的输入(即x0,x1,…,x31)的线性表达式,所有线性表达式中的变量组成的集合Si即为矩阵L’的输入;
S2.2.3:根据输入集合Si以及输出集合SO即可恢复矩阵L’;
S2.3:再次从Paar1、RPaar1、BP、BFI、RNBP、A1以及A2中随机选择一个算法求解矩阵L’的实现,该实现与截取片段2等价。用矩阵L’的实现替换片段2,得到矩阵L新的实现。
S2.4:使用下列有助于减少实现代价的约简规则优化替换后矩阵L的实现;
如表1所示,我们以规则2为例简要说明上述规则实现约简的原理。假设给定的实现形如{…,tu=ta⊕tb,…,tv=ta⊕tu,…},则寄存器tv可改写为tv=ta⊕tu=ta⊕(ta⊕tb)=tb。因此,该实现转换为{…,tu=ta⊕tb,…,tv=tb,…}。因为寄存器tu最初只用作生成tv,而寄存器tv与寄存器tb存储的值相同且与寄存器tu无关,故我们可以从该实现中删除tu=ta⊕tb以及tv=tb,并将该实现中所有异或操作数tv改为tb。因此,规则2减少了两个异或数,从而优化了该给定实现。
表1约简规则表
对于替换后矩阵L的实现,我们从该实现中任取2或3个寄存器(形如tu=ta⊕tb。)分别判断选取寄存器是否满足上表所示约简规则,约简之后矩阵的实现记为B,则实现B与原始实现A等价。若实现B所需异或门电路数较少,则用实现B替换原始实现A回到步骤S2.2重新搜索;否则,从实现A中截取下一个长为LEN的连续片段回到步骤S2.2继续搜索。若实现A中所有长度为LEN的连续片段均已被截取以恢复L’,则从A中截取LEN-1的连续片段继续搜索,直至截取片段长度LEN=1停止搜索。
利用上述框架,我们得到如下表2所示SM4线性层线性变换对应矩阵L的优化实现。
表2 SM4算法线性变换矩阵L的优化实现
S3.列出算法线性部件的门级硬件电路图
利用目前已知基于g-xor标准求解矩阵实现的技术(Paar1,RPaar1,Paar2,BP,BFI,RNBP,A1,A2),本发明涉及的SM4算法线性层线性变换对应矩阵L的实现代价如下表所示:
表3、现有技术实现SM4算法线性层线性层异或门数量
Paar1 | RPaar1 | Paar2 | BP | BFI | RNBP | A1 | A2 |
96 | 96 | 96 | 88 | 88 | 88 | 87 | 86 |
本发明的SM4算法线性层线性变换对应矩阵实现所消耗的异或数为83,目前已知最优。
如表2所示,实现SM4算法线性变换对应矩阵所需异或门电路数为83,深度为6,因此,如图3所示,SM4算法线性变换的硬件实现可分为六个模块。所有模块均为异或门电路的集成,除初始模块(第一模块),其他各模块均受深度较浅模块的影响。各模块的输入输出分析如下:
(1)第一模块:
第一模块的输出信号受SM4算法线性变换的部分输入信号影响,该模块的输出信号又会影响第二模块、模块三以及第四模块的输出信号值。
输入:
x0,x1,x2,x3,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31;
输出:
t32,t33,t34,t35,t36,t37,t38,t40,t41,t42,t43,t44,t45,t47,t48,t50,t54,t57,t58,t60,t66,具体包括21个异或门电路,分别为:
t32=x30⊕x14,t33=x14⊕x22,t34=x29⊕x13,t35=x25⊕x17,t36=x23⊕x7,t37=x26⊕x18,t38=x17⊕x9,t40=x24⊕x8,t41=x8⊕x0,t42=x9⊕x1,t43=x20⊕x28,t44=x28⊕x12,t45=x7⊕x31,t47=x18⊕x10,t48=x19⊕x27,t50=x10⊕x2,t54=x5⊕x3,t57=x27⊕x11,t58=x13⊕x21,t60=x6⊕x12,t66=x31⊕x15。
(2)第二模块
第二模块的输出信号受SM4算法线性变换的部分输入信号以及第一模块的部分输出信号影响,该模块的输出信号又会影响第三模块、第四模块、第五模块以及第六模块的输出信号值。
输入:
x0,x1,x2,x4,x5,x6,x11,x12,x15,x16,t32,t33,t34,t35,t36,t37,t38,t40,t41,t43,t44,t45,t47,t48,t54,t57,t58,t60;
输出:
t39,t46,t49,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92,
具体包括21个异或门电路集成,分别为:
t39=x16⊕t33,t46=x1⊕t45,t49=t45⊕t34,t51=x2⊕t41,t52=t41⊕t32,t53=t34⊕x5,t55=t32⊕x6,t59=t54⊕x11,t61=x0⊕t33,t62=x12⊕t43,t63=t33⊕t44,t67=x11⊕t48,t69=t43⊕t47,t70=x15⊕t58,t71=t48⊕t38,t72=t58⊕t57,t73=t44⊕t37,t74=t57⊕t35,t75=t38⊕t36,t77=t60⊕x4,t92=t47⊕t40。
(3)第三模块
第三模块的输出信号受SM4算法线性变换的部分输入信号以及第一模块和第二模块的部分输出信号影响,该模块的输出信号又会影响第四模块的输出信号值。
输入:
x3,x4,x21,x22,t35,t36,t37,t39,t40,t42,t43,t46,t48,t49,t50,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92;
输出:
t56,t64,y28,y27,y25,y18,y17,t80,t81,t82,y9,y29,t85,y26,t87,y10,y22,y4,y30,y31,y3,y0;具体包括22个异或门电路集成,分别为:
t56=x22⊕t55,t64=x21⊕t53,t65=t55⊕t43[y28],t68=t53⊕t48[y27],t76=t74⊕x3[y25],t78=t69⊕x4[y18],t79=x3⊕t71[y17],t80=t71⊕t42,t81=t36⊕t70,t82=t37⊕t51,t83=t67⊕t42[y9],t84=t70⊕t49[y29],t85=t35⊕t46,t86=x4⊕t73[y26],t87=t73⊕t50,t88=t62⊕t50[y10],t91=t61⊕t40[y22],t100=t77⊕t63[y4],t103=t39⊕t52[y30],t104=t46⊕t75[y31],t106=t59⊕t72[y3],t108=t51⊕t92[y0]。
(4)第四模块
第四模块的输出信号受SM4算法线性变换实现第一模块、第二模块以及第三模块的部分输出信号影响,该模块的输出信号又会影响第五模块的输出信号值。
输入:
t40,t42,t50,t56,t59,t61,t63,t64,t65,t66,t68,t72,t76,t77,t78,t80,t81,t82,t85,t87;
输出:y8,t90,y7,t94,y15,y21,y5,y11,y12,y20,y19,y1,y2;
具体包括13个异或门电路,分别为:
t89=t50⊕t82[y8],t90=t82⊕t61,t93=t42⊕t85[y7],t94=t40⊕t56,t95=t85⊕t66[y15],t96=t66⊕t81[y21],t97=t81⊕t64[y5],t98=t64⊕t59[y11],t99=t56⊕t77[y12],t105=t63⊕t65[y20],t107=t72⊕t68[y19],t109=t80⊕t76[y1],t112=t87⊕t78[y2];
(5)第五模块
第五模块的输出信号受SM4算法线性变换实现第二模块以及第四模块的部分输出信号影响,该模块的输出信号又会影响第六模块的输出信号值。
输入:t39,t49,t75,t90,t94,t95,t97;
输出:y16,y6,y23,y13;
具体包括4个异或门电路集成,分别为:
t101=t90⊕t39[y16],t102=t94⊕t39[y6],t110=t75⊕t95[y23],t114=t49⊕t97[y13],所述第六模块的输入信号为t52,t92,t101,t102,输出信号为y14,y24,包含两个异或门电路,输出信号为:t111=t52⊕t102[y14],t113=t92⊕t101[y24]。
(6)第六模块
第六模块的输出信号受SM4算法线性变换实现第二模块以及第五模块的部分输出信号影响。
输入:t52,t92,t101,t102;
输出:y14,y24;
具体包含两个异或门电路,输出信号为:t111=t52⊕t102[y14],t113=t92⊕t101[y24]。
图3中所有模块均为异或门电路的集成,各模块的电路实现已由图4-9具体给出。由于各模块所需异或门电路总数达到目前已知最优,图4-9给出的电路实现降低了算法线性部件的实现代价。基于上述实现,本发明可以减少对应模块的实现成本以及面积,从而达到优化整体算法硬件实现的目的。
由表3的结果可知,与现有技术给出的SM4算法线性层硬件电路相比,本发明给出的SM4算法线性层硬件电路中异或门数量最优。以上所述为本发明最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本发明的保护范围以权利要求的内容为准,任何基于本发明的技术启示而进行的等效变换,也在本发明的保护范围之内。
Claims (1)
1.优化的SM4算法线性层电路,其特征在于,包括第一模块、第二模块、第三模块、第四模块、第五模块和第六模块,设线性层电路总输入信号为{x0,x1,…,x31},输出信号为{y0,y1,…,y31},寄存器记为ti,则所述第一模块的输入信号为:
x0,x1,x2,x3,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,输出信号为:
t32,t33,t34,t35,t36,t37,t38,t40,t41,t42,t43,t44,t45,t47,t48,t50,t54,t57,t58,t60,t66,具体包括21个异或门电路,分别为:t32=x30⊕x14,t33=x14⊕x22,t34=x29⊕x13,t35=x25⊕x17,t36=x23⊕x7,t37=x26⊕x18,t38=x17⊕x9,t40=x24⊕x8,t41=x8⊕x0,t42=x9⊕x1,t43=x20⊕x28,t44=x28⊕x12,t45=x7⊕x31,t47=x18⊕x10,t48=x19⊕x27,t50=x10⊕x2,t54=x5⊕x3,t57=x27⊕x11,t58=x13⊕x21,t60=x6⊕x12,t66=x31⊕x15;
所述第二模块的输入信号为:
x0,x1,x2,x4,x5,x6,x11,x12,x15,x16,t32,t33,t34,t35,t36,t37,t38,t40,t41,t43,t44,t45,t47,t48,t54,t57,t58,t60,输出信号为:
t39,t46,t49,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92,具体包括21个异或门电路,分别为:
t39=x16⊕t33,t46=x1⊕t45,t49=t45⊕t34,t51=x2⊕t41,t52=t41⊕t32,t53=t34⊕x5,t55=t32⊕x6,t59=t54⊕x11,t61=x0⊕t33,t62=x12⊕t43,t63=t33⊕t44,t67=x11⊕t48,t69=t43⊕t47,t70=x15⊕t58,t71=t48⊕t38,t72=t58⊕t57,t73=t44⊕t37,t74=t57⊕t35,t75=t38⊕t36,t77=t60⊕x4,t92=t47⊕t40,所述第三模块的输入信号为:
x3,x4,x21,x22,t35,t36,t37,t39,t40,t42,t43,t46,t48,t49,t50,t51,t52,t53,t55,t59,t61,t62,t63,t67,t69,t70,t71,t72,t73,t74,t75,t77,t92,输出信号为:
t56,t64,y28,y27,y25,y18,y17,t80,t81,t82,y9,y29,t85,y26,t87,y10,y22,y4,y30,y31,y3,y0,具体包括22个异或门电路,分别为:
t56=x22⊕t55,t64=x21⊕t53,t65=t55⊕t43[y28],t68=t53⊕t48[y27],t76=t74⊕x3[y25],t78=t69⊕x4[y18],t79=x3⊕t71[y17],t80=t71⊕t42,t81=t36⊕t70,t82=t37⊕t51,t83=t67⊕t42[y9],t84=t70⊕t49[y29],t85=t35⊕t46,t86=x4⊕t73[y26],t87=t73⊕t50,t88=t62⊕t50[y10],t91=t61⊕t40[y22],t100=t77⊕t63[y4],t103=t39⊕t52[y30],t104=t46⊕t75[y31],t106=t59⊕t72[y3],t108=t51⊕t92[y0];所述第四模块的输入信号为:
t40,t42,t50,t56,t59,t61,t63,t64,t65,t66,t68,t72,t76,t77,t78,t80,t81,t82,t85,t87;输出信号为y8,t90,y7,t94,y15,y21,y5,y11,y12,y20,y19,y1,y2;具体包括13个异或门电路,分别为:
t89=t50⊕t82[y8],t90=t82⊕t61,t93=t42⊕t85[y7],t94=t40⊕t56,t95=t85⊕t66[y15],t96=t66⊕t81[y21],t97=t81⊕t64[y5],t98=t64⊕t59[y11],t99=t56⊕t77[y12],t105=t63⊕t65[y20],t107=t72⊕t68[y19],t109=t80⊕t76[y1],t112=t87⊕t78[y2];
所述第五模块的输入信号为t39,t49,t75,t90,t94,t95,t97,输出信号为y16,y6,y23,y13,具体包括4个异或门电路,分别为:
t101=t90⊕t39[y16],t102=t94⊕t39[y6],t110=t75⊕t95[y23],t114=t49⊕t97[y13];
所述第六模块的输入信号为t52,t92,t101,t102,输出信号为y14,y24,包含两个异或门电路,输出信号为:t111=t52⊕t102[y14],t113=t92⊕t101[y24]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011406329.XA CN112507644B (zh) | 2020-12-03 | 2020-12-03 | 优化的sm4算法线性层电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011406329.XA CN112507644B (zh) | 2020-12-03 | 2020-12-03 | 优化的sm4算法线性层电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112507644A true CN112507644A (zh) | 2021-03-16 |
CN112507644B CN112507644B (zh) | 2021-05-14 |
Family
ID=74969998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011406329.XA Active CN112507644B (zh) | 2020-12-03 | 2020-12-03 | 优化的sm4算法线性层电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507644B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN114422111A (zh) * | 2022-03-30 | 2022-04-29 | 湖北大学 | 一种轻量级的sm4算法的硬件实现电路 |
CN115276955A (zh) * | 2022-06-27 | 2022-11-01 | 湖北大学 | 一种优化的clefia算法线性层实现电路 |
CN117134886A (zh) * | 2023-08-21 | 2023-11-28 | 湖北大学 | 一种优化的fox算法线性层电路 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065361A1 (en) * | 2014-08-28 | 2016-03-03 | Samsung Electronics Co., Ltd. | Endecryptor preventing side channel attack, driving method thereof and control device having the same |
US20160191238A1 (en) * | 2014-12-24 | 2016-06-30 | Kirk Yap | Sms4 acceleration hardware |
CN106712930A (zh) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | 一种sm4加密方法及装置 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN110058842A (zh) * | 2019-03-14 | 2019-07-26 | 西安电子科技大学 | 一种结构可变的伪随机数生成方法及装置 |
CN110166223A (zh) * | 2019-05-22 | 2019-08-23 | 北京航空航天大学 | 一种国密sm4的快速软件实现方法 |
CN110197076A (zh) * | 2019-05-22 | 2019-09-03 | 北京航空航天大学 | 一种sm4加密算法的软件优化实现方法 |
CN110474761A (zh) * | 2019-07-11 | 2019-11-19 | 北京电子科技学院 | 一种16轮sm4-256白盒密码实现方法 |
CN110995403A (zh) * | 2019-10-31 | 2020-04-10 | 湖北大学 | 一种搜索密码算法线性层硬件实现优化的启发式算法 |
CN111224747A (zh) * | 2019-12-19 | 2020-06-02 | 湖北大学 | 可降低修复带宽和磁盘读取开销的编码方法及其修复方法 |
CN111736902A (zh) * | 2020-07-16 | 2020-10-02 | 北京炼石网络技术有限公司 | 基于simd指令的sm4的并行计算方法及装置、可读存储介质 |
CN111800255A (zh) * | 2020-06-08 | 2020-10-20 | 北京电子科技学院 | 一种适用于分组密码白盒化的动态白盒库生成和使用方法 |
-
2020
- 2020-12-03 CN CN202011406329.XA patent/CN112507644B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065361A1 (en) * | 2014-08-28 | 2016-03-03 | Samsung Electronics Co., Ltd. | Endecryptor preventing side channel attack, driving method thereof and control device having the same |
US20160191238A1 (en) * | 2014-12-24 | 2016-06-30 | Kirk Yap | Sms4 acceleration hardware |
CN106712930A (zh) * | 2017-01-24 | 2017-05-24 | 北京炼石网络技术有限公司 | 一种sm4加密方法及装置 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN110058842A (zh) * | 2019-03-14 | 2019-07-26 | 西安电子科技大学 | 一种结构可变的伪随机数生成方法及装置 |
CN110166223A (zh) * | 2019-05-22 | 2019-08-23 | 北京航空航天大学 | 一种国密sm4的快速软件实现方法 |
CN110197076A (zh) * | 2019-05-22 | 2019-09-03 | 北京航空航天大学 | 一种sm4加密算法的软件优化实现方法 |
CN110474761A (zh) * | 2019-07-11 | 2019-11-19 | 北京电子科技学院 | 一种16轮sm4-256白盒密码实现方法 |
CN110995403A (zh) * | 2019-10-31 | 2020-04-10 | 湖北大学 | 一种搜索密码算法线性层硬件实现优化的启发式算法 |
CN111224747A (zh) * | 2019-12-19 | 2020-06-02 | 湖北大学 | 可降低修复带宽和磁盘读取开销的编码方法及其修复方法 |
CN111800255A (zh) * | 2020-06-08 | 2020-10-20 | 北京电子科技学院 | 一种适用于分组密码白盒化的动态白盒库生成和使用方法 |
CN111736902A (zh) * | 2020-07-16 | 2020-10-02 | 北京炼石网络技术有限公司 | 基于simd指令的sm4的并行计算方法及装置、可读存储介质 |
Non-Patent Citations (6)
Title |
---|
SHI WANG ET AL.: ""Improved Integral Attacks on PRESENT-80"", 《INSCRYPT 2018》 * |
ZEJUN XIANG ET AL.: ""Optimizing Implementations of Linear Layers"", 《IACR TRANSACTIONS ON SYMMETRIC CRYPTOLOGY》 * |
刘摇平: ""抗旁路攻击的可重构AES/SM4 IP核设计"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
刘金峒 等: ""SM4加密算法可裁剪式结构设计与硬件实现"", 《南开大学学报(自然科学版)》 * |
梁浩 等: ""基于复合域的SM4算法的设计与实现"", 《微电子学与计算机》 * |
符天枢 等: ""SM4算法CBC模式的高吞吐率ASIC实现"", 《微电子学与计算机》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN114422111A (zh) * | 2022-03-30 | 2022-04-29 | 湖北大学 | 一种轻量级的sm4算法的硬件实现电路 |
CN115276955A (zh) * | 2022-06-27 | 2022-11-01 | 湖北大学 | 一种优化的clefia算法线性层实现电路 |
CN117134886A (zh) * | 2023-08-21 | 2023-11-28 | 湖北大学 | 一种优化的fox算法线性层电路 |
CN117134886B (zh) * | 2023-08-21 | 2024-01-30 | 湖北大学 | 一种优化的fox算法线性层电路 |
Also Published As
Publication number | Publication date |
---|---|
CN112507644B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507644B (zh) | 优化的sm4算法线性层电路 | |
US20120084287A1 (en) | Estimation of unique database values | |
Penchalaiah et al. | Design and Implementation of Low Power and Area Efficient Architecture for High Performance ALU | |
CN114911455B (zh) | 基于fpga的高速伪随机数生成方法及高速伪随机数生成器 | |
WO2021052229A1 (zh) | 基于不同数据类型传输的极化码bp译码单元 | |
Song et al. | A general construction and encoder implementation of polar codes | |
CN103152057B (zh) | 一种基于双归一化修正因子的ldpc译码器及译码方法 | |
Chen et al. | Note on scalar multiplication using division polynomials | |
Lu et al. | Fast Successive-Cancellation Decoding of Polar Codes with Sequence Nodes | |
Wang et al. | An optimized encoding algorithm for systematic polar codes | |
CN108449091A (zh) | 一种基于近似计算的极化码置信传播译码方法及译码器 | |
CN110022202B (zh) | 一种搜索s盒的最少硬件实现门数的方法和s盒电路结构 | |
CN115276955B (zh) | 一种优化的clefia算法线性层实现电路 | |
Wang et al. | A necessary and sufficient condition for a class of nonsingular Galois NFSRs | |
Wang et al. | An efficient construction of polar codes based on the general partial order | |
CN114925640A (zh) | 一种多级mprm逻辑电路功耗优化方法 | |
Rathore et al. | A systematic map method for realizing minimal logic functions of arbitrary number of variables | |
CN103684368B (zh) | 通用可逆比较交换器 | |
Zeng et al. | Word oriented cascade jump σ− LFSR | |
Zhao | Robustness of complex networks with applications to random graphs | |
CN117134886B (zh) | 一种优化的fox算法线性层电路 | |
Jiang et al. | Toward Lower Repair Bandwidth and Optimal Repair Complexity of Piggybacking Codes with Small Sub-packetization | |
Lu et al. | Point visibility computing in polygons with holes | |
Sushma et al. | Design of S-box and IN VS-box using Composite Field Arithmetic for AES Algorithm | |
Soleymani et al. | Analog privacy-preserving coded computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |