Modified Mueller Square Root Algorithm for Elliptic Curve Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficient computation of square roots in finite fields for elliptic curve cryptography is challenging, particularly for elliptic curves where the prime parameter p is 1 mod 4 or 1 mod 8, as existing algorithms like Tonelli's and Legendre's become inefficient due to the need for randomization and quadratic extension operations.

Innovation Solution

A modified version of Mueller's square root algorithm utilizing short Lucas sub-sequences is employed to optimize square root computations, where the Lucas parameter Q is set to 1 and the Lucas function is computed using a binary expansion method, reducing the number of squaring and multiplication operations by leveraging the factors of (p-1)/4.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Tonelli's algorithm is used for computing square roots when p = 1 mod 4 or p = 1 mod 8, then square root computation is possible, but the algorithm becomes inefficient due to requiring randomization and handling many factors of 2 in p-1

Engineering Contradiction:
Improvesquare root computation capabilityVSAvoidcomputation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the approach from using Tonelli's algorithm with randomization to Mueller's algorithm which deterministically computes square roots by finding a specific integer t such that qt² ≡ -1 (mod p), then using Lucas sequences with parameters P = 2qt and Q = 1. This parameter transformation eliminates the inefficiency caused by randomization and the structure of p-1 factors.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If Bernstein's pre-computation approach with larger tables is used, then the number of multiplication operations is reduced, but the memory requirement increases

Engineering Contradiction:
Improvenumber of multiplication operationsVSAvoidtable memory size
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent replaces Bernstein's table-based pre-computation approach with a mathematical method using Lucas sequences. Instead of storing pre-computed values in memory tables, the algorithm computes square roots through a deterministic sequence of operations based on Lucas sequence properties, substituting memory-intensive operations with computation-intensive but memory-efficient operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If standard square root algorithms are used for elliptic curves, then correctness is maintained, but computational time is excessive

Engineering Contradiction:
Improvecorrectness of square root computationVSAvoidcomputational time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by finding an integer t such that qt² ≡ -1 (mod p) before computing the square root. This preliminary step enables the use of Lucas sequences with specific parameters (P = 2qt, Q = 1) that guarantee convergence to the square root in a deterministic number of steps, rather than requiring iterative or randomized approaches that may take longer.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2816465B1Method to calculate square roots for elliptic curve cryptography
Publication Date: 2019.08.07 BLACKBERRY LTD
  • EP2816465B1 patent drawingFigure 1
  • EP2816465B1 patent drawingFigure 2
  • EP2816465B1 patent drawingFigure 3

AI summary

A method is presented to compute square roots of finite field elements from the prime finite field of characteristic p over which points lie on a defined elliptic curve. Specifically, while performing point decompression of points that lie on a standardized elliptic curve over a prime finite field of characteristic 2 224 -2 96 +1, the present method utilizes short Lucas subsequences to optimize the implementation of a modified version of Mueller's square root algorithm, to find the square root modulo of a prime number. The resulting method is at least twice as fast as standard methods employed for square root computations performed on elliptic curves.