Elliptic Curve Signatures with Register Protection Against Memory Disclosure
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.
