HQC Polynomial Multiplication Using AFFT to Cut Cryptographic Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Hamming Quasi-Cyclic (HQC) cryptographic scheme is computationally burdensome and requires significant memory footprint, particularly in lightweight devices like smart cards and servers, due to the high computational load of binary polynomial products in key generation, encryption, and decryption steps.
Innovation Solution
Implementing the HQC scheme using Additive Fast Fourier Transforms (AFFTs) to transform operands into an AFFT domain, reducing the need for inverse transforms and pointwise multiplications, thereby optimizing computational load and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the HQC scheme uses binary polynomial products for key generation, encryption, and decryption, then cryptographic security is maintained, but computational load and memory footprint increase significantly
Solution Approach 1:
The patent replaces the traditional binary polynomial multiplication mechanism with a convolution-based mechanism operating on transformed domains. Specifically, it substitutes direct polynomial product computation with convolution operations after applying Fast Fourier Transforms (FFT), leveraging the convolution theorem to convert multiplication into addition in the frequency domain, thereby reducing computational complexity from O(n²) to O(n log n).
Solution Approach 2:
The patent changes the representation parameters of the cryptographic operands by introducing transformed versions of the polynomials (e.g., using FFT-transformed domains). Instead of operating directly on coefficients in the time domain, the system transforms parameters into the frequency domain where operations become more efficient, computing products through pointwise multiplication in the transformed space and then inverse transforming the result.
2Adaptability or versatility
If the HQC scheme implements full binary polynomial multiplication, then cryptographic functionality is complete, but memory footprint increases
Solution Approach 1:
The patent substitutes the memory-intensive binary polynomial multiplication mechanism with a convolution-based approach using FFT. By transforming the computation into the frequency domain, the system reduces the memory required for intermediate calculations, as convolution in the time domain corresponds to simple pointwise multiplication in the frequency domain, requiring less temporary storage.
3Extent of automation
If the HQC scheme performs multiple polynomial products in key generation and encryption steps, then cryptographic operations are complete, but computation time increases
Solution Approach 1:
The patent replaces multiple sequential binary polynomial multiplication operations with a single convolution operation in the transformed domain. By using FFT to transform the polynomials, performing pointwise multiplication (which is equivalent to convolution in the time domain), and then inverse transforming, the system completes what would require multiple O(n²) operations in a single O(n log n) process, dramatically reducing computation time.
Solution Approach 2:
The patent performs preliminary Fast Fourier Transforms on the input polynomials before the multiplication step. By pre-transforming the operands into the frequency domain, the system prepares them in a state where the multiplication operation becomes computationally efficient, avoiding the need for repeated transformations during the actual product computation.
Data Source
AI summary
Optimized HQC post-quantum cryptographic method comprising: setting global parameters; generating a public key () and a private key (); encrypting a message (m) with the public key to obtain a ciphertext (c); and decrypting the ciphertext with the private key to retrieve the message. The method computes a product between first and second operands of the size n binary polynomial type by way of a pointwise product between first and second transformed operand resulting in an AFFT like function applied to the first and second operand respectively, so that at least one element among the second private element (ÿ) of the private key (), the first public element ({umlaut over (h)}) of the public key () and the second public element (ÿ) of the public key () is a vector in the AFFT domain.


