Obfuscated ECC Point-Multiplication Instructions for Secure Key Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software implementations of ECC point-multiplication in public-key cryptography do not sufficiently protect secret or private information, as they are readable by potentially corrupted system-level software, compromising security, especially when dealing with valuable cryptographic keys.
Innovation Solution
The introduction of obfuscated input information in ECC point-multiplication instructions ensures that secret keys remain hidden from even the most privileged system-level software, using special instructions and hardware to perform key-locked operations, preventing exposure of cryptographically processed portions and intermediate results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional software implementations of ECC point-multiplication are used, then ease of operation is improved, but security is worsened as secret keys become accessible to corrupted system-level software
Solution Approach 1:
The patent segments the cryptographic computation into distinct phases: input obfuscation, secret key processing, and output generation. By isolating the secret key handling within the execution unit and using separate obfuscated input structures, the system protects sensitive data while maintaining operational ease through a unified instruction interface.
Solution Approach 2:
The patent introduces obfuscated input information as an intermediary between the public interface and the secret key. This obfuscated data structure acts as a mediator that allows software to initiate cryptographic operations without directly exposing the secret key, thereby maintaining both ease of operation and security.
2Reliability
If obfuscated input information is used in ECC point-multiplication, then security is improved by protecting secret keys from corrupted software, but device complexity increases due to special instructions and hardware requirements
Solution Approach 1:
The patent merges the obfuscation and de-obfuscation operations into the single ECC point-multiplication instruction itself. By combining these functions within the execution unit, the system achieves enhanced security without requiring separate dedicated obfuscation hardware modules, thereby limiting the increase in device complexity.
Solution Approach 2:
The execution unit is designed with multi-functionality, serving both as a general-purpose cryptographic processor and as a secure encl e for handling obfuscated inputs. This universal design allows the same hardware to perform both standard cryptographic operations and protected operations with obfuscated data, reducing the need for specialized complex hardware.
3Reliability
If secret keys are kept hidden in hardware, then security is improved, but ease of operation worsens as software cannot directly access or verify key information
Solution Approach 1:
The patent creates obfuscated copies of the input data that preserve the necessary cryptographic properties while hiding the actual secret key values. These obfuscated copies allow software to verify and manipulate cryptographic data without needing direct access to the original secret keys, maintaining both security and operational ease.
Solution Approach 2:
The patent transforms the representation of cryptographic parameters through obfuscation. By changing the form of the input data from plaintext to obfuscated representation, the system enables software to operate on transformed parameters that maintain cryptographic validity while preventing direct exposure of secret keys.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A processor of an aspect includes a decode unit to decode an elliptic curve cryptography (ECC) point-multiplication with obfuscated input information instruction. The ECC point-multiplication with obfuscated input information instruction is to indicate a plurality of source operands that are to store input information for an ECC point-multiplication operation. At least some of the input information that is to be stored in the plurality of source operands is to be obfuscated. An execution unit is coupled with the decode unit. The execution unit, in response to the ECC point-multiplication with obfuscated input information instruction, is to store an ECC point-multiplication result in a destination storage location that is to be indicated by the ECC point-multiplication with obfuscated input information instruction. Other processors, methods, systems, and instructions are disclosed.