Reverse Key Expansion for AES Decryption Memory Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Advanced Encryption Standard (AES) cryptographic scheme lacks a reverse key expansion technique for decryption, leading to high memory costs due to the need to store all generated round keys during encryption, particularly evident in AES-256 which requires 480 bytes for 15 round keys.
Innovation Solution
A reverse key expansion module is introduced to generate a second cryptographic key based on the first cryptographic key, using techniques such as exclusive-OR operations, S-box substitutions, and rotations, allowing for recursive generation of round keys during decryption without the need to store all round keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all round keys are stored in memory for decryption, then decryption can proceed correctly, but memory cost increases significantly
Solution Approach 1:
The patent inverts the conventional key expansion approach by implementing reverse key expansion. Instead of expanding the cipher key forward to generate all round keys (K0, K1, K2, ..., Kn) and storing them, the system stores only the final round key (Kn) and reverses the expansion process during decryption to regenerate previous round keys (Kn-1, Kn-2, ..., K0) as needed. This inversion eliminates the need to store all round keys simultaneously, reducing memory requirements from O(N) to O(1) while maintaining decryption correctness.
2Quantity of substance
If a reverse key expansion technique is implemented, then memory requirements are reduced, but the AES standard compliance is compromised
Solution Approach 1:
The patent modifies the key expansion parameters and operations to enable reverse expansion. Specifically, it inverts the mathematical operations: the forward expansion uses operations like SubWord, RotWord, and XOR with round constants, while the reverse expansion applies inverse operations (inverse SubWord, inverse RotWord, and XOR with inverted round constants). This parameter inversion allows the system to comply with AES security requirements while achieving memory efficiency by regenerating round keys in reverse order during decryption.
3Productivity
If conventional key expansion is used, then encryption proceeds efficiently, but decryption requires storing all generated round keys
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing only the final round key (Kn) instead of all round keys. During decryption, the system performs preliminary reverse expansion to generate the necessary previous round keys (Kn-1, Kn-2, etc.) just-in-time before they are needed for each decryption round. This approach maintains encryption efficiency while eliminating the need to store all round keys, as only the final round key is persisted and previous keys are regenerated on-demand during decryption.
Data Source
AI summary
Apparatus having corresponding methods and computer programs comprise: a key input module to receive a first cryptographic key; and a reverse key expansion module to generate a second cryptographic key based on the first cryptographic key, wherein each of the first cryptographic key and the second cryptographic key comprises a plurality of words, and wherein the reverse key expansion module comprises a first word module to generate the first word of the second cryptographic key based on the first word of the first cryptographic key and the last two words of the first cryptographic key, and a remaining word module to generate the remaining words of the second cryptographic key, the remaining word module comprising at least one word module to generate a word of the second cryptographic key based on the corresponding word, and the immediately previous word, of the first cryptographic key.


