Local Buffer for Encrypted Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Encrypted data processing (EDAP) designs face performance slowdowns due to the latency added by decrypting and encrypting data for each instruction, which is necessary to maintain security but increases processing time and energy consumption.
Innovation Solution
Implementing a processor with a local buffer within functional units to store cleartext data, allowing decryption and encryption to be bypassed when processing, thereby reducing the need for repeated decryption and encryption cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is decrypted and encrypted for each instruction to maintain security, then data security is improved, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-decrypting data into local buffers before it is needed for processing. The decryption operation is performed in advance and the resulting cleartext data is stored in local buffers within functional units, so that when the data is needed for execution, it is already available in decrypted form, eliminating the need for decryption at instruction execution time.
Solution Approach 2:
The patent extracts the decryption operation from the critical execution path by separating it into a preliminary step that populates local buffers. The decryption function is taken out from the instruction execution flow and performed independently in advance, allowing the main processing pipeline to operate on already-decrypted data without waiting for decryption to complete.
2Reliability
If data is decrypted and encrypted for each instruction to maintain security, then data security is improved, but energy consumption increases
Solution Approach 1:
The patent applies preliminary action by performing decryption operations in advance and storing results in local buffers, so that energy-intensive decryption is not repeated for each instruction. The one-time preliminary decryption reduces total energy consumption compared to decrypting the same data multiple times for different instructions.
Solution Approach 2:
The patent discards the encrypted form of data after preliminary decryption and recovers only the cleartext version in local buffers. Instead of maintaining and re-processing encrypted data for each instruction, the system discards the ciphertext and recovers/uses only the decrypted data that is already available in the local buffer, avoiding redundant energy consumption.
3Speed
If cleartext data is stored in local buffers to speed up processing, then processing speed is improved, but security risks increase
Solution Approach 1:
The patent applies local quality by creating a specialized secure storage region (local buffer) with different security properties than regular memory. The local buffer within each functional unit has restricted access permissions that are more stringent than general memory access, allowing faster access speeds while maintaining enhanced security through localized access control that prevents unauthorized access even if main memory is compromised.
Solution Approach 2:
The local buffer acts as an intermediary between the encrypted storage and the processing units. It serves as a secure intermediate storage that receives decrypted data from secure sources and provides it to processing units without exposing it to general memory access. This intermediary layer adds a security boundary that protects the cleartext data while enabling fast processing.
Data Source
AI summary
Aspects of the present disclosure relate to encrypted data processing (EDAP). A processor includes a register file configured to store ciphertext data, an instruction fetch and decode unit configured to fetch and decode instructions, and a functional unit configured to process the stored ciphertext data. The functional unit further includes a decryption module configured to decrypt ciphertext data from the register file to receive cleartext data using an encryption key stored within the functional unit. The functional unit further includes a local buffer configured to store the cleartext data. The functional unit further includes an arithmetic logical unit configured to generate cleartext computation results using the cleartext data The functional unit further includes an encryption module configured to encrypt the cleartext computation results to generate ciphertext computation results for storage back into the register file.


