开放科学(资源服务)标志码(OSID):
对称密码在网络和通信领域应用广泛,其按照加密方式的不同可进一步分为序列密码算法和分组密码算法[1]。在基于比特级操作[2]的序列密码算法中,非线性布尔函数成为其核心部件,在乱源更新和乱数生成过程中都参与运算,而s盒是分组密码唯一的非线性部件,为算法提供了非线性性和安全性,两者本质上都是非线性布尔函数,但在密码芯片实际处理中却存在不同的实现方式。在s盒实现方面,由于s盒构造方式的不同,国内外研究分为通用和专用s盒的实现加速,在通用领域[3-5]均采用时序部件8-8的RAM搭建可重构运算单元,可不同程度地并行实现常规类型的s盒,区别在于文献[5]在电路的基础上增加了旁系电路,通过门控技术降低了s盒功耗。而文献[6]将s盒作为非线性布尔函数,利用与或阵列的形式搭建可重构s盒电路。在专用领域,s盒的实现主要针对基于塔域求逆和仿射变换设计s盒的算法,如AES、Camellia、SMS4等。文献[7-8]根据有限域上域的扩张理论,采用组合逻辑的方式优化单算法AESs盒。文献[9]提出的复合域求逆运算模型针对有限域求逆的s盒,其本质上仍然是域的扩张理论,文献[10]将AES、Camellia、SMS4等s盒电路采用GF(16)上的运算搭建进而重构,其核心的求逆电路相同,区别只是在于求逆电路输入前和输出后的转换矩阵。在针对序列密码的非线性布尔函数(NBF)实现方面,单算法设计如文献[11]采取直接实现的方法,而面向密码处理的NBF设计结构具有通用性,其可重构设计借鉴了FPGA思想。文献[12-14]在统计序列密码NBF运算特征,即参与运算变量个数与项次数基础上采用LUT搭建实现,其结构的区别在于LUT选取的粒度和规模不同。
但以上设计均只是从某种或者某类算法的角度出发,并未将对称密码非线性运算模块统一,实际上两者本质上并无区别,这样的异构化设计必然存在资源浪费的问题。此外由于s盒一般采用并行化处理,这使得s盒成为密码处理器中资源消耗最大的模块,如何降低对称密码非线性运算面积开销是急需解决的问题,因此可以采取一种统一的结构实现以降低硬件开销。
本文设计一种s盒非线性布尔函数模块(Sbox_Non-linear Boolean Function Module,SNBFM)架构,在MBFM架构的基础上融合部分类型的s盒,并结合有限域理论,对其中能够优化的类AESs盒进行适配,使其对类AES的s盒支持力度更高。
1 可重构分析 1.1 两类非线性密码组件操作特征分析在对称密码中,s盒和非线性布尔函数都是作为异构的模块单独实现,其中NBF在序列密码的编码环节[15],即乱源更新,在乱数生成的过程中均参与运算,其通用表达式包含1,2,…,n次常数项,公式如下所示:
$ \begin{array}{l}f\left(x\right)={c}_{0}+{c}_{1}{x}_{1}+\cdots +{c}_{n}{x}_{n}+\\ {\begin{array}{cc}& \end{array}}_{}{}_{}{c}_{12}{x}_{1}{x}_{2}+\cdots +{{c}_{1}}_{, 2, \cdots , n}{x}_{1}\cdots {x}_{n}\end{array} $ |
通过统计NESSIE计划、CRYPTREC计划和ESTREAM计划,征集序列密码算法NBF操作特征,即对其状态序列长度、参与运算变量个数、项个数和次数进行分析,如表 1所示,发现虽然位宽为12
![]() |
下载CSV 表 1 NBF操作特征 Table 1 NBF operational characteristics |
s盒设计方法主要包括随机选取测试和利用数学方法产生2种[16],并且需要满足一定的设计准则,而硬件设计人员在s盒实现上关注的是s盒的操作特征,即输入和输出变量数。本文对AES计划、NESSIE计划以及其他商用分组密码算法的s盒进行特征分析,发现s盒的种类大多集中在4-4、6-4、8-4、8-8、8-32上,同时s盒具有一定的并行性。
1.2 NBFM结构实现能力分析在文献[13]所列出的4种NBFM结构中,其中的一种共享2输入NBFM结构如图 1所示,NBFM是一个10入4出的结构,这类含共享变量的结构充分考虑了NBFM操作特征,减少了端口数目,易于在处理器中集成,整体结构可以分为LUT存储和NBFM组合逻辑两部分。适配8-8 s盒的NBFM如图 2所示。NBFM实现能力如表 2所示,其中输出端用0、1、2、3代替。将s盒映射到NBFM是将s盒输出的每一路都看作输入的非线性布尔函数,然后根据输入变量的多少确定NBFM变量模式,可以看到,NBFM对于4输入、5输入、6输入的s盒能够分别支持4路、2路和1路输出,较好地支持了4-4、6-4类型的s盒。但由于NBFM缺少8变量模式,因此只能通过级联实现8变量NBFM,图 2所示为8-8 s盒输出任意一路在NBFM中的适配,而各类s盒在NBFM中适配资源消耗如表 3所示。
![]() |
Download:
|
图 1 NBFM结构 Fig. 1 NBFM structure |
![]() |
Download:
|
图 2 适配8-8 s盒的NBFM Fig. 2 NBFM of adaptation 8-8 s box |
![]() |
下载CSV 表 2 NBFM实现能力 Table 2 NBFM Realization ability |
![]() |
下载CSV 表 3 不同类型s盒资源消耗 Table 3 Resource consumption of different types of s box |
从表 3可以看出,NBFM在实现4-4和6-4的s盒上消耗资源较少,而在实现8输入变量的s盒上时需要多个NBFM级联才能实现1路输出。NBFM实现一个8-8的s盒与8-8的RAM如表 4所示。可以看出,NBFM在实现8-8 s盒上效率很低,性能指标也并不如RAM实现,但通过对8-8的s盒进行进一步细分发现,8-8的s盒中存在求逆和仿射变换构造的类AESs盒,这类s盒可通过组合逻辑的方法化简输出的NBF表达式,从而易于NBFM适配。
![]() |
下载CSV 表 4 8-8的s盒适配资源评估 Table 4 8-8 s box adaptation resource evaluation |
在对文献[7-8]进行分析后发现,类AES的s盒存在2种分解形式:GF(42)2和GF((22)2)2。2种分解形式区别在于基本模块规模的不同,而适合NBFM这种2输入LUT类型实现的是GF((22)2)2,因此本文将根据混合基方法[17]推导s盒分解后的不同模块表达式。
文献[17]采用混合基实现AESs盒的塔域分解,具体采用的基和不可约多项式如表 5所示,其中,
![]() |
下载CSV 表 5 不可约多项式和基的选取 Table 5 Selection of irreducible polynomials and bases |
![]() |
Download:
|
图 3 塔域分解后的AES s盒电路 Fig. 3 AES s box circuit after tower domain decomposition |
s盒的求逆部分包含平方S4、乘法M4、乘法
S4、M4、
$ {A}^{2}=({a}_{0}\oplus {a}_{1}{\beta )}^{2}=({a}_{0}^{2}\oplus {a}_{1}^{2}\alpha )\oplus {a}_{1}^{2}\beta $ | (1) |
$ AB=\left({a}_{0}\oplus {a}_{1}\beta \right)\left({b}_{0}\oplus {b}_{1}\beta \right)= \\ \;\;\;\;\;\;\; \left({a}_{0}{b}_{0}\oplus {a}_{1}{b}_{1}\alpha \right)\oplus \left[\left({a}_{0}\oplus {a}_{1}\right)\left({b}_{0}\oplus {b}_{1}\right)\oplus {a}_{0}{b}_{0}\right]\beta $ | (2) |
$ AB\_\mathrm{p}\mathrm{t}\mathrm{n}=\left({a}_{0}\oplus {a}_{1}\beta \right)\left({b}_{0}\oplus {b}_{1}\beta \right)= \\ \;\;\;\;\;\; \left[\right({a}_{0}\oplus {a}_{1}\left)\right({b}_{0}\oplus {b}_{1}\left)\oplus {a}_{1}{b}_{1}\alpha \right]\beta \oplus \left({a}_{0}{b}_{0}\oplus {a}_{1}{b}_{1}\alpha \right){\beta }^{4} $ | (3) |
$ \lambda A=\lambda \left({a}_{0}\oplus {a}_{1}\beta \right)=\left({a}_{1}\alpha \oplus {a}_{0}{\alpha }^{2}\right)\beta \oplus {a}_{1}{\beta }^{4} $ | (4) |
$ {A}^{-1}=({a}_{1}\beta \oplus {a}_{0}{\beta }^{4}{)}^{-1}=[({a}_{0}\oplus {a}_{1}{)}^{2}\alpha \oplus {a}_{0}{a}_{1}{]}^{-1}\times \\ \;\;\;\;\;\;\; [{a}_{0}\oplus \left({a}_{0}\oplus {a}_{1}\right)\beta ] $ | (5) |
S2、
$ {C}^{2}=({c}_{0}\alpha \oplus {c}_{1}{\alpha }^{2}{)}^{2}={c}_{1}\alpha \oplus {c}_{0}{\alpha }^{2} $ | (6) |
$ \alpha C=\alpha \left({c}_{0}\alpha \oplus {c}_{1}{\alpha }^{2}\right)={c}_{1}\alpha \oplus \left({c}_{0}\oplus {c}_{1}\right){\alpha }^{2} $ | (7) |
$ {\alpha }^{2}C={\alpha }^{2}\left({\mathrm{c}}_{0}\alpha \oplus {c}_{1}{\alpha }^{2}\right)=\left({c}_{1}\oplus {c}_{0}\right)\alpha \oplus {c}_{0}{\alpha }^{2} $ | (8) |
$ \begin{array}{l}CD=\left({\mathrm{c}}_{0}\alpha \oplus {c}_{1}{\alpha }^{2}\right)\left({d}_{0}\alpha \oplus {\mathrm{d}}_{1}{\alpha }^{2}\right)=\\ \;\;\;\;\;\;\;\;\; \left({c}_{0}{d}_{1}\oplus {c}_{1}{d}_{0}\oplus {c}_{1}{d}_{1}\right)\alpha \oplus \\ \;\;\;\;\;\;\;\;\;\left({c}_{0}{d}_{1}\oplus {c}_{1}{d}_{0}\oplus {c}_{0}{d}_{0}\right){\alpha }^{2}\end{array} $ | (9) |
$ {C}^{-1}={C}^{2}=({c}_{0}\alpha \oplus {c}_{1}{\alpha }^{2}{)}^{2}={c}_{1}\alpha \oplus {c}_{0}{\alpha }^{2} $ | (10) |
$ {A}^{2}=\{{A}_{3}, {A}_{2}, {A}_{1}, {A}_{0}{\}}^{2}= \\ \;\;\;\;\;\;\;\;{A}_{2}{\alpha }^{2}\beta \oplus {A}_{3}\alpha \beta \oplus ({A}_{0}\oplus {A}_{2}\oplus {A}_{3}\left){\alpha }^{2}\oplus \right({A}_{1}\oplus {A}_{2})\alpha $ | (11) |
$ \lambda A=\lambda \{{A}_{3}, {A}_{2}, {A}_{1}, {A}_{0}\}={A}_{3}{\alpha }^{2}{\beta }^{4}\oplus {A}_{2}\alpha {\beta }^{4}\oplus \left({A}_{0}\oplus {A}_{2}\oplus {A}_{3}\right){\alpha }^{2}\beta \oplus \left({A}_{0}\oplus {A}_{1}\oplus {A}_{3}\right)\alpha \beta $ | (12) |
$ \begin{array}{l}{A}^{-1}=\{{A}_{3}, {A}_{2}, {A}_{1}, {A}_{0}{\}}^{-1}=({A}_{1}\oplus {A}_{3}\oplus {A}_{0}{a}_{3}\oplus {A}_{1}{A}_{2}\oplus {A}_{0}{A}_{1}{A}_{2}\oplus {A}_{0}{A}_{2}{A}_{3}){\alpha }^{2}{\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\;\left({A}_{0}\oplus {A}_{1}\oplus {A}_{2}\oplus {A}_{3}\oplus {A}_{0}{A}_{3}\oplus {A}_{1}{A}_{2}\oplus {A}_{0}{A}_{1}{A}_{3}\oplus {A}_{1}{A}_{2}{A}_{3}\right)\alpha {\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{1}\oplus {A}_{0}{A}_{2}\oplus {A}_{0}{A}_{3}\oplus {A}_{1}{A}_{3}\oplus {A}_{0}{A}_{1}{A}_{2}\right){\alpha }^{2}\beta \oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}\oplus {A}_{1}\oplus {A}_{0}{A}_{2}\oplus {A}_{0}{A}_{3}\oplus {A}_{0}{A}_{1}{A}_{3}\right)\alpha \beta \end{array} $ | (13) |
$ \begin{array}{l}AB\_\mathrm{p}\mathrm{t}\mathrm{n}=\left({A}_{0}{B}_{0}\oplus {A}_{0}{B}_{1}\oplus {A}_{1}{B}_{0}\oplus {A}_{2}{B}_{2}\oplus {A}_{3}{B}_{3}\right){\alpha }^{2}{\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{1}\oplus {A}_{1}{B}_{0}\oplus {A}_{1}{B}_{1}\oplus {A}_{2}{B}_{3}\oplus {A}_{3}{B}_{1}\right)\alpha {\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{0}\oplus {A}_{0}{B}_{1}\oplus {A}_{0}{B}_{2}\oplus {A}_{0}{B}_{3}\oplus {A}_{1}{B}_{0}\oplus {A}_{1}{B}_{2}\oplus {A}_{2}{B}_{0}\oplus {A}_{2}{B}_{1}\oplus {A}_{3}{B}_{0}\right){\alpha }^{2}\beta \oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{1}\oplus {A}_{0}{B}_{3}\oplus {A}_{1}{B}_{0}\oplus {A}_{1}{B}_{1}\oplus {A}_{1}{B}_{2}\oplus {A}_{3}{B}_{3}\oplus {A}_{2}{B}_{1}\oplus {A}_{3}{B}_{0}\oplus {A}_{3}{B}_{1}\right)\alpha \beta \end{array} $ | (14) |
$ \begin{array}{l}AB=\left({A}_{0}{B}_{2}\oplus {A}_{0}{B}_{3}\oplus {A}_{1}{B}_{2}\oplus {A}_{2}{B}_{0}\oplus {A}_{2}{B}_{1}\oplus {A}_{2}{B}_{2}\oplus {A}_{2}{B}_{3}\oplus {A}_{3}{B}_{0}\oplus {A}_{3}{B}_{2}\right){\alpha }^{2}{\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{2}\oplus {A}_{1}{B}_{2}\oplus {A}_{1}{B}_{3}\oplus {A}_{2}{B}_{1}\oplus {A}_{2}{B}_{3}\oplus {A}_{3}{B}_{0}\oplus {A}_{3}{B}_{1}\oplus {A}_{3}{B}_{2}\oplus {A}_{3}{B}_{3}\right)\alpha {\beta }^{4}\oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{0}\oplus {A}_{0}{B}_{1}\oplus {A}_{1}{B}_{0}\oplus {A}_{2}{B}_{2}\oplus {A}_{3}{B}_{3}\right){\alpha }^{2}\beta \oplus \\ \;\;\;\;\;\;\;\;\;\;\; \left({A}_{0}{B}_{1}\oplus {A}_{1}{B}_{0}\oplus {A}_{1}{B}_{1}\oplus {A}_{2}{B}_{2}\oplus {A}_{2}{B}_{3}\oplus {A}_{3}{B}_{2}\right)\alpha \beta \end{array} $ | (15) |
将AESs盒求逆表达式推导完成后,由于涉及到的是类AESs盒,因此还需要从原理上证明此类s盒适合重构。文献[10]对AES、Camellia、SMS4等类AESs盒做了可重构电路,其求逆统一在塔域GF(42)2上实现,区别仅在复合了仿射变换后的前后同构映射矩阵上,但并未说明其理论基础。文献[18]根据包含相同个数元素的域是同构的原理,证明了GF(256)上s盒S和基于有限域扩张理论求出来的逆s盒T存在线性变换A1、B1,使得S=B1(T(A(x)),并进一步证明有2 040个这样的转换对使得s盒原域和塔域的乘法逆s盒保持线性变换。A1、B1即为转换矩阵,在采用统一基类型和不可约多项式的前提下类AESs盒乘法逆T相同,这样即从原理上证明了此类s盒存在统一的结构,为可重构电路设计奠定了理论基础。
2.2 类AESs盒与NBFM可重构分析将塔域分解后的s盒和NBFM结构重构,即将s盒适配到NBFM结构中,将s盒分解到GF(16)上的各个运算,考虑各模块输入输出情况,如乘法M4是8入4出的结构,采用NBFM的6输入模式后,需要消耗16个NBFM,具体各模块资源消耗如表 6所示,其中,异或包括求逆的2个GF(16)上运算以及2个转换矩阵,1个异或门面积
![]() |
下载CSV 表 6 各模块资源消耗 Table 6 Resource consumption of each module |
Sbox_area=3M4+S4+I4+λ+异或,相当于用51个NBFM加一部分异或门实现一个可分解的8-8 s盒,这样效率不如直接实现,由于M4布尔表达式是8入4出的结构,如果直接采取NBFM的6变量模式搭建一个完备的NBF将导致资源浪费,冗余度过高,应该针对M4继续分解。
将GF(16)上的乘法继续分解到GF(4)上,用到3个M2乘法、1个α乘以及部分异或门资源,电路如图 4所示。涉及到的各模块资源损耗如表 7所示,其中,M2电路只考虑LUT资源的情况下消耗4个2输入LUT,相当于1/4个NBFM。
![]() |
Download:
|
图 4 M4电路 Fig. 4 M4 circuit |
![]() |
下载CSV 表 7 M4资源消耗 Table 7 M4 resource consumption |
最后相当于用1个NBFM实现GF(16)上的乘法。最终的s盒占用变为6个NBFM加一部分的异或门,相比将s盒输出展开写成NBF表达式的方法节约了近9倍的NBFM资源。
2.3 结合类AESs盒的NBFM结构优化分析由2.1节对塔域分解后的不同模块表达式的推导可知,式(11)~式(15)复杂程度不一,映射到NBFM上还是采用门级电路实现未定,根据推导出的表达式复杂程度,结合表达式输入输出特征,将各个模块分为3类实现形式:1)基于异或实现平方S4,
![]() |
Download:
|
图 5 s盒适配后的整体结构 Fig. 5 Overall structure of s-box after adaptation |
基本模块平方S4、
$ \begin{array}{l}{\boldsymbol{A}}_{\mathrm{A}\mathrm{E}\mathrm{S}}^{\mathrm{\delta }}=\left[\begin{array}{cccccccc}0& 1& 1& 0& 1& 0& 0& 0\\ 0& 1& 0& 1& 0& 1& 0& 0\\ 1& 1& 1& 1& 0& 0& 0& 0\\ 0& 0& 0& 1& 0& 0& 1& 0\\ 0& 0& 0& 0& 1& 1& 1& 0\\ 0& 0& 1& 1& 0& 0& 0& 0\\ 0& 1& 0& 0& 0& 1& 0& 1\\ 0& 0& 0& 0& 1& 0& 1& 1\end{array}\right]\\ {\boldsymbol{A}}_{\mathrm{A}\mathrm{E}\mathrm{S}}^{\mathrm{A}{\mathrm{\delta }}^{-1}+\mathrm{c}}=\left[\begin{array}{cccccccc}0& 1& 0& 1& 0& 1& 1& 0\\ 1& 0& 1& 0& 0& 1& 0& 1\\ 1& 1& 0& 0& 1& 0& 0& 0\\ 0& 0& 0& 0& 0& 0& 1& 1\\ 1& 0& 0& 0& 1& 1& 0& 1\\ 1& 0& 1& 0& 1& 1& 0& 0\\ 0& 1& 1& 0& 0& 1& 1& 0\\ 1& 0& 1& 0& 0& 0& 0& 1\end{array}\right]\end{array} $ |
由式(13)可得,求逆
![]() |
下载CSV
表 8 |
比较式(4)和式(5),发现
![]() |
Download:
|
图 6 SNBFM结构 Fig. 6 SNBFM structure |
采用以上的模块搭建类AESs盒电路,可以看到除了
在保证NBFM原有NBF功能前提下,采用verilog实现各个改进的NBFM模块,最后按照类AESs盒电路的组织形式对改进后的NBFM进行级联实现s盒功能。功能验证通过后在CMOS 65 nm工艺库下对该电路进行综合,与塔域直接实现的s盒电路和NBFM电路进行对比分析后的结果如表 9所示。
![]() |
下载CSV 表 9 电路性能指标 Table 9 Circuit performance index |
RAM是一个时序部件,虽然延迟最小但规模过大,而文献[13]的NBFM结构在适配s盒时将s盒作为NBF适配,这种方法虽然适合通用8-8的s盒,但由于NBM最多只能支持6变量模式,因此NBFM个数消耗过多以致占用资源最多。这种NBF适配的方法适合6变量、4变量输入的s盒,但并不适合8-8的通用s盒。文献[17]所选用的塔域分解是一种用组合逻辑的方法实现AESs盒,其目的是为了降低面积开销,但是这种组合逻辑的方法在单个算法s盒性能表现上并不是最优的。文献[19]将各模块的表达式推导出以后,采用CSE算法将其中的各模块表达式含有的公共项消除进一步减少了s盒面积和延迟。本文验证了类AESs盒电路差异仅在转换矩阵上,实现了类AESs盒和NBF的可重构,由于可重构的结构是要实现两类非线性运算,但NBFM的结构并不适合对类AESs盒直接实现,需要对NBFM进行改进,这使得NBFM的电路资源并非完全参与s盒的运算,采用CSE算法也会造成一定的冗余度。也因此,本文采用类似的塔域分解的方法,相比文献[19]增加了1倍多面积。
但实际上面积不是唯一的指标,由于牵扯到复杂的NBF适配,NBFM的个数是多个级联在一起,因此在保证充分复用前提下用最少的NBFM个数来实现s盒。本文采用的方法相当于在4个改进后的NBM电路加一部分异或阵列,可以看到在4个NBFM基础上增加1 632-362×4=184 μm2实现了一个类AES的8-8的s盒,相当于只用22.7%的s盒电路面积实现了一个类AES的s盒,而电路延迟基本不变。
在电路实现功能上,如表 10所示,由于塔域分解定理只针对部分s盒,因此并不能实现通用的8-8 s盒的实现。
![]() |
下载CSV 表 10 电路实现功能的对比 Table 10 Comparison of circuit realization functions |
本文实现了类AESs盒和NBFM的可重构电路,并基于塔域分解理论,提出一种新的SNBFM结构。采用混合基方法将AES类s盒电路分解为GF(16)上的各种运算模块,并推导出这些模块的位级表达式。实验结果表明,改进后的整体结构只用到4个NBFM加上原s盒的22.7%面积实现一个完整的类AESs盒,而延迟基本不变,并保证了已有NBF功能。但类AESs盒相比通用s盒种类较少,使得该结构的用途受到限制,下一步将研究运用更少的资源实现通用s盒和NBF的可重构,并通过扩展指令的方式加速密码运算[20]。
[1] |
刘嘉勇. 应用密码学[M]. 北京: 清华大学出版社, 2008. LIU J Y. Applied cryptography[M]. Beijing: Tsinghua University Press, 2008. (in Chinese) |
[2] |
JIAO L, LIN Y. Stream cipher designs: a review[J]. Science China Information Sciences, 2020, 63(3): 80-104. |
[3] |
孟涛, 戴紫彬. 可重构S盒运算单元的设计与实现[J]. 电子技术应用, 2007, 33(5): 139-139. MENG T, DAI Z B. Design and implementation of reconfigurable S-box computing unit[J]. Application of Electronic Technique, 2007, 33(5): 139-141. (in Chinese) |
[4] |
常忠祥, 陈卓. 可重构S盒替换单元研究与设计[J]. 微电子学与计算机, 2018, 35(12): 125-128, 132. CHANG Z X, CHEN Z. Research and design of reconfigurable S-box replacement unit[J]. Microelectronics and Computer, 2018, 35(12): 125-128, 132. (in Chinese) |
[5] |
李兆奇. 面向分组密码算法的粗粒度可重构架构高能效设计与优化[D]. 南京: 东南大学, 2017. LI Z Q. Energy efficient design and optimization of coarse grained reconfigurable architecture for block cipher algorithm[D]. Nanjing: Southeast University, 2017. (in Chinese) |
[6] |
郭怡惠, 李森森, 戴紫彬, 等. RISC微处理器S盒替换指令扩展[J]. 微电子学与计算机, 2014, 31(5): 53-57. GUO Y H, LI S S, DAI Z B, et al. S-box replacement instruction extension of RISC microprocessor[J]. Microelectronics and Computer, 2014, 31(5): 53-57. (in Chinese) |
[7] |
张肖强. 基于复合域运算的AES密码电路优化设计方法研究[D]. 南京: 南京航空航天大学, 2016. ZHANG X Q. Research on optimization design method of AES cipher circuit based on compound field operation[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2016. (in Chinese) |
[8] |
MAXIMOV A, EKDAHL P. New circuit minimization techniques for smaller and faster AES S-Boxes[J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2019, 32(4): 91-125. |
[9] |
张学颖. 对称密码有限域运算模块可重构设计技术研究[D]. 郑州: 解放军信息工程大学, 2010. ZHANG X Y. Research on reconfigurable design technology of symmetric cipher finite field operation module[D]. Zhengzhou: PLA University of Information Engineering, 2010. (in Chinese) |
[10] |
SATPATHY S, SURESH V, MATHEW S, et al. 220MV-900MV 794/584/754/GBPS/W reconfigurable GF(24)2 AES/SMS4/camellia symmetric-key cipher accelerator in 14NM tri-gate CMOS[C]//Proceedings of 2018 IEEE Symposium on VLSI Circuits. Washington D.C., USA: IEEE Press, 2018: 158-167.
|
[11] |
黄荫钊. 基于FPGA的低延迟Grain-128a算法设计与实现[D]. 西安: 西安电子科技大学, 2019. HUANG Y Z. Design and implementation of low latency grain-128a algorithm based on FPGA[D]. Xi'an: Xi'an University of Electronic Science and Technology, 2019. (in Chinese) |
[12] |
纪祥君, 陈迅, 戴紫彬, 等. 一种改进的非线性布尔函数硬件设计与实现[J]. 计算机应用与软件, 2014, 31(7): 283-285, 302. JI X J, CHEN X, DAI Z B, et al. Hardware design and implementation of an improved nonlinear Boolean function[J]. Computer Applications and Software, 2014, 31(7): 283-285, 302. (in Chinese) |
[13] |
常忠祥, 戴紫彬, 李伟. 面向密码算法的非线性布尔函数实现技术研究[J]. 电子技术应用, 2014, 40(7): 61-64. CHANG Z X, DAI Z B, LI W. Research on implementation technology of nonlinear Boolean function for cryptographic algorithm[J]. Application of Electronic Technology, 2014, 40(7): 61-64. (in Chinese) |
[14] |
戴紫彬, 王周闯, 李伟, 等. 可重构非线性布尔函数利用率模型研究与硬件设计[J]. 电子与信息学报, 2017, 39(5): 1226-1232. DAI Z B, WANG Z C, LI W, et al. Reconfigurable nonlinear Boolean function utilization model research and hardware design[J]. Acta electronica Sinica, 2017, 39(5): 1226-1232. (in Chinese) |
[15] |
张振民. 序列密码非线性组件的设计研究[D]. 西安: 西安电子科技大学, 2014. ZHANG Z M. Research on the design of nonlinear component of sequence cipher[D]. Xi'an: Xi'an University of Electronic Science and Technology, 2014. (in Chinese) |
[16] |
李声涛. 分组密码中S盒的设计与分析[D]. 长沙: 国防科学技术大学, 2004. LI S T. Design and analysis of S-box in block cipher[D]. Changsha: University of Defense Science and Technology, 2004. (in Chinese) |
[17] |
NOGAMI Y, NEKADO K, TOYOTA T, et al. Mixed bases for efficient inversion in F(22)2 and conversion matrices of sub bytes of AES[C]//Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems. Berlin, Germany: Springer, 2010: 156-168.
|
[18] |
刘健. 两类密码组件的实现优化方法研究[D]. 郑州: 战略支援部队信息工程大学, 2019. LIU J. Research on optimization m_ethod of two kinds of cryptographic components[D]. Zhengzhou: PLA Strategic Support Force Information Engineering University, 2019. (in Chinese) |
[19] |
戴强, 戴紫彬, 李伟. 基于增强型延时感知CSE算法的AES S盒电路优化设计[J]. 电子学报, 2019, 47(1): 129-136. DAI Q, DAI Z B, LI W. Optimization design of AES S-box circuit based on enhanced delay sensing CSE algorithm[J]. Acta Electronica Sinica, 2019, 47(1): 129-136. (in Chinese) |
[20] |
刘元锋. RISC架构微处理器扩展对称密码处理指令的研究[D]. 郑州: 解放军信息工程大学, 2006. LIU Y F. Research on RISC architecture microprocessor extending symmetric cipher processing instruction[D]. Zhengzhou: PLA Information Engineering University, 2007. (in Chinese) |