Register Shifting for Reverse Key Expansion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing apparatuses with limited storage and resources face challenges in implementing efficient reverse key expansion for encryption and decryption processes, as they often lack sufficient storage to maintain the full key schedule, necessitating on-the-fly generation of key values.
Innovation Solution
A data processing apparatus is designed with a set of registers and data processing circuitry that operates in both forward and reverse key expansion modes, shifting values in opposite directions depending on the mode, allowing for iterative determination of a key schedule and supporting encryption and decryption processes without requiring extensive storage capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a data processing apparatus implements reverse key expansion with limited storage, then the apparatus can operate with reduced memory resources, but it cannot maintain the full key schedule in storage
Solution Approach 1:
The patent extracts only the essential components needed for key expansion (a minimal set of registers) from the full key schedule storage requirement. Instead of storing all key values, the apparatus extracts and maintains only the current and previous key values in registers, eliminating the need for large storage capacity while preserving the essential key expansion functionality.
Solution Approach 2:
The patent inverts the conventional approach by performing reverse key expansion iteratively, generating key values in reverse order from the final key back to the initial key. This inversion allows the apparatus to regenerate key values on-the-fly without storing the entire key schedule, transforming a storage-intensive problem into a computation-efficient solution.
2Device complexity
If a data processing apparatus performs iterative key schedule determination with limited resources, then the apparatus can function with simpler hardware, but it lacks sufficient storage to maintain the full key schedule
Solution Approach 1:
The patent segments the key schedule determination into iterative rounds, where each round processes a small portion of the key material. Instead of handling the entire key schedule at once, the apparatus divides the work into manageable segments that can be processed sequentially with minimal storage, simplifying the hardware requirements while maintaining full functionality.
Solution Approach 2:
The patent implements dynamic register updating where the contents of registers change iteratively through the key expansion process. The registers dynamically hold different key values at different stages of the iteration, allowing the same physical hardware to serve multiple storage purposes throughout the computation, thereby reducing the need for static storage capacity.
3Adaptability or versatility
If the apparatus shifts values in opposite directions for forward and reverse modes, then it can support both encryption and decryption, but the register configuration must be more flexible
Solution Approach 1:
The patent designs the register set to serve multiple functions: the same registers are used for both forward key expansion (encryption) and reverse key expansion (decryption). By making the register configuration universal and mode-agnostic, the apparatus achieves versatility without requiring separate dedicated registers for each mode, thus avoiding increased complexity.
Solution Approach 2:
The patent employs periodic alternation between forward and reverse modes, where the direction of value shifting is periodically inverted based on the operational mode. This periodic action allows the same hardware configuration to support both encryption and decryption by simply changing the shift direction, maintaining simplicity while achieving adaptability.
Data Source
AI summary
Data processing apparatuses and methods for performing an iterative determination of a key schedule are provided. A set of registers initially receives an input data item and data processing is then performed using the content of the set of registers as an input. The result of this data processing is then used to update a value stored in a predetermined register of the set of registers at each iterative round of the determination of the key schedule. Dependent on whether the data processing apparatus is in a reverse key expansion mode or a forwards key expansion mode determines which register in the set of registers is that predetermined register. Further, the set of registers is arranged to shift values contained in the set of registers in a direction which depends on whether the data processing apparatus is in a reverse key expansion mode or a forwards key expansion mode. The directions for the two modes are opposite to one another.


