Arithmetic Device Scalar Multiplication Without Infinite Point Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scalar multiplication processing in elliptic curve cryptography is inefficient due to the need for loop processing and addition processing that involves determining whether points are infinite, which complicates the operations and reduces safety.
Innovation Solution
An arithmetic device and method that convert a bit string representing a multiplication value, set values based on a specific point's coordinate, perform loop processing for multiplication and addition of non-infinite points, and output the scalar multiplication result without checking for infinite points, thereby simplifying the processing and enhancing safety.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional scalar multiplication processing is used with loop processing and addition processing, then the scalar multiplication can be performed, but the processing efficiency is reduced due to the need to determine whether points are infinite
Solution Approach 1:
The scalar multiplication is divided into two distinct phases: a first loop processing phase that performs multiplication and addition without checking for infinite points, and a second post-processing phase that handles the most significant bit. This segmentation allows the majority of operations to proceed efficiently without the overhead of infinite point detection.
Solution Approach 2:
The patent performs preliminary actions by initializing variables with specific values before the loop processing begins. The first loop processing operates on pre-initialized variables, and the second processing handles the remaining case. This preliminary setup enables the main loop to execute faster by avoiding repeated checks.
2Reliability
If conventional addition processing is used that checks for infinite points, then correctness is maintained, but safety is reduced due to the complicated operations
Solution Approach 1:
The processing is segmented into a safe first loop that avoids infinite point issues entirely, and a separate second processing step for the most significant bit. This segmentation isolates the potentially problematic operations to a minimal scope, enhancing overall safety.
Solution Approach 2:
The patent extracts the handling of infinite points from the main loop processing. By removing the check for infinite points from the iterative loop and handling only the most significant bit separately, the main processing becomes simpler and safer while maintaining correctness.
3Productivity
If loop processing is performed by the number of digits on bit string, then scalar multiplication is achieved, but processing time increases due to repeated addition operations
Solution Approach 1:
The loop processing is segmented to perform (m-3) iterations of efficient multiplication and addition operations, followed by a separate handling of the most significant bit. This segmentation optimizes the time-critical loop portion by removing unnecessary checks.
Solution Approach 2:
Variables are preliminarily initialized before the loop, and the loop structure is designed to perform operations in advance where possible. The first loop processing executes the bulk of operations efficiently, with only the final bit requiring separate attention.
Data Source
AI summary
According to an embodiment, the arithmetic device includes a controller. The controller is configured to: convert a bit string of m bits (where m is an integer of 4 or more) representing a multiplication value k when a certain condition is satisfied; set a value based on a coordinate value P of a specific point for a first variable and a second variable based on a second bit value from a least significant bit of the bit string; perform loop processing (m−3) times for multiplication processing of performing multiplication on the first variable and addition processing of adding two different points which are not infinite points by adding the first variable and the second variable; and output a coordinate value kP obtained by a scalar multiplication of the coordinate value P with the multiplication value k based on processing for a most significant bit of the bit string.


