Partial Reduction for Generic Elliptic Curve Cryptography
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current elliptic curve cryptography (ECC) implementations face challenges in efficiently supporting generic elliptic curves over a wide range of binary polynomial fields, particularly in server-side applications, due to high computational demands and the need for flexible key sizes and security levels, which existing technologies have not adequately addressed.
Innovation Solution
A method for performing arithmetic operations on binary polynomials over GF(2) that includes partial reduction techniques to efficiently process elliptic curves, allowing for generic curve support through polynomial multiplications and additions, and the use of hardware accelerators to enhance performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If optimized implementations for specific named curves are used, then computational performance is improved, but adaptability to different curves and security requirements deteriorates
Solution Approach 1:
The patent implements a universal reduction mechanism that can handle both specific named curves and generic curves over a wide range of binary polynomial fields GF(2^m). The reduction unit is designed to work with variable field degrees and support multiple curve types, allowing a single implementation to serve multiple cryptographic purposes without requiring separate optimized code paths for each curve.
Solution Approach 2:
The patent employs parameterized field degree m and variable irreducible polynomials to create a flexible reduction system. By changing the parameters (field degree, irreducible polynomial) rather than rewriting the entire reduction logic, the system can efficiently adapt to different curve requirements while maintaining optimized performance characteristics.
2Reliability
If full reduction is performed for all arithmetic operations, then cryptographic correctness is ensured, but computational complexity increases
Solution Approach 1:
The patent implements partial reduction that reduces polynomial results to a degree less than a chosen integer n (where m ≤ n) rather than performing complete reduction to the field degree m. This partial reduction maintains cryptographic correctness for generic curve operations while significantly reducing computational complexity compared to full reduction, especially when n > m.
Solution Approach 2:
The reduction process is segmented into multiple stages: first performing polynomial multiplication to get an intermediate result, then applying reduction to bring the degree below n. This segmentation allows the system to handle large field degrees efficiently by breaking down the reduction into manageable steps rather than performing a single complex reduction operation.
3Speed
If hardware accelerators are implemented for specific curves, then processing speed is improved, but flexibility to support varying key sizes and curves deteriorates
Solution Approach 1:
The patent designs a dynamic hardware accelerator where the field degree m and reduction parameters can be configured at runtime rather than being fixed during manufacturing. This dynamic configuration capability allows the same hardware to be optimized for different key sizes and curve types while maintaining high processing speeds, eliminating the need for multiple specialized hardware implementations.
Data Source
AI summary
A reduction operation is utilized in an arithmetic operation on two binary polynomials X(t) and Y(t) over GF(2), where an irreducible polynomial Mm(t)=tm+am−1tm−1+am−2tm−2+ . . . +a1t+a0, where the coefficients ai are equal to either 1 or 0, and m is a field degree. The reduction operation includes partially reducing a result of the arithmetic operation on the two binary polynomials to produce a congruent polynomial of degree less than a chosen integer n, with m≦n. The partial reduction includes using a polynomial M′=(Mm(t)−tm)*tn−m, or a polynomial M″=Mm(t)*tn−m as part of reducing the result to the degree less than n and greater than or equal to m. The integer n can be the data path width of an arithmetic unit performing the arithmetic operation, a multiple of a digit size of a multiplier performing the arithmetic operation, a word size of a storage location, such as a register, or a maximum operand size of a functional unit in which the arithmetic operation is performed.


