Elliptic Curve Cryptography Key Segmentation for DPA Resistance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic systems are vulnerable to Differential Power Analysis (DPA) attacks, which can reveal secret keys due to variations in power consumption during scalar multiplication operations, and current countermeasures are inefficient in terms of memory usage and performance.
Innovation Solution
A cryptographic system that splits the secret key into two parts and uses a table calculator and accumulator to perform Elliptic Curve (EC) operations or modular exponentiation operations, reducing memory requirements by storing fewer table values and maintaining performance without compromising security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secret key exponent blinding countermeasure is used to protect against DPA attacks, then security is improved, but memory usage increases due to storing substantial lookup table values
Solution Approach 1:
The patent divides the secret key into multiple parts (k1, k2, ..., kn) and processes them separately through multiple scalar multiplication operations. This segmentation allows the use of smaller lookup tables for each individual operation rather than requiring a large table for the complete key, thereby reducing overall memory usage while maintaining security through the combined result of multiple operations.
2Productivity
If lookup table values are stored to speed up scalar multiplication operations, then processing speed is improved, but memory capacity requirements increase substantially
Solution Approach 1:
The patent segments the scalar multiplication operation into multiple smaller operations using divided key parts. Each operation uses a compact lookup table storing only the necessary intermediate values (2w-1 values per operation), avoiding the need for a large table containing all possible combinations of the complete key, thus achieving fast processing with reduced memory capacity.
Solution Approach 2:
The patent performs multiple scalar multiplication operations with partial key components rather than a single operation with the complete key. Each operation processes only a portion of the key material, requiring smaller lookup tables, while the cumulative effect of multiple operations achieves the same cryptographic strength as a full-key operation would provide.
3Quantity of substance
If conventional scalar multiplication is performed without key splitting, then memory usage is reduced, but vulnerability to DPA attacks increases
Solution Approach 1:
The patent applies key splitting to divide the secret key into multiple components and performs separate scalar multiplication operations for each component. This segmentation counteracts DPA attacks by preventing the direct correlation between power consumption patterns and the complete secret key, as each operation only processes a fragment of the key. The security is maintained through the combination of results from multiple operations.
Solution Approach 2:
The patent introduces intermediate values (partial key components and intermediate multiplication results) as mediators between the secret key and the final cryptographic output. These intermediaries obscure the direct relationship between the secret key and power consumption patterns, providing protection against DPA attacks while allowing efficient computation using smaller lookup tables.
Data Source
AI summary
A cryptographic system and method for encrypting input data, in which an example system includes a table calculator configured to calculate table values composed of one of scalar multiplication values by Elliptic Curve (EC) operation, or exponentiation values by modular exponentiation operation, based on input data and the number of a portion of bits of each of secret keys. The table calculator may output one of scalar multiplication values or exponentiation values corresponding to a window that includes given bits of each of the secret keys from among the calculated table values. A logic circuit may be configured to output encrypted data by accumulating the output scalar multiplication values or by performing involution on the output exponentiation values.


