Accelerating Key Agreement Protocols via Pre-computed Scalar Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Public key cryptographic systems face challenges in efficiently establishing a shared secret key between correspondents, particularly in constrained environments where computational resources are limited, due to the computational intensity of existing key agreement protocols like MQV and ECMQV.
Innovation Solution
The method accelerates the key agreement protocol by allowing correspondents to use a single scalar multiplication or exponentiation when their ephemeral and long-term public keys are identical, reducing the number of intensive computations required to determine the shared secret key, and optionally using pre-computed tables for further acceleration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional key agreement protocols (MQV, ECMQV) are used to establish shared secret keys, then security is provided through mathematically hard problems, but computational load increases significantly in resource-constrained environments
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing tables of scalar multiplication results (e.g., [1]G, [2]G, ..., [15]G for 4-bit windows) before the actual key agreement protocol execution. During the protocol, these pre-computed values are retrieved and combined through addition rather than performing full scalar multiplications, significantly reducing online computational load while maintaining security
Solution Approach 2:
The patent segments the scalar multiplication operation into smaller units by dividing the scalar into 4-bit windows and pre-computing the corresponding elliptic curve point multiplications. This segmentation allows the use of pre-computed tables and simplifies the online computation to table lookups and point additions, reducing the computational complexity from O(log k) to O(n/w) where n is the scalar bit length and w is the window size
2Reliability
If parameters with larger number of bits are used in cryptographic systems, then security is enhanced, but computation speed decreases
Solution Approach 1:
The patent pre-computes and stores elliptic curve point multiplications for various scalar values in lookup tables before the key agreement execution. This allows larger security parameters to be used while maintaining fast computation speed during the actual protocol, as the expensive scalar multiplications are replaced by table lookups and point additions
Solution Approach 2:
The patent changes the computational parameters by using fixed small windows (e.g., 4 bits) for scalar decomposition and pre-computation. This parameter choice optimizes the balance between table size and computation speed, allowing efficient key agreement even with larger security parameters by reducing the number of online operations required
3Reliability
If conventional scalar multiplication is performed for each key agreement, then correct shared secret key is generated, but computation time increases by up to 33%
Solution Approach 1:
The patent performs preliminary computation by pre-calculating and storing scalar multiplication results (e.g., [1]G through [15]G for 4-bit windows) in lookup tables. During the key agreement, instead of performing full scalar multiplications, the system retrieves pre-computed values and combines them through efficient point addition, reducing computation time by up to 33% while ensuring the same correct shared secret key is generated
Solution Approach 2:
The patent uses copying by storing pre-computed scalar multiplication results in lookup tables that can be repeatedly accessed during multiple key agreement protocols. Instead of re-computing the same elliptic curve point multiplications each time, the system copies and retrieves the pre-computed values, significantly reducing the computational overhead of subsequent key agreements
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The generation of a shared secret key K in the implementation of a key agreement protocol, for example MQV, may be optimized for accelerated computation by selecting the ephemeral public key and the long-term public key of a correspondent to be identical. One correspondent determines whether the pair of public keys of the other correspondent are identical. If it is, a simplified representation of the shared key K is used which reduces the number of scalar multiplication operations for an additive group or exponentiation operations for a multiplicative group. Further optimisation may be obtained by performing simultaneous scalar multiplication or simultaneous exponentiation in the computation of K.