Elliptic Curve Shared Key Generation Reducing Squaring Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The calculation cost of key sharing processes using the McCullagh-Barreto (MB) method is high, leading to processing delays, particularly in low-performance devices within Internet of Things (IoT) systems, due to the large number of squaring and multiplication operations required in the bilinear map on elliptic curves.

Innovation Solution

A shared key generation method that calculates a first value using an algorithm on an extension field of a prime field from points on an elliptic curve, then uses this value and a private key to generate a shared key through a final exponentiation process, reducing the number of squaring and multiplication operations by preliminary calculations and efficient exponentiation techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the MB method is used for key sharing, then mutual authentication function is achieved, but calculation cost becomes large leading to processing delay

Engineering Contradiction:
Improvemutual authentication functionVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary calculations of the Miller algorithm before the final exponentiation step. By pre-computing intermediate values and storing them, the system reduces the computational burden during the actual key sharing process, thereby reducing processing delay while maintaining authentication functionality

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the key sharing process into distinct segments: the Miller algorithm execution, intermediate value storage, and final exponentiation. This segmentation allows for optimized computation at each stage and enables parallel processing where applicable, reducing overall processing time

Inventive Principle:
Principle #1Segmentation

2Reliability

If exponentiation and bilinear map are executed in the MB method, then key sharing is achieved, but the number of squaring and multiplication operations increases calculation cost

Engineering Contradiction:
Improvekey sharing functionVSAvoidcalculation cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent pre-calculates and stores intermediate values from the Miller algorithm before performing the final exponentiation. This preliminary action reduces the number of operations needed during the critical key generation phase, lowering calculation cost while maintaining key sharing functionality

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent combines the results of the Miller algorithm with the final exponentiation in an optimized manner. By merging these computational steps and reusing intermediate results, the system reduces the total number of squaring and multiplication operations required

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10425227B2Computer-readable recording medium, shared key generation method, and information processing terminal
Publication Date: 2019.09.24 FUJITSU LTD
  • US10425227B2 patent drawing
  • US10425227B2 patent drawing
  • US10425227B2 patent drawing

AI summary

An information processing terminal generates a shared key by a public key cryptosystem using an identifier. The information processing terminal calculates a first calculation value by using an algorithm that outputs an element on an extension field of a prime field from two points on an additive cyclic group on an elliptic curve that is defined by the prime field. The information processing terminal holds the first calculation value. The information processing terminal calculates a second calculation value from a variable using an identifier of a sharer that shares the shared key, a private key of the information processing terminal, and the algorithm. The information processing terminal generates the shared key by executing a final exponentiation to each of the exponentiation of the first calculation value and the second calculation value.