Encryption Decryption Engines Selective Key Expansion Skipping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data encryption and decryption systems in artificial reality systems face inefficiencies due to redundant key expansion operations, leading to increased computational overhead and resource expenditure, especially in scenarios with continuous data streams.
Innovation Solution
Implementing a system where encryption and decryption engines in SoCs reuse the same key for consecutive data segments with the same channel ID, opportunistically skipping key-based operations after the initial segment, thereby reducing redundant key expansion and maintaining encryption precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If key expansion operations are performed for every data segment in encryption/decryption, then encryption precision and security are maintained, but computational overhead and resource expenditure increase
Solution Approach 1:
The system performs key expansion operations in advance for the first data segment of each channel ID, storing the expanded keys in a buffer. Subsequent data segments on the same channel ID reuse these pre-computed keys without repeating the expansion process, thereby maintaining encryption precision while improving throughput.
Solution Approach 2:
The patent applies selective key expansion skipping based on local characteristics of data segments - specifically, whether they belong to the same channel ID as the previous segment. This local differentiation allows the system to maintain full key expansion for channel transitions (preserving security) while skipping expansion for continuous segments (improving throughput).
2Productivity
If key expansion operations are skipped for consecutive data segments, then throughput and resource efficiency improve, but encryption precision may be compromised
Solution Approach 1:
The system performs key expansion operations in advance for the first data segment of each channel ID, storing the expanded keys in a buffer. Subsequent data segments on the same channel ID reuse these pre-computed keys without repeating the expansion process, thereby maintaining encryption precision while improving throughput.
3Reliability
If full key expansion is performed for every data segment, then encryption security is maintained, but resource expenditure and power consumption increase
Solution Approach 1:
The patent applies selective key expansion skipping based on local characteristics of data segments - specifically, whether they belong to the same channel ID as the previous segment. This local differentiation allows the system to maintain full key expansion for channel transitions (preserving security) while skipping expansion for continuous segments (improving throughput).
4Manufacturing precision
If key-based operations are performed for every data segment, then encryption precision is maintained, but hardware infrastructure requirements increase
Solution Approach 1:
The system performs key expansion operations in advance for the first data segment of each channel ID, storing the expanded keys in a buffer. Subsequent data segments on the same channel ID reuse these pre-computed keys without repeating the expansion process, thereby maintaining encryption precision while improving throughput.
Data Source
AI summary
A system on a chip (SoC) includes a security processor configured to determine that a first channel ID describing a {source, destination} tuple for a crypto packet matches a second channel ID describing a corresponding {source, destination} tuple for a preceding crypto packet received immediately prior to the crypto packet. The SoC also includes a decryption engine configured to, responsive to the determination that the first channel ID matches the second channel ID: obtain a set of round keys applied to perform an add round key computational stage of a previous decryption datapath used to decrypt a preceding cipher text block obtained from the preceding crypto packet, and to reuse the set of round keys to perform a corresponding add round key computational stage of a current decryption datapath used to decrypt a cipher text block obtained from the crypto packet.


