Batched Inversions for ECC Point Multiplication
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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
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.
Data Source
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.


