Quadratic Form Cryptography White-Box Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic methods, such as those using quadratic forms, face challenges in protecting secret keys from white-box attacks due to high memory requirements when implementing these methods in table form, making them vulnerable to unauthorized access and use.
Innovation Solution
Transforming quadratic forms using a suitable linear change of variables to break them down into terms where each component occurs in at most one term, allowing for efficient tabulation with minimal storage capacity, and employing parasitic transformations to protect against white-box attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cryptographic methods using quadratic forms are implemented in table form for efficient software execution, then calculation speed is improved, but memory storage requirements increase significantly
Solution Approach 1:
The patent segments the quadratic form calculation into multiple linear transformation steps. Instead of implementing the complete quadratic form in a single large table, the method breaks it down into sequential linear transformations (e.g., splitting a 128-variable quadratic form into multiple transformations operating on smaller subsets of variables). This segmentation allows each intermediate table to be much smaller in size while maintaining the overall computational functionality through multiple passes.
Solution Approach 2:
The patent transforms the problem from a single high-dimensional quadratic form table into multiple lower-dimensional linear transformation tables executed in sequence. By changing the dimensional approach from one large n-dimensional table to multiple smaller k-dimensional tables (where k < n), the method achieves comparable computational results with significantly reduced memory footprint at any given time.
2Adaptability or versatility
If secret keys are stored in software in standard cryptographic format, then cryptographic functionality is enabled, but vulnerability to white-box attacks increases
Solution Approach 1:
The patent introduces parasitic transformations as intermediary operations between the legitimate cryptographic processing and the potential attacker's view. These parasitic transformations act as mediators that scramble the relationship between input data, intermediate values, and output data in a controlled manner. The transformations include adding artificial dependencies and creating fake data flow paths that confuse white-box attackers while preserving the correctness of the actual cryptographic computation.
Solution Approach 2:
The patent dynamically changes parameters during execution by applying parasitic transformations that modify data representations on-the-fly. These transformations alter the apparent structure and parameters of the cryptographic data without changing the underlying mathematical relationships, making it difficult for attackers to identify constant patterns or extract secret keys through static analysis or dynamic monitoring.
3Productivity
If linear transformations are implemented using tables for computational efficiency, then processing speed is improved, but security against key extraction attacks deteriorates
Solution Approach 1:
The patent applies preliminary parasitic transformations to the data before it enters the linear transformation tables. These preliminary actions modify the input data in a way that preserves the efficiency of table-based lookup while simultaneously obscuring the relationship between the original data and the table contents. This allows the system to maintain fast table-based processing while preventing attackers from using the tables to extract secret keys through analysis of input-output relationships.
Data Source
AI summary
The invention relates to a method for implementing a cryptographic algorithm including a calculation step for a quadratic form Y = A(x1,...,xn ) = (I), where the n > 1 variables x1,..., xn as well as the coefficients α(ij) belong to a finite body K of q elements, and where Y is the value taken by the quadratic form A(x1,...,xn) for a given value of variables x1,...,xn. Said calculation step is performed by means of the following sub-steps: determining, as a function of the parity of q and n, a canonical quadratic form Y = C(X1,...,Xn) equivalent to said form A(x 1,...,xn ), and of the change in linear variable X = Lx associated with this placing in canonical form; calculating the value of transformed variables X1,...,Xn associated with the value of variables x1,...,xn ; subdividing all of the terms of said canonical quadratic form C(X1,..., Xn) in sub-assemblies each including one or more of these terms; calculate, for each of said sub-assemblies, the respective total of the terms of the sub-assembly, said calculation being performed, for at least one of the sub-assemblies, by means of a table of values; and summation of said respective sums to obtain said value Y taken by the quadratic form.


