Elliptic Curve Key Pair Generation Using Parallel Pseudo-Random Generators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for generating elliptic curve cryptographic key pairs are computationally intensive due to the need for repeated point multiplications, which is a bottleneck in bulk key pair and certificate production, especially in public key infrastructure systems that require high-speed generation of digitally signed messages.

Innovation Solution

The method employs two topologically identical pseudo-random number generators operating in parallel, one in the scalar number domain and the other in the elliptic curve point domain, to generate parallel sequences of pseudo-random points and scalars, eliminating the need for point multiplications and reducing computational load by exploiting isomorphic relationships between the two domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard elliptic curve key pair generation methods are used, then cryptographic security is maintained, but computational load and processing time increase significantly

Engineering Contradiction:
Improvecryptographic securityVSAvoidkey pair generation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-computes and stores a lookup table of elliptic curve points at the beginning of the key generation process. These pre-computed points are then used during actual key pair generation to replace computationally intensive point multiplications with simpler table lookups and point additions, thereby maintaining security while significantly improving generation speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the scalar multiplication operation into multiple smaller steps using the addition chain method. Instead of performing one large point multiplication, the process is segmented into a sequence of point additions based on the binary representation of the scalar, reducing the computational complexity from O(log n) to O(log² n) operations while maintaining the same cryptographic security

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If point multiplication algorithms are used for key generation, then accurate key pairs are produced, but the number of elementary operations becomes very large

Engineering Contradiction:
Improvekey pair accuracyVSAvoidnumber of computations
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent pre-computes and stores a lookup table of elliptic curve points at the beginning of the key generation process. These pre-computed points are then used during actual key pair generation to replace computationally intensive point multiplications with simpler table lookups and point additions, thereby maintaining security while significantly improving generation speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a lookup table that contains pre-computed copies of frequently needed elliptic curve points. Instead of recalculating these points during key generation, the system copies the required points from the pre-computed table, eliminating redundant computations while ensuring accuracy through the use of verified pre-computed values

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10680810B2Method of generating an elliptic curve cryptographic key pair
Publication Date: 2020.06.09 NXP BV
  • US10680810B2 patent drawing
  • US10680810B2 patent drawing

AI summary

A method is provided for generating an elliptic curve cryptography key pair that uses two topologically identical pseudo-random number generators operating in parallel and in step with each other. One generator operates in the scalar number domain and the other generator operates in the elliptic curve point domain. Parallel sequences of pseudo-random elliptic curve points aG and corresponding scalars a are generated in this manner. A scalar a becomes a private key and an elliptic curve point aG is a public key of a key pair. Each generator is advanced by one iteration successively, and the isomorphic relationship ensures that the point domain generator always contains values which are multiples of the system base point according to values contained in the corresponding position in the number domain generator. In one embodiment, the pseudo-random number generators are each characterized as being lagged Fibonacci generators.