Elliptic Curve Key Pair Generation via Pre-computed Lookup Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computational bottleneck in elliptic curve cryptography, specifically in the modular exponentiation required for generating digital signatures, leads to a significant impact on signature generation rate due to the need for numerous group operations.

Innovation Solution

A method involving the generation of a look-up table with pre-computed scalar values and elliptic curve points, where the look-up table is updated and used to efficiently select random nonces, reducing the number of computations by utilizing isomorphic relationships and operations like addition and subtraction to quickly determine associated values, thereby generating cryptographic key pairs more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If modular exponentiation with long integers is performed for each key pair generation, then cryptographic security is maintained, but the computation time and processing speed are significantly reduced

Engineering Contradiction:
Improvecryptographic securityVSAvoidsignature generation rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-computes and stores a table of values (including powers of the generator element and corresponding exponents) before the actual key pair generation process. This preliminary action allows the online key generation to proceed much faster by simply looking up pre-computed values and performing minimal additional operations, rather than performing full modular exponentiation from scratch each time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the key pair generation process into two distinct phases: an offline precomputation phase where the lookup table is built, and an online key generation phase that uses the pre-computed table. This segmentation allows computationally intensive operations to be performed once offline, while online operations remain lightweight and fast.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a lookup table with pre-computed values is used to speed up key pair generation, then the signature generation rate is improved, but the initial computation and memory requirements increase

Engineering Contradiction:
Improvesignature generation rateVSAvoidcomputation and memory requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The lookup table is pre-computed once offline and can be stored for repeated use. This preliminary computation avoids the need to perform expensive modular exponentiations during online key generation, significantly improving signature generation rate despite the initial investment in computation and storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a structured lookup table that copies and stores pre-computed mathematical values (powers of generator element g and corresponding exponents). This copied data structure allows fast retrieval during key generation without re-computing the values, trading initial storage space for ongoing computational speed.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3352411B1Method of generating cryptographic key pairs
Publication Date: 2020.09.16 NXP BV
  • EP3352411B1 patent drawingFigure 1~2
  • EP3352411B1 patent drawingFigure 3
  • EP3352411B1 patent drawingFigure 4

AI summary

A method is provided for performing elliptic curve cryptography that reduces the number of required computations to produce, for example, a key pair. The number of computations is reduced by changing how a random nonce used in the computations is selected. In an embodiment, a look-up table is generated having pre-computed scalar values and elliptic curve points. Every time a new pseudo-random value is created for use in the ECDSA, a combination of the look-up table values is used to create multiple intermediate values. One of the multiple intermediate values is randomly chosen as a replacement value for one of the existing table entries. Each time the look-up table is used, multiple entries in the look-up table are updated to new look-up table values as described. In this manner, new randomness is provided in every step to more e ciently generate the next pseudo-random nonce as a combination of multiple internally stored temporary look-up table values. Alternately, another mathematical group may be used.