Batched Inversions for ECC Point Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Public-key cryptography operations, such as those in elliptic curve cryptography (ECC), significantly burden servers due to computational load, particularly in handling multiple secure connections and transactions, necessitating a reduction in the cost of individual ECC operations to enhance throughput.

Innovation Solution

Implementing batched inversions to share computations among multiple independent ECC point multiplications, allowing a single thread or multiple threads to synchronize and process point multiplications using projective or affine coordinates, thereby reducing the computational expense of inversions across multiple operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple independent ECC point multiplications are executed sequentially with individual inversions, then each operation is completed independently, but the total computational cost is high due to repeated inversion operations

Engineering Contradiction:
Improveindependence of ECC operationsVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple independent ECC point multiplications into a batched processing approach where inversions are merged and shared across all operations. By computing inversions once for the batch rather than individually for each operation, the system reduces total computational cost while maintaining the independence of individual ECC operations through proper result distribution.

Inventive Principle:
Principle #5Merging (Combining)

2Ease of operation

If inversions are computed individually for each ECC point multiplication, then each operation is self-contained, but the computational expense of inversions is repeated across multiple operations

Engineering Contradiction:
Improveindependence of computationsVSAvoidcomputational expense
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent merges the inversion computation step across multiple ECC operations by batching them together. The system computes inversions once for the entire batch of operations rather than repeating them individually, significantly reducing computational expense while still allowing each ECC operation to be independently specified and executed with its own independent inputs and outputs.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If batched inversions are used to share computations among multiple ECC operations, then the total cost of each ECC operation is lowered, but synchronization between threads is required

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidthread synchronization
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the batched inversion process into distinct phases: a setup phase where inversions are pre-computed and shared, and execution phases where individual ECC operations can proceed independently. This segmentation allows threads to synchronize only at the inversion computation stage while maintaining independence during the actual point multiplication operations, reducing the overall impact of synchronization requirements.

Inventive Principle:
Principle #1Segmentation

4Productivity

If a single thread processes multiple ECC point multiplications with batched inversion, then inversion cost is amortized, but processing speed may be limited by sequential execution

Engineering Contradiction:
Improveinversion cost amortizationVSAvoidprocessing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent transitions from sequential single-threaded processing to parallel multi-threaded processing while maintaining batched inversion benefits. By organizing operations in batches that can be distributed across multiple threads and utilizing the shared inversion computations, the system achieves both cost amortization and improved processing speed through parallel execution of independent ECC operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7702105B1Accelerating elliptic curve point multiplication through batched inversions
Publication Date: 2010.04.20 ORACLE AMERICAN INC
  • US7702105B1 patent drawing
  • US7702105B1 patent drawing
  • US7702105B1 patent drawing

AI summary

Executing multiple elliptic curve cryptography (ECC) point multiplications in parallel and using batched inversions allows shared computations between independent ECC operations. The point multiplications may be computed over prime integer fields or over binary polynomial fields. The batched inversion may be shared between point additions and point doublings, between point additions, or between point doublings. The batched inversions are applicable to point multiplications using projective or using affine coordinate systems.