Elliptic Curve Signatures with Register Protection Against Memory Disclosure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic systems lack effective protection against memory disclosure attacks, which can expose cryptographic keys, compromising security, especially in elliptic curve cryptography, and existing hardware-based and software-based solutions either require specialized hardware or cause performance and scalability issues.

Innovation Solution

A method that splits elliptic curve digital signature algorithms into two parts, performing complex calculations in memory and simple calculations in registers, using symmetric cryptographic algorithms to encrypt and decrypt key components, ensuring the private key remains protected even if memory is compromised.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based protection schemes (Intel SGX, MPK) are used to protect cryptographic keys, then key security against memory disclosure attacks is improved, but device complexity and hardware requirements increase

Engineering Contradiction:
Improvekey securityVSAvoidhardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cryptographic calculation process is segmented into two parts: complex calculations (scalar multiplication k1×G) are performed in memory, while simple calculations (computing s) are performed in CPU registers. This segmentation allows the private key to be protected without requiring specialized hardware features.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary symmetric cryptographic key that encrypts the private key and random number k1 in memory. This intermediary layer protects the sensitive data without requiring hardware-based encryption, thus avoiding increased device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If whole cryptographic calculations are implemented inside CPU registers, then key security is improved, but productivity and ease of operation deteriorate due to scarce register resources

Engineering Contradiction:
Improvekey securityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Different parts of the cryptographic calculation are assigned to different execution environments based on their security requirements and computational complexity. Simple operations that don't require high security are performed in registers for performance, while operations involving the private key are performed in memory with encryption protection.

Inventive Principle:
Principle #3Local quality

3Reliability

If whole cryptographic calculations are implemented inside CPU registers, then key security is improved, but device complexity and development difficulty increase due to code refactoring requirements

Engineering Contradiction:
Improvekey securityVSAvoidsystem development difficulty
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of moving all cryptographic calculations into registers, the patent applies partial action by only moving the necessary simple calculations (computing s) into registers while leaving the complex scalar multiplication in memory. This partial approach achieves security improvement without requiring extensive code refactoring.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12425232B2Calculation method and device for elliptic curve digital signature to resist memory disclosure attacks
Publication Date: 2025.09.23 INSTITUTE OF INFORMATION ENGINEERING CHINESE ACADEMY OF SCIENCES
  • US12425232B2 patent drawing

AI summary

The invention discloses a calculation method and device for elliptic curve digital signature to resist memory disclosure attacks aiming signing private keys, which belongs to the field of cryptography technology. The method described in the invention includes the following steps. During initialization phase happened in a trusted environment, the key of symmetric cryptographic algorithm is used to encrypt the random number k1 and the private key used for signing, the scalar multiplication k1×G is calculated. At each signing phase, the plaintext data used to calculate s is calculated based on the selected signature algorithm and the value of scalar multiplication k1×G. The plaintext data used to calculate s include r or the data calculated based on r. Inside registers, s is calculated based on the above plaintext data and the ciphertext of random number k1 and the ciphertext of the private key. The signature of the message is (r, s). The invention ensures that operations executed in memory will not expose any information related to the private key and the random number because calculations involve sensitive data are executed inside registers. The invention also reduces performance overhead, improves compatibility and scalability, and has a wide range of application.