<p>This work presents an integrated area optimized hardware accelerator for generating public and private key pair for <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(N^{th}\)</EquationSource> <EquationSource Format="MATHML"><math> <msup> <mi>N</mi> <mrow> <mi mathvariant="italic">th</mi> </mrow> </msup> </math></EquationSource> </InlineEquation> degree Truncated polynomial Ring Units (NTRU) based Post Quantum Crypto (PQC) schemes, specifically for HRSS variant with tunable polynomials coefficients generation and sampling, and inversion hardware units. Typically, a key generation scheme is established in software considering the higher hardware resources required to generate polynomials, find inverses, and perform modulo multiplications. The software approach is optimal for one-time or infrequent key generation needs. Accelerating the key generation process by balancing the hardware resources (area) is essential for scenarios where keys are required to be generated dynamically during run-time at various sessions and instances in a resource-constrained environments like Internet of Things (IoT). This work addresses such needs and presents an area-optimized Key Generation hardware unit including tunable polynomial generation and inversion. True Random Number Generator (TRNG) and Linear Feedback Shift Registers (LFSRs) or TRNG and Block Cipher AES based Deterministic Random Binary Generator (CTR-DRBG) or TRNG and SHAKE256 engines along with the coefficients sampling unit generate the input polynomials, providing tunability in the choice of key generator. Constant Time Almost Inverse Algorithm (CT-AIA) based hardware unit does the inversions in <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(\mathbb {S}_2\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mn>2</mn> </msub> </math></EquationSource> </InlineEquation>, <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(\mathbb {S}_3\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mn>3</mn> </msub> </math></EquationSource> </InlineEquation>, <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(\mathbb {R}_2\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mn>2</mn> </msub> </math></EquationSource> </InlineEquation>, and <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(\mathbb {R}_3\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mn>3</mn> </msub> </math></EquationSource> </InlineEquation>, Almost Inverse Algorithm (AIA) hardware finds inverses in <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\(\mathbb {S}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(\mathbb {R}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation>, Montgomery Modular Multipliers (MMMs) perform polynomials multiplications in <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(\mathbb {S}_3\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mn>3</mn> </msub> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(\mathbb {R}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation> for optimizing the area. The bit streams generated by TRNG-LFSRs, TRNG-CTR-DRBG, and TRNG-SHAKE256 which are based on stream-cipher, block-cipher, and hash-function crypto constructs, have been evaluated for entropy with NIST-SP-800-90B tests to ascertain the bit streams are indeed uniformly random and from Independent Identically Distributed (IID) sources. The hardware units for key generation and input polynomial generation have been integrated with a hardware accelerator for NTRU-HRSS701 for encryption / decryption which specifically need inverses in <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(\mathbb {S}_3\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mn>3</mn> </msub> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(\mathbb {R}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation> which in-turn needs in <InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(\mathbb {S}_2\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mn>2</mn> </msub> </math></EquationSource> </InlineEquation>, validated and tested using known answer test vectors (KAT) for NTRU-HRSS701. We have simulated and implemented the architecture on an FPGA platform, analyzed the results, and validated the outcomes. This work realizes a resource-optimized (area) hardware unit for dynamic key generation in NTRU-HRSS in IoT scenarios. The computational complexity of the key generation unit has been <InlineEquation ID="IEq13"> <EquationSource Format="TEX">\(O(11N^2 + 4N)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <mn>11</mn> <msup> <mi>N</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>4</mn> <mi>N</mi> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>, dominated by polynomial inversions and multiplications in <InlineEquation ID="IEq14"> <EquationSource Format="TEX">\(\mathbb {R}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">R</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation>/<InlineEquation ID="IEq15"> <EquationSource Format="TEX">\(\mathbb {S}_q\)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mi mathvariant="double-struck">S</mi> <mi>q</mi> </msub> </math></EquationSource> </InlineEquation>.</p>

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

A unified key generation accelerator with polynomials sampling and inversion units for post quantum NTRU-HRSS scheme

  • Soumya G Hosmani,
  • A David Selvakumar,
  • K Raja Sekar,
  • B Divya

摘要

This work presents an integrated area optimized hardware accelerator for generating public and private key pair for \(N^{th}\) N th degree Truncated polynomial Ring Units (NTRU) based Post Quantum Crypto (PQC) schemes, specifically for HRSS variant with tunable polynomials coefficients generation and sampling, and inversion hardware units. Typically, a key generation scheme is established in software considering the higher hardware resources required to generate polynomials, find inverses, and perform modulo multiplications. The software approach is optimal for one-time or infrequent key generation needs. Accelerating the key generation process by balancing the hardware resources (area) is essential for scenarios where keys are required to be generated dynamically during run-time at various sessions and instances in a resource-constrained environments like Internet of Things (IoT). This work addresses such needs and presents an area-optimized Key Generation hardware unit including tunable polynomial generation and inversion. True Random Number Generator (TRNG) and Linear Feedback Shift Registers (LFSRs) or TRNG and Block Cipher AES based Deterministic Random Binary Generator (CTR-DRBG) or TRNG and SHAKE256 engines along with the coefficients sampling unit generate the input polynomials, providing tunability in the choice of key generator. Constant Time Almost Inverse Algorithm (CT-AIA) based hardware unit does the inversions in \(\mathbb {S}_2\) S 2 , \(\mathbb {S}_3\) S 3 , \(\mathbb {R}_2\) R 2 , and \(\mathbb {R}_3\) R 3 , Almost Inverse Algorithm (AIA) hardware finds inverses in \(\mathbb {S}_q\) S q and \(\mathbb {R}_q\) R q , Montgomery Modular Multipliers (MMMs) perform polynomials multiplications in \(\mathbb {S}_3\) S 3 and \(\mathbb {R}_q\) R q for optimizing the area. The bit streams generated by TRNG-LFSRs, TRNG-CTR-DRBG, and TRNG-SHAKE256 which are based on stream-cipher, block-cipher, and hash-function crypto constructs, have been evaluated for entropy with NIST-SP-800-90B tests to ascertain the bit streams are indeed uniformly random and from Independent Identically Distributed (IID) sources. The hardware units for key generation and input polynomial generation have been integrated with a hardware accelerator for NTRU-HRSS701 for encryption / decryption which specifically need inverses in \(\mathbb {S}_3\) S 3 and \(\mathbb {R}_q\) R q which in-turn needs in \(\mathbb {S}_2\) S 2 , validated and tested using known answer test vectors (KAT) for NTRU-HRSS701. We have simulated and implemented the architecture on an FPGA platform, analyzed the results, and validated the outcomes. This work realizes a resource-optimized (area) hardware unit for dynamic key generation in NTRU-HRSS in IoT scenarios. The computational complexity of the key generation unit has been \(O(11N^2 + 4N)\) O ( 11 N 2 + 4 N ) , dominated by polynomial inversions and multiplications in \(\mathbb {R}_q\) R q / \(\mathbb {S}_q\) S q .