Variable Key Length Encryption Scheduler
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encryption/decryption systems using block cipher algorithms, such as AES, require significant memory for storing round keys, which increases hardware complexity and reduces operating speed due to the need for larger memory capacity and more gates, especially when dealing with longer key lengths like 256 bits.
Innovation Solution
A key scheduler with a key storage unit, key calculating unit, and key output unit that efficiently generates and manages encryption or decryption round keys of varying lengths by using a combination of load enable circuits, registers, chain calculators, and internal select circuits to optimize key generation and storage, reducing memory requirements and improving processing speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the pre-computation method is used to generate and store round keys, then the encryption/decryption speed is improved, but the memory capacity and hardware complexity increase significantly
Solution Approach 1:
The key scheduler is divided into multiple functional units: a round key generation unit that generates round keys, a round key storage unit that stores them, and a round key output unit that provides them to the encryption/decryption unit. This segmentation allows the system to pre-compute and store only the necessary round keys in an organized manner, reducing the overall memory capacity needed while maintaining high-speed operation.
Solution Approach 2:
The system pre-generates round keys before the actual encryption or decryption operation using the key scheduler. These pre-computed round keys are stored in the round key storage unit and readily available when needed, eliminating the need for real-time key generation during encryption/decryption and thus improving processing speed without requiring excessive memory capacity.
2Speed
If the pre-computation method is used to generate and store round keys, then the encryption/decryption speed is improved, but the memory capacity required increases
Solution Approach 1:
The round key storage unit is designed to serve multiple purposes: storing round keys for different key lengths (128-bit, 192-bit, 256-bit AES) and providing them to the encryption or decryption unit as needed. This multi-functional design optimizes memory utilization, allowing the same storage resource to support various encryption modes without requiring separate memory allocations for each key length.
Solution Approach 2:
The system dynamically adjusts the number of round keys stored based on the selected key length and encryption mode. For example, 128-bit AES requires 10 round keys, 192-bit requires 12, and 256-bit requires 14. The key scheduler generates and stores only the necessary number of round keys for the current operation, optimizing memory capacity usage while maintaining the required encryption speed.
3Reliability
If longer key lengths (e.g., 256 bits) are used, then the encryption security level is improved, but the number of rounds and memory requirements increase
Solution Approach 1:
The key scheduler is designed to dynamically adapt to different key lengths and encryption modes. It can generate round keys for 128-bit, 192-bit, or 256-bit AES based on the input key provided. The system adjusts the number of rounds (10 for 128-bit, 12 for 192-bit, 14 for 256-bit) and the corresponding round key storage requirements automatically, allowing high-security 256-bit encryption without permanently increasing hardware complexity for all operations.
Solution Approach 2:
The round key storage unit allocates memory resources locally based on the specific encryption operation being performed. When 256-bit AES is selected, the system activates the necessary storage space for 14 round keys; when 128-bit AES is used, only space for 10 round keys is activated. This local quality approach ensures that high security levels are achieved when needed without permanently increasing the overall hardware complexity and memory capacity requirements.
Data Source
AI summary
A key scheduler, which may selectively generate an encryption round key and a decryption round key corresponding to an initial round key, which may have a variable key length. The key scheduler may include a key storage unit, a key calculating unit, and a key output unit. The key storage unit may receive and store calculation key data items or storage key data items as input key data items, and may output the stored input key data items as the storage key data items. The key calculating unit may output the calculation key data items as the calculation result. The key output unit may select units of the input key data items and the storage key data items in response to output control signals, and may output them as an encryption round key or a decryption round key.


