Elliptic Curve Point Determination for Constant-Time Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing elliptical curve cryptography algorithms for inserting arbitrary values are probabilistic, leading to variable application times that can reveal information about encoded messages, making them vulnerable to timing attacks.

Innovation Solution

A method to determine a point on an elliptical curve in constant time by systematically checking two terms instead of three, reducing the number of costly exponentiation operations and ensuring that the determination process does not depend on the input parameter, using the equation −f(X1)·f(X2)=U2, which eliminates the need for checking if −1 is a squared term in the finite field Fq.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If probabilistic algorithms are used for inserting arbitrary values into elliptical curves, then the cryptographic calculation can be performed, but the application time varies depending on the message, making it vulnerable to timing attacks

Engineering Contradiction:
Improvecryptographic calculation capabilityVSAvoidsecurity against timing attacks
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent changes the parameter from a probabilistic approach to a deterministic approach by using the equation −f(X1)·f(X2)=U2. This ensures that the algorithm always performs the same number of operations (checking exactly two terms) regardless of the input message, thereby eliminating timing variations while maintaining cryptographic functionality

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of checking all three terms in the original Skalba equality (which would be excessive), the patent systematically checks only two terms (X1 and X2) by using the modified equation −f(X1)·f(X2)=U2. This partial checking approach is sufficient to determine a point on the elliptical curve while ensuring constant execution time

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all three terms are checked systematically to prevent timing attacks, then security is improved, but the number of expensive exponentiation operations increases

Engineering Contradiction:
Improvesecurity against timing attacksVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and eliminates the need to check the third term by transforming the original Skalba equality into the form −f(X1)·f(X2)=U2. This extraction of the unnecessary checking step reduces the number of expensive exponentiation operations from three to two, maintaining security while improving efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of the equation from the traditional Skalba equality with three terms to a modified form with two terms. This parameter change in the equation structure allows systematic checking of only two terms, balancing security requirements with computational efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9866371B2Cryptography on a simplified elliptical curve
Publication Date: 2018.01.09 IDEMIA FRANCE SAS
  • US9866371B2 patent drawing
  • US9866371B2 patent drawing
  • US9866371B2 patent drawing

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 satisfying: −f(X1(t))·f(X2(t))=U(t)2 in the finite body Fq, irrespective of the parameter t, q=3 mod 4. A value of the parameter t is obtained and the point P is determined by: (i) calculating X1=X1 (t), X2=X2(t) and U=U(t); (ii) testing whether the term f(X−1) is a squared term in the finite body Fq and, if so, calculating the square root of the term f(X1), the point P having X1 as abscissa and Y1, the square root of the term f(X1), as ordinate; (iii) otherwise, calculating the square root of the term f(X2), the point P having X2, as abscissa and Y2, the square root of the term f(X2), as ordinate. The point P is useful in encryption, scrambling, signature, authentication or identification cryptographic applications.