Elliptic Curve Point Determination for Constant-Time Cryptography
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Efficient cryptographic algorithms using elliptical curves for message encoding are probabilistic, leading to variable application times that can reveal information about encoded messages, compromising security, especially when attackers can discern these times.
Innovation Solution
A method to determine a point on an elliptical curve in constant time by systematically checking three terms for being squared terms in the finite field, reducing the number of exponentiation operations from four to at most two, thereby masking the time taken and preventing timing attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If probabilistic algorithms are used for inserting values into elliptical curves, then memory space is saved, but application time becomes variable and reveals information about encoded messages
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing all possible points on the elliptical curve in a lookup table during system initialization. This allows the cryptographic operation to simply retrieve pre-computed values rather than performing probabilistic calculations during actual encryption, eliminating timing variations while maintaining security.
Solution Approach 2:
The patent creates a copy of the elliptical curve points in a lookup table structure. Instead of performing calculations on the original curve during encryption, the system uses pre-computed copies stored in memory, which eliminates the probabilistic calculation time and ensures consistent execution time while preserving the cryptographic functionality.
2Reliability
If unnecessary steps are added to mask timing variations, then security is improved, but computational efficiency deteriorates
Solution Approach 1:
The patent performs all necessary computational actions during system initialization by pre-calculating and storing points on the elliptical curve. This eliminates the need to add unnecessary masking steps during actual cryptographic operations, as the timing consistency is achieved through the lookup table approach rather than through artificial delays or redundant calculations.
3Reliability
If systematic checking of all three terms for squared terms is performed, then constant time determination is achieved, but number of exponentiation operations increases from two to four
Solution Approach 1:
The patent performs the systematic checking of all three terms for squared terms during system initialization and stores the results in the lookup table. This allows the actual cryptographic operation to simply retrieve pre-determined information without performing expensive exponentiation operations, achieving constant time determination while minimizing computational complexity during execution.
Data Source
AI summary
A cryptographic calculation includes obtaining a point P(X,Y) from a parameter t on an elliptical curve Y2=f(X); and from polynomials X1(t), X2(t), X3(t) and U(t) satisfying: f(X1(t))·f(X2(t))·f(X3(t))=U(t)2 in Fq, with q=3 mod 4. Firstly a value of the parameter t is obtained. Next, the point P is determined by: (i) calculating X1=X1(t), X2=X2(t), X3=X3(t) and U=U(t); (ii) if the term f(X1)·f(X2) is a square, then testing whether the term f(X3) is a square in Fq and if so calculating the square root of f(X3) in order to obtain the point P(X3); (iii) otherwise, testing whether the term f(X1) is a square and, if so, calculating the square root of f(X1) in order to obtain the point P(X1); (iv) otherwise, calculating the square root of f(X2) in order to obtain the point P(X2). This point P is useful in a cryptographic application.


