<p>The MK-3 algorithm uses a large-scale <InlineEquation ID="IEq1"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq1.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="54" /> </InlineMediaObject> <EquationSource Format="TEX">\(16 \times 16\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>16</mn> <mo>×</mo> <mn>16</mn> </mrow> </math></EquationSource> </InlineEquation> S-box, which is over a Galois Fields <InlineEquation ID="IEq2"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq2.gif" Format="GIF" Height="20" Rendition="HTML" Resolution="72" Type="Linedraw" Width="58" /> </InlineMediaObject> <EquationSource Format="TEX">\(G\!F({2^{16}})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>G</mi> <mspace width="-0.166667em" /> <mi>F</mi> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mn>16</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> and contains 65536 16-bit elements. In practical Field Programmable Gate Array engineering (FPGA), traditional look-up table method is usually used to implement the S-box in hardware, and this implementation method has problems such as large hardware resources occupancy, poor portability, limited application scenarios, etc. In addition, there are few studies available related to the optimized implementation of large-scale S-box in FPGA. To address the above problems, in this paper a hardware implementation of composite field constructions based on polynomial basis for large-scale S-box is proposed, which completes the linear affine transformation and nonlinear Galois Fields operations in large-scale S-box through logic operations. This paper proposes and implements 3 composite field constructions based on polynomial basis: <InlineEquation ID="IEq3"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq3.gif" Format="GIF" Height="20" Rendition="HTML" Resolution="72" Type="Linedraw" Width="70" /> </InlineMediaObject> <EquationSource Format="TEX">\(G\!F({({2^8})^2})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>G</mi> <mspace width="-0.166667em" /> <mi>F</mi> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mn>8</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>, <InlineEquation ID="IEq4"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq4.gif" Format="GIF" Height="20" Rendition="HTML" Resolution="72" Type="Linedraw" Width="89" /> </InlineMediaObject> <EquationSource Format="TEX">\(G\!F({({({2^4})^2})^2})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>G</mi> <mspace width="-0.166667em" /> <mi>F</mi> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mn>4</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>, and <InlineEquation ID="IEq5"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq5.gif" Format="GIF" Height="20" Rendition="HTML" Resolution="72" Type="Linedraw" Width="107" /> </InlineMediaObject> <EquationSource Format="TEX">\(G\!F({({({({2^2})^2})^2})^2})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>G</mi> <mspace width="-0.166667em" /> <mi>F</mi> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>. According to the irreducible polynomial sets determined by the 3 construction methods, the corresponding isomorphic functions are calculated, and the corresponding isomorphic matrices and inverse isomorphic matrices are constructed. This simplifies the originally complex 16-bit Galois Fields inversion operations into 8-bit, 4-bit, and 2-bit inversion operations, respectively. Finally, Xilinx’s Vivado development tool is used to perform functional simulation verification and comprehensive testing of the 3 constructions in this paper. Experiment results show that the 3 composite field constructions based on polynomial basis proposed in this paper consume 297 LUTs, 223 LUTs, and 236 LUTs respectively, and effectively solve the problem of hardware implementation difficulty of the <InlineEquation ID="IEq6"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq6.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="54" /> </InlineMediaObject> <EquationSource Format="TEX">\(16 \times 16\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mn>16</mn> <mo>×</mo> <mn>16</mn> </mrow> </math></EquationSource> </InlineEquation> S-box for MK-3 algorithm. Among them, the composite field <InlineEquation ID="IEq7"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="13389_2025_371_Article_IEq7.gif" Format="GIF" Height="20" Rendition="HTML" Resolution="72" Type="Linedraw" Width="89" /> </InlineMediaObject> <EquationSource Format="TEX">\(G\!F({({({2^4})^2})^2})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>G</mi> <mspace width="-0.166667em" /> <mi>F</mi> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mrow> <mo stretchy="false">(</mo> <msup> <mn>2</mn> <mn>4</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> construction based on polynomial basis proposed in this paper is the optimal solution, reaching the Frequency of 97.09 MHz and Frequency/LUTs of 0.43538, 0.02542 higher than that of the existing optimal scheme of 0.40996. The 3 composite field constructions based on polynomial basis in this paper satisfy the purpose of hardware optimization implementation by increasing the operation Frequency to the utmost while reducing the hardware resources.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Research and implementation of large-scale S-box for MK-3 algorithm based on polynomial basis: in FPGA

  • Ruipeng Hong,
  • Lei Zhang,
  • Zhankun Pan,
  • Chaoen Xiao,
  • Jianxin Wang

摘要

The MK-3 algorithm uses a large-scale \(16 \times 16\) 16 × 16 S-box, which is over a Galois Fields \(G\!F({2^{16}})\) G F ( 2 16 ) and contains 65536 16-bit elements. In practical Field Programmable Gate Array engineering (FPGA), traditional look-up table method is usually used to implement the S-box in hardware, and this implementation method has problems such as large hardware resources occupancy, poor portability, limited application scenarios, etc. In addition, there are few studies available related to the optimized implementation of large-scale S-box in FPGA. To address the above problems, in this paper a hardware implementation of composite field constructions based on polynomial basis for large-scale S-box is proposed, which completes the linear affine transformation and nonlinear Galois Fields operations in large-scale S-box through logic operations. This paper proposes and implements 3 composite field constructions based on polynomial basis: \(G\!F({({2^8})^2})\) G F ( ( 2 8 ) 2 ) , \(G\!F({({({2^4})^2})^2})\) G F ( ( ( 2 4 ) 2 ) 2 ) , and \(G\!F({({({({2^2})^2})^2})^2})\) G F ( ( ( ( 2 2 ) 2 ) 2 ) 2 ) . According to the irreducible polynomial sets determined by the 3 construction methods, the corresponding isomorphic functions are calculated, and the corresponding isomorphic matrices and inverse isomorphic matrices are constructed. This simplifies the originally complex 16-bit Galois Fields inversion operations into 8-bit, 4-bit, and 2-bit inversion operations, respectively. Finally, Xilinx’s Vivado development tool is used to perform functional simulation verification and comprehensive testing of the 3 constructions in this paper. Experiment results show that the 3 composite field constructions based on polynomial basis proposed in this paper consume 297 LUTs, 223 LUTs, and 236 LUTs respectively, and effectively solve the problem of hardware implementation difficulty of the \(16 \times 16\) 16 × 16 S-box for MK-3 algorithm. Among them, the composite field \(G\!F({({({2^4})^2})^2})\) G F ( ( ( 2 4 ) 2 ) 2 ) construction based on polynomial basis proposed in this paper is the optimal solution, reaching the Frequency of 97.09 MHz and Frequency/LUTs of 0.43538, 0.02542 higher than that of the existing optimal scheme of 0.40996. The 3 composite field constructions based on polynomial basis in this paper satisfy the purpose of hardware optimization implementation by increasing the operation Frequency to the utmost while reducing the hardware resources.