Iterative Instruction Decryption Key Update Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in protecting the confidentiality and integrity of program code during execution, as errors in instruction processing can be caused by unauthorized modifications or intrusions, which are difficult to detect and address effectively.
Innovation Solution
An instruction decryption arrangement comprising an input interface, a decryption key updater, and an instruction decrypter, which iteratively updates and uses a decryption key to decrypt encrypted instructions, ensuring only correct instructions are executed and maintaining confidentiality and integrity by breaking the link between encrypted instructions and their states upon error detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If instructions are encrypted and stored in memory, then confidentiality of program code is improved, but detection of unauthorized modifications becomes more difficult
Solution Approach 1:
A decryption key updater is introduced as an intermediary component between the encrypted instructions and the decryption process. This updater dynamically modifies the decryption key based on the executed instructions, creating a chain of dependency that serves as an integrity verification mechanism. The intermediary enables both confidentiality (through encryption) and detection capability (through key validation)
Solution Approach 2:
The system implements feedback by using the decrypted instructions themselves to update the decryption key for subsequent operations. This creates a self-verifying loop where any unauthorized modification to instructions will cause the feedback mechanism to produce incorrect key updates, thereby detecting the intrusion. The feedback principle resolves the contradiction by making the system self-checking while maintaining encryption
2Ease of operation
If a static decryption key is used, then decryption process is simple, but error detection capability is reduced
Solution Approach 1:
The decryption key is transformed from a static value to a dynamic one that changes with each instruction or instruction sequence. The key updater modifies the decryption key based on the actual instructions being executed, creating a dynamic relationship between the key and the code. This dynamics enables error detection while maintaining operational simplicity through automated key management
Solution Approach 2:
The system changes the parameter of the decryption key from constant to variable. By updating the key parameter based on instruction content or execution state, the system achieves both simplicity (through automated parameter management) and reliability (through parameter variation that detects modifications). The parameter change principle allows the key to adapt while the overall process remains simple
3Reliability
If iterative key updates are implemented, then integrity protection is improved, but device complexity increases
Solution Approach 1:
The key updater functionality is merged with the decryption process itself, creating an integrated system where key management and decryption occur as a unified operation. This merging reduces overall system complexity by eliminating separate key management components while maintaining integrity protection through the combined operation of decryption and key updating
Data Source
AI summary
An instruction decryption arrangement includes an input interface configured to receive an encrypted instruction, a decryption key updater configured to output a decryption key, and an instruction decrypter including a first input connected to the input interface and a second input connected to the decryption key updater, and configured to decrypt the encrypted instruction using the decryption key and to provide a decrypted instruction. The decryption key updater is further configured to update the decryption key using at least one of the encrypted instruction and the decrypted instruction. An alternative instruction decryption arrangement includes a key stream module configured to iteratively determine a key state corresponding to a current instruction for a computing unit and an instruction decrypter configured to receive an encrypted instruction related to the current instruction and decrypt the encrypted instruction using the key state to provide a decrypted instruction.


